1
Analyzing Data with Microsoft Power BI
and Power Pivot for Excel
Alberto Ferrari and Marco Russo
2
PUBLISHED BY
Microsoft Press
A division of Microsoft Corporation
One Microsoft Way
Redmond, Washington 98052-6399
Copyright © 2017 by Alberto Ferrari and Marco Russo.
All rights reserved. No part of the contents of this book may be reproduced
or transmitted in any form or by any means without the written permission
of the publisher.
Library of Congress Control Number: 2016931116
ISBN: 978-1-5093-0276-5
Printed and bound in the United States of America.
First Printing
Microsoft Press books are available through booksellers and distributors
worldwide. If you need support related to this book, email Microsoft Press
Support at mspinput@microsoft.com. Please tell us what you think of this
book at https://aka.ms/tellpress.
This book is provided “as-is” and expresses the author’s views and opinions.
The views, opinions and information expressed in this book, including URL
and other Internet website references, may change without notice.
3
Some examples depicted herein are provided for illustration only and are
fictitious. No real association or connection is intended or should be
inferred.
Microsoft and the trademarks listed at https://www.microsoft.com on the
“Trademarks” webpage are trademarks of the Microsoft group of
companies. All other marks are property of their respective owners.
Acquisitions Editor: Devon Musgrave
Editorial Production: Polymath Publishing
Technical Reviewer: Ed Price
Copy Editor: Kate Shoup
Layout Services: Shawn Morningstar
Indexing Services: Kelly Talbot Editing Services
Proofreading Services: Corina Lebegioara
Cover: Twist Creative • Seattle
4
Contents at a glance
Introduction
Chapter 1 Introduction to data modeling
Chapter 2 Using header/detail tables
Chapter 3 Using multiple fact tables
Chapter 4 Working with date and time
Chapter 5 Tracking historical attributes
Chapter 6 Using snapshots
Chapter 7 Analyzing date and time intervals
Chapter 8 Many-to-many relationships
Chapter 9 Working with different granularity
Chapter 10 Segmentation data models
Chapter 11 Working with multiple currencies
Appendix A Data modeling 101
Index
5
Contents
Introduction
Who this book is for
Assumptions about you
Organization of this book
Conventions
About the companion content
Acknowledgments
Errata and book support
We want to hear from you
Stay in touch
Chapter 1. Introduction to data modeling
Working with a single table
Introducing the data model
Introducing star schemas
Understanding the importance of naming objects
Conclusions
Chapter 2. Using header/detail tables
6
Introducing header/detail
Aggregating values from the header
Flattening header/detail
Conclusions
Chapter 3. Using multiple fact tables
Using denormalized fact tables
Filtering across dimensions
Understanding model ambiguity
Using orders and invoices
Calculating the total invoiced for the customer
Calculating the number of invoices that include the given
order of the given customer
Calculating the amount of the order, if invoiced
Conclusions
Chapter 4. Working with date and time
Creating a date dimension
Understanding automatic time dimensions
Automatic time grouping in Excel
Automatic time grouping in Power BI Desktop
7
Using multiple date dimensions
Handling date and time
Time-intelligence calculations
Handling fiscal calendars
Computing with working days
Working days in a single country or region
Working with multiple countries or regions
Handling special periods of the year
Using non-overlapping periods
Periods relative to today
Using overlapping periods
Working with weekly calendars
Conclusions
Chapter 5. Tracking historical attributes
Introducing slowly changing dimensions
Using slowly changing dimensions
Loading slowly changing dimensions
Fixing granularity in the dimension
Fixing granularity in the fact table
8