Introduction |
|
1 | (6) |
|
|
2 | (1) |
|
|
3 | (1) |
|
|
4 | (1) |
|
|
5 | (2) |
Part 1: Put Your BI Thinking Caps On |
|
7 | (58) |
|
Chapter 1 A Crash Course in Data Analytics Terms: Power BI Style |
|
|
9 | (14) |
|
|
10 | (2) |
|
Working with structured data |
|
|
10 | (1) |
|
Looking at unstructured data |
|
|
11 | (1) |
|
Adding semistructured data to the mix |
|
|
11 | (1) |
|
Looking Under the Power BI Hood |
|
|
12 | (3) |
|
Posing questions with Power Query |
|
|
13 | (1) |
|
Modeling with Power Pivot |
|
|
14 | (1) |
|
Visualizing with Power View |
|
|
14 | (1) |
|
Mapping data with Power Map |
|
|
14 | (1) |
|
Interpreting data with Power Q&A |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
15 | (1) |
|
Knowing Your Power BI Terminology |
|
|
15 | (6) |
|
|
16 | (1) |
|
|
16 | (2) |
|
|
18 | (1) |
|
|
19 | (1) |
|
|
20 | (1) |
|
Business Intelligence (BI): The Definition |
|
|
21 | (2) |
|
Chapter 2 The Who, How, and What of Power BI |
|
|
23 | (10) |
|
Highlighting the Who of Power BI |
|
|
24 | (3) |
|
|
24 | (1) |
|
|
24 | (1) |
|
|
25 | (1) |
|
|
26 | (1) |
|
|
26 | (1) |
|
Understanding How Data Comes to Life |
|
|
27 | (4) |
|
|
27 | (1) |
|
|
28 | (1) |
|
|
29 | (1) |
|
|
30 | (1) |
|
|
30 | (1) |
|
Examining the Various Types of Data Analytics |
|
|
31 | (1) |
|
Taking a Look at the Big Picture |
|
|
32 | (1) |
|
Chapter 3 Oh, the Choices: Power BI Versions |
|
|
33 | (14) |
|
Why Power BI versus Excel? |
|
|
33 | (2) |
|
Power BI Products in a Nutshell |
|
|
35 | (3) |
|
Introducing the Power BI license options |
|
|
35 | (1) |
|
Looking at Desktop versus Services options |
|
|
36 | (2) |
|
Stacking Power BI Desktop against Power BI Free |
|
|
38 | (1) |
|
Examining the Details of the Licensing Options |
|
|
38 | (6) |
|
Seeing how content and collaboration drive licensing |
|
|
39 | (1) |
|
Starting with Power BI Desktop |
|
|
40 | (1) |
|
Adding a Power BI Free license |
|
|
41 | (1) |
|
Upgrading to a Power BI Pro license |
|
|
42 | (1) |
|
Going all in with a Power BI Premium license |
|
|
43 | (1) |
|
On the Road with Power BI Mobile |
|
|
44 | (1) |
|
Working with Power BI Report Server |
|
|
45 | (1) |
|
Linking Power BI and Azure |
|
|
46 | (1) |
|
Chapter 4 Power BI: The Highlights |
|
|
47 | (18) |
|
Power BI Desktop: A Top-Down View |
|
|
47 | (8) |
|
|
49 | (1) |
|
|
49 | (3) |
|
|
52 | (1) |
|
|
53 | (1) |
|
Creating and publishing items |
|
|
54 | (1) |
|
|
55 | (12) |
|
Viewing and editing reports |
|
|
56 | (4) |
|
|
60 | (1) |
|
Collaborating inside Power BI Services |
|
|
61 | (1) |
|
|
62 | (3) |
Part 2: It's Time To Have A Data Party |
|
65 | (62) |
|
Chapter 5 Preparing Data Sources |
|
|
67 | (18) |
|
Getting Data from the Source |
|
|
67 | (5) |
|
Managing Data Source Settings |
|
|
72 | (1) |
|
Working with Shared versus Local Datasets |
|
|
73 | (3) |
|
|
76 | (1) |
|
|
77 | (1) |
|
|
77 | (4) |
|
Addressing and correcting performance |
|
|
79 | (1) |
|
|
80 | (1) |
|
Exporting Power BI Desktop Files and Leveraging XMLA |
|
|
81 | (4) |
|
Chapter 6 Getting Data from Dynamic Sources |
|
|
85 | (18) |
|
Getting Data from Microsoft-Based File Systems |
|
|
86 | (1) |
|
Working with Relational Data Sources |
|
|
87 | (5) |
|
Importing data from a relational data source |
|
|
89 | (2) |
|
|
91 | (1) |
|
Importing Data from a Nonrelational Data Source |
|
|
92 | (1) |
|
Importing JSON File Data into Power BI |
|
|
93 | (2) |
|
Importing Data from Online Sources |
|
|
95 | (2) |
|
Creating Data Source Combos |
|
|
97 | (2) |
|
Connecting and importing data from Azure Analysis Services |
|
|
98 | (1) |
|
Accessing data with Connect Live |
|
|
99 | (1) |
|
Dealing with Modes for Dynamic Data |
|
|
99 | (1) |
|
Fixing Data Import Errors |
|
|
100 | (3) |
|
|
100 | (1) |
|
"The data format is not valid" |
|
|
101 | (1) |
|
"Uh-oh - missing data files" |
|
|
101 | (1) |
|
"Transformation isn't always perfect" |
|
|
102 | (1) |
|
Chapter 7 Cleansing, Transforming, and Loading Your Data |
|
|
103 | (24) |
|
Engaging Your Detective Skills to Hunt Down Anomalies and Inconsistencies |
|
|
104 | (3) |
|
Checking those data structures and column properties |
|
|
105 | (1) |
|
Finding a little help from data statistics |
|
|
106 | (1) |
|
Stepping through the Data Lifecycle |
|
|
107 | (4) |
|
Resolving inconsistencies |
|
|
108 | (3) |
|
Evaluating and Transforming Column Data Types |
|
|
111 | (10) |
|
Finding and creating appropriate keys for joins |
|
|
111 | (2) |
|
Shaping your column data to meet Power Query requirements |
|
|
113 | (2) |
|
|
115 | (6) |
|
Tweaking Power Query's M Code |
|
|
121 | (2) |
|
Configuring Queries for Data Loading |
|
|
123 | (2) |
|
Resolving Errors During Data Import |
|
|
125 | (2) |
Part 3: The Art And Science Of Power BI |
|
127 | (120) |
|
Chapter 8 Crafting the Data Model |
|
|
129 | (16) |
|
An Introduction to Data Models |
|
|
129 | (10) |
|
Working with data schemas |
|
|
130 | (4) |
|
Storing values with measures |
|
|
134 | (2) |
|
Working with dimensions and fact tables (yet again) |
|
|
136 | (1) |
|
|
137 | (2) |
|
Dealing with Table and Column Properties |
|
|
139 | (2) |
|
Managing Cardinality and Direction |
|
|
141 | (3) |
|
|
142 | (1) |
|
|
142 | (2) |
|
|
144 | (1) |
|
Chapter 9 Designing and Deploying Data Models |
|
|
145 | (22) |
|
Creating a Data Model Masterpiece |
|
|
145 | (14) |
|
Working with Data view and Modeling view |
|
|
146 | (3) |
|
|
149 | (1) |
|
|
150 | (1) |
|
Handling formatting and data type properties |
|
|
151 | (2) |
|
|
153 | (5) |
|
Adding and modifying data to imported, DirectQuery, and composite models |
|
|
158 | (1) |
|
|
159 | (3) |
|
Creating automatic relationships |
|
|
159 | (1) |
|
Creating manual relationships |
|
|
160 | (1) |
|
|
160 | (1) |
|
Classifying and codifying data in tables |
|
|
161 | (1) |
|
|
162 | (2) |
|
Sorting by and grouping by |
|
|
162 | (1) |
|
|
162 | (2) |
|
Working with Extended Data Models |
|
|
164 | (2) |
|
Knowing the calculation types |
|
|
164 | (1) |
|
Working with column contents and joins |
|
|
165 | (1) |
|
|
166 | (1) |
|
Chapter 10 Perfecting the Data Model |
|
|
167 | (16) |
|
Matching Queries with Capacity |
|
|
168 | (15) |
|
Deleting unnecessary columns and rows |
|
|
168 | (1) |
|
Swapping numeric columns with measures and variables |
|
|
169 | (1) |
|
|
170 | (2) |
|
|
172 | (1) |
|
Converting to a composite model |
|
|
173 | (1) |
|
Creating and managing aggregations |
|
|
174 | (9) |
|
Chapter 11 Visualizing Data |
|
|
183 | (30) |
|
Looking at Report Fundamentals and Visualizations |
|
|
183 | (22) |
|
|
184 | (1) |
|
|
185 | (1) |
|
|
185 | (3) |
|
Working with Bar charts and Column charts |
|
|
188 | (5) |
|
Using basic Line charts and Area charts |
|
|
193 | (1) |
|
Combining Line charts and Bar charts |
|
|
193 | (2) |
|
Working with Ribbon charts |
|
|
195 | (1) |
|
Going with the flow with Waterfall charts |
|
|
195 | (2) |
|
Funneling with Funnel charts |
|
|
197 | (1) |
|
Scattering with Scatter charts |
|
|
198 | (1) |
|
Salivating with Pie charts and Donut charts |
|
|
198 | (1) |
|
Branching out with treemaps |
|
|
199 | (1) |
|
|
200 | (1) |
|
Indicating with indicators |
|
|
201 | (4) |
|
Dealing with Table-Based and Complex Visualizations |
|
|
205 | (3) |
|
|
205 | (1) |
|
Tabling with table visualizations |
|
|
205 | (1) |
|
Combing through data with matrices |
|
|
206 | (1) |
|
Decomposing with decomposition trees |
|
|
206 | (1) |
|
Zooming in on key influencers |
|
|
207 | (1) |
|
|
208 | (2) |
|
|
210 | (3) |
|
Chapter 12 Pumping Out Reports |
|
|
213 | (20) |
|
Formatting and Configuring Report Visualizations |
|
|
213 | (8) |
|
Working with basic visualization configurations |
|
|
215 | (5) |
|
Applying conditional formatting |
|
|
220 | (1) |
|
|
221 | (2) |
|
Configuring the Report Page |
|
|
223 | (1) |
|
|
224 | (9) |
|
|
225 | (1) |
|
|
226 | (2) |
|
|
228 | (1) |
|
Perfecting reports for distribution |
|
|
229 | (4) |
|
Chapter 13 Diving into Dashboarding |
|
|
233 | (14) |
|
|
234 | (1) |
|
|
234 | (2) |
|
Enriching Your Dashboard with Content |
|
|
236 | (2) |
|
|
238 | (2) |
|
|
240 | (1) |
|
Working with Dashboard Layouts |
|
|
241 | (2) |
|
|
243 | (1) |
|
|
244 | (3) |
Part 4: Oh, No! There's A Power BI Programming Language! |
|
247 | (78) |
|
Chapter 14 Digging Into DAX |
|
|
249 | (16) |
|
|
249 | (9) |
|
Peeking under the DAX hood |
|
|
250 | (3) |
|
Working with calculations |
|
|
253 | (5) |
|
|
258 | (2) |
|
|
260 | (3) |
|
|
262 | (1) |
|
|
262 | (1) |
|
|
263 | (1) |
|
|
263 | (2) |
|
Chapter 15 Fun with DAX Functions |
|
|
265 | (24) |
|
Working with DAX Parameters and Naming Conventions |
|
|
265 | (2) |
|
Prefixing parameter names |
|
|
266 | (1) |
|
|
267 | (1) |
|
Using Formulas and Functions |
|
|
267 | (22) |
|
|
268 | (1) |
|
|
269 | (2) |
|
|
271 | (1) |
|
|
271 | (3) |
|
|
274 | (2) |
|
|
276 | (1) |
|
Mathematical and trigonometric functions |
|
|
277 | (2) |
|
|
279 | (1) |
|
|
279 | (1) |
|
|
280 | (1) |
|
|
280 | (3) |
|
Table manipulation functions |
|
|
283 | (2) |
|
|
285 | (1) |
|
Time intelligence functions |
|
|
286 | (3) |
|
Chapter 16 Digging Deeper into DAX |
|
|
289 | (16) |
|
|
289 | (1) |
|
|
290 | (7) |
|
Understanding DAX formulas in depth |
|
|
290 | (1) |
|
Extending formulas with measures |
|
|
290 | (6) |
|
Comparing measures and columns |
|
|
296 | (1) |
|
|
296 | (1) |
|
The syntax of an expression |
|
|
297 | (1) |
|
Best Practices for DAX Coding and Debugging in Power BI |
|
|
297 | (8) |
|
Using error functions properly |
|
|
298 | (1) |
|
Avoiding converting blanks to values |
|
|
298 | (2) |
|
Knowing the difference between operators and functions |
|
|
300 | (1) |
|
|
301 | (1) |
|
|
302 | (1) |
|
|
303 | (1) |
|
Keeping up with the context |
|
|
303 | (1) |
|
Preferring measures over columns |
|
|
303 | (1) |
|
Seeing that structure matters |
|
|
304 | (1) |
|
Chapter 17 Sharing and the Power BI Workspace |
|
|
305 | (20) |
|
Working Together in a Workspace |
|
|
305 | (8) |
|
Defining the types of workspaces |
|
|
306 | (2) |
|
Figuring out the nuts and bolts of workspaces |
|
|
308 | (5) |
|
Creating and Configuring Apps |
|
|
313 | (1) |
|
|
314 | (4) |
|
|
316 | (1) |
|
Benefiting from Quick Insights |
|
|
316 | (1) |
|
Using Usage Metric reports |
|
|
317 | (1) |
|
Working with paginated reports |
|
|
318 | (1) |
|
Troubleshooting the Use of Data Lineage |
|
|
318 | (3) |
|
Datasets, Dataflows, and Lineage |
|
|
321 | (1) |
|
|
322 | (3) |
Part 5: Enhancing Your Power BI Experience |
|
325 | (42) |
|
Chapter 18 Making Your Data Shine |
|
|
327 | (16) |
|
|
327 | (4) |
|
Rolling out the scheduled refresh |
|
|
328 | (1) |
|
Refreshing on-premises data |
|
|
329 | (2) |
|
Protecting the Data Fortress |
|
|
331 | (3) |
|
Configuring for group membership |
|
|
331 | (2) |
|
Making role assignments in Power BI Services |
|
|
333 | (1) |
|
|
334 | (1) |
|
Refreshing Data in Baby Steps |
|
|
335 | (4) |
|
Creating RangeStart and RangeEnd parameters |
|
|
335 | (1) |
|
Filtering by RangeStart and RangeEnd |
|
|
336 | (2) |
|
Establishing the Incremental Refresh policy |
|
|
338 | (1) |
|
|
339 | (2) |
|
|
341 | (2) |
|
Chapter 19 Extending the Power BI Experience |
|
|
343 | (24) |
|
Linking Power Platform and Power BI |
|
|
343 | (1) |
|
Powering Up with Power Apps |
|
|
344 | (7) |
|
Creating Power App visuals with Power BI |
|
|
346 | (4) |
|
Acknowledging the limitations of Power Apps/Power BI integration |
|
|
350 | (1) |
|
Introducing the Power BI Mobile app |
|
|
350 | (1) |
|
Integrating OneDrive and Power BI |
|
|
351 | (3) |
|
Collaboration, SharePoint, and Power BI |
|
|
354 | (4) |
|
Differentiating between the classic and modern SharePoint experience |
|
|
354 | (1) |
|
Integrating Power BI into SharePoint 365 |
|
|
355 | (1) |
|
Viewing Power BI reports in SharePoint |
|
|
356 | (2) |
|
Automating Workflows with Power BI |
|
|
358 | (6) |
|
Configuring prebuilt workflows for Power BI |
|
|
359 | (3) |
|
Using the Power Automate Visual with Power BI |
|
|
362 | (2) |
|
Unleashing Dynamics 365 for Data Analytics |
|
|
364 | (3) |
Part 6: The Part Of Tens |
|
367 | (22) |
|
Chapter 20 Ten Ways to Optimize DAX Using Power BI |
|
|
369 | (10) |
|
|
369 | (1) |
|
|
370 | (1) |
|
Keeping the Structure Simple (KISS) |
|
|
371 | (1) |
|
Staying Clear of Certain Functions |
|
|
372 | (1) |
|
Making Your Measures Meaningful |
|
|
373 | (1) |
|
|
374 | (1) |
|
Transforming Data Purposefully |
|
|
374 | (1) |
|
Playing Hide-and-Seek with Your Columns |
|
|
375 | (1) |
|
Using All Those Fabulous Functions |
|
|
376 | (1) |
|
|
376 | (3) |
|
Chapter 21 Ten Ways to Make Compelling Reports Accessible and User-Friendly |
|
|
379 | (10) |
|
|
380 | (1) |
|
Having a Screen Reader As Your Companion |
|
|
380 | (1) |
|
Standing Out with Contrast |
|
|
380 | (1) |
|
Recognizing Size Matters (with Focus Mode) |
|
|
381 | (1) |
|
Switching between Data Tables and Visualizations |
|
|
382 | (1) |
|
A Little Extra Text Goes a Long Way |
|
|
383 | (1) |
|
Setting Rank and Tab Order |
|
|
384 | (1) |
|
It's All About Titles and Labels |
|
|
384 | (2) |
|
|
386 | (1) |
|
|
387 | (2) |
Index |
|
389 | |