2. What is Power BI?
Connect to and visualize any data using the unified, scalable platform
for self-service and enterprise business intelligence (BI)
that’s easy to use and helps you gain deeper data insight.
Connect to and visualize any data
for self-service and enterprise business intelligence (BI)
3. What is Power BI?
Data
Preparation Analysis Visualization
Individuals Teams
Power BI Desktop Power BI Pro Power BI Mobile
Prepare & Create Collaborate & Share Access Anywhere
Why?
Who?
How?
4. Can’t I Use Excel Instead?
Quick Calculations
Reports in Tabular Format
Single Tool Only
Big Data
Interactive Visualizations
Collaboration
Excel Power BI
5. Course Outline
Getting Started Query Editor
Preparations
Data Model
Power BI Pro
Power BI Mobile
Your
Journey
Single User (Power BI Desktop) Share & Collaborate
Data Preparation &
Transformation
Data Analysis
Expressions
Relationships
Reports
Workspaces
Gateways
Apps
6. How to Get the Most Out of This Course
Watch the Videos
Follow Along Actively
Fix Errors
Be Part of the Community
Adjust the Playback Speed
Learning by Doing
Be Creative Explore Options & Create Own Projects
Apply Your Knowledge
Ask & Contribute
7. How to Use the Attached Project Files
Go to
github.com/academind/power-bi-course-resources
Click to open
drop-down
Select
current
course
module
Select “Code“
Download
module files
8. How to Use the Attached Project Files
Unzip the downloaded file
and copy the .pbix file
you‘re interested in into a
folder of your choice
Open the .pbix file
Change the source path
to the file path on
your computer*
Repeat for all
remaining files and
close the“Data source
settings“ afterwards Open the Query Editor
if required for the lecture
* All source files can be found in the “main“ branch in the “source-files“ folder
9. Diving Into the Basics
Preparations to Follow Along Conveniently
10. Module Content
Understanding the Power BI Desktop Workflow
A Closer Look at the Power BI Desktop Interface
Creating the Project File & Recommended Settings
11. The Power BI Desktop Workflow
Data Preparation
Clean &
Transform
Extract
Transform
Load
Query Editor
Query Editor
Data Model
12. The Power BI Desktop Workflow
Data Preparation
Clean &
Transform
Extract
Transform
Load
Query Editor
Data & Model View
Inspect, Explore &
Understand Data
View & Edit
Relationships
between Tables
Report View
Create Reports with
Multiple Visuals
Data Analysis
Data Visualization
Query Editor
Data Model
14. Module Content
What is the Query Editor?
Working with Queries & Editing Rows and Columns
Transformations, Formatting & Handling Errors
15. The Power BI Desktop Workflow
Data Preparation
Clean &
Transform
Extract
Transform
Load
Query Editor
Data & Model View
Inspect, Explore &
Understand Data
View & Edit
Relationships
between Tables
Report View
Create Reports with
Multiple Visuals
Data Analysis
Data Visualization
Query Editor
Data Model
16. What is “Data Cleansing“ / “Data Cleaning“?
Query
Query
Query
Query Data Clean Data Analyse / Visualize Data
Remove duplicate &
unrequired data
Combine mutiple data sources
Fix errors, missing values,
empty fields
Format data
(number, text, date, …)
17. Understanding Append
Country Revenue Cost Year
Germany
Germany
Germany
100
108
105
-20
-22
-25
2016
2017
2018
Country Revenue Cost Year
Germany
Germany
Germany
110
116
122
-24
-25
-27
2019
2020
2021
20. Transpose
First Name Second Name Age
Lorenz 34
Manu
Schwarz 32
Max
Columns
Rows
Column1 Column2 Column3
Manu Max
First Name
Lorenz Schwarz
Second Name
34 32
Age
Columns Rows
21. Pivoting & Unpivoting
Product 2019 2020 2021
Apple
Banana
10
23
12
25
13
21
Product Attribute Value
Apple
Apple
2019
2020
10
12
Apple
Banana
2021
2019
13
23
Banana
Banana
2020
2021
25
21
Attribute
Value
Unpivot
Pivot
23. Module Content
Data Modeling Theory
Understanding & Creating the Star Schema
Diving Deeper Into Selected Query Editor Features
& Understanding Basic Mathematical Calculations
24. The Current State & Next Steps
Country-id country … population
36
276
…
australia
germany
…
…
…
…
711.4
1738.8
…
Source File Connection
Row & Column Operations
Formatting data
Handling errors
Appending Queries
Filtering Data
Pivoting & Unpivoting
Splitting & Extracting Data
Basic Cleaning & Shaping
Develop &
Create Data Model
25. Data Models – What & Why?
Data Model Multidimensional Schema
Data Warehouse
Structured & logical
organization of data elements
(e.g. tables) and the relationship
between different data
elements
Model different dimensions to
keep track of entities / actions
concerning the warehouse‘s
actitivies
Large store of data retrieved
from various sources designed
to enable BI activities
product customer sales
product customer
sales
26. The Star Schema – An Example
sales
product-id
date-id
customer-id
location-id
units-sold
total-sales
total-cost
products
product-id
type
color
time
date-id
year
quarter
month
week
customers
customer-id
first-name
second-name
age
location
location-id
continent
country
city
DIM
DIM
DIM
DIM
FACT
day
gender
FACT
DIM
Foreign Keys +
Quantitative Information
Central & (Typically)
Single Table
Supporting Information
For FACT Table
(At Least) One Table
with Primary Keys
27. Applying the Star Schema to the Course Project
pop-2010-2040
country-id
country
year
age-group
gender
population
DIM-region FACT-population DIM-age
country-id
country
age-group-id
age-group
category
country-id
age-group-id
year
population
gender-id
DIM-gender
gender-id
gender
Single Table Multidimensional (Star) Schema
VS
28. Reference vs Duplicate
Query 1
Filtered Data
Changed Data Type
Reference
Query 2
Applied Steps
Query refers to
“final state” of initial
query, no applied steps
displayed
Applied Steps
Query 1
Filtered Data
Changed Data Type
Duplicate
”Copy” of Query 1
Applied Steps Applied Steps
Filtered Data
Changed Data Type
Changes in Query 1
have an effect on
Query 2
Changes in Query 1
have no effect on
Query 2
29. Merging Queries - Theory
cust-id
1
7
1
product
tv
notebook
phone
price
599
1.299
849
sales
cust-id
1
7
first
max
manu
second
schwarz
lorenz
customers
cust-id
1
7
1
product
tv
notebook
phone
price
599
1.299
849
first
max
manu
second
schwarz
lorenz
max schwarz
sales + customers merged
Equal column name
& data type
30. Understanding “Join Kind“
ID Sales
A 10
B 50
C 20
LEFT
QUERY
RIGHT
QUERY
ID Sales Region
A 10 USA
B 50 n/a
C 20 Asia
ID Region Sales
A USA 10
BB Europe n/a
C Asia 20
ID Sales Region
A 10 USA
B 50 n/a
C 20 Asia
BB n/a Europe
LEFT RIGHT
FULL
ID Region
A USA
BB Europe
C Asia
INNER
ID Sales Region
A 10 USA
C 20 Asia
LEFT
ID Sales Region
B 50 n/a
RIGHT
ID Region Sales
BB Europe n/a
OUTER
ANTI
31. Adding More DIM Tables
DIM-region FACT-population DIM-age
country-id
country
age-group-id
age-group
category
country-id
age-group-id
year
population
gender-id
DIM-gender
gender-id
gender
Multidimensional (Star) Schema
region
33. The FACT Table
DIM-region FACT-population DIM-age
country-id
country
age-id
age-group
age-max
country-id
age-id
year
population
gender-id
DIM-gender
gender-id
gender
Multidimensional (Star) Schema
region
Quantitative Information
Foreign Keys to combine
quantitative data
with descriptive data
from DIM tables
Missing link between tables
to be added outside the
Query Editor in the “Data
Model“ module
category
37. The Power BI Desktop Workflow
Data Preparation
Clean &
Transform
Extract
Transform
Load
Query Editor
Query Editor
Data Model
38. The Power BI Desktop Workflow
Data Preparation
Clean &
Transform
Extract
Transform
Load
Query Editor
Data & Model View
Inspect, Explore &
Understand Data
View & Edit
Relationships
between Tables
Report View
Create Reports with
Multiple Visuals
Data Analysis
Data Visualization
Query Editor
Data Model
39. Query Editor vs Data Model
(Power) Query Editor
Data Model
Prepare / Transform Data
Analyze Data
Relationships
Calculations
Calculations can be applied in both the
Query Editor and the Data Model
40. Relationships to the Rescue!
DIM-country
DIM-age
DIM-gender
ID ID
ID
FACT-population
ID ID ID
42. Different Kinds Of Data Relationships
One-to-Many
(1:n)
Many-to-Many
(n:n)
One-to-One
(1:1)
One record in table A has
one or many related records
in table B
e.g. an employee belongs to
one company but a
company has many
employees
e.g. an employee is part of
multiple projects and every
project has multiple
employees assigned to it
One record in table A has
one or many related tables
in table B – and vice versa
e.g. an employee has exactly
one intranet account and
every intranet account
belongs to exactly one
employee
One record in table A
belongs to exactly one
record in table B – and vice
versa
43. One to Many (1:*)
employees
companies
id company-id first-name
1 3 Max
2 1 Manu
3 1 Sarah
id name …
1 Apple …
2 Microsoft …
3 Amazon …
“One”: Unique entry for primary key
”Many”: One or multiple entries for foreign key
1:*
44. One to One (1:1)
accounts
employees
id employee-id created
1 1 01.02.2008
2 2 27.08.1999
3 3 16.11.2018
id first-name …
1 Max …
2 Manuel …
3 Sarah …
“One”: Unique entry for primary key
”One”: Unique entry for foreign key
1:1
45. Many-To-Many Relations Need Intermediate Tables
employees projects
id first-name …
1 Max …
2 Manu …
3 Julie …
id title …
1 Learn Power BI …
2 Query Data …
3 Create Visual …
One employee can be assigned to many projects and one
project may be handled by multiple employees
n:n
Direct
“connection” (via
foreign keys in
“employees” or
“projects”) is not
possible
46. Many-To-Many Relations Need Intermediate Tables
employees projects
id first-name …
1 Max …
2 Manu …
3 Julie …
id title …
1 Learn Power BI …
2 Query Data …
3 Create Visual …
One employee can be assigned to many projects and one
project may be handled by multiple employees
n:n
projects-employees
An “intermediate
table” is created and
used to store the
relations between
“employees” and
“projects”
id employee-id project-id
1 2 1
One row per relation
between the two
“main tables”
2 3 1
49. M vs DAX (Data Analysis Expressions)
Description Application
M
DAX
Power Query Formula
Language
Data Transformation
Data Preparation
Before Data Model
Data Analysis Expression
Language
Analytical Data Calculations
Comparable to Excel
Functions
Create Insights
In Data Model
50. DAX Basics
DAX Reference
Syntax
Data Types
Operators
Functions
DAX Statements
https://docs.microsoft.com/en-us/dax/
Formula = …
String Number
CONCATENATE()
…
+ - …
DEFINE EVALUATE ORDER BY VAR
DAX Queries
Basics
Advanced
51. The Core DAX Syntax
Total Population = ( PopulationCount ] )
Formula Name
• Capital Letters
• Space
DAX Function
Table Reference
• Capital Letters
• No Space
Column Reference
• Square Brackets
• Capital Letters
• No Space
With space in table names, single
quotes are required
SUM FactPopulation [
52. DAX Data Types
Whole & Decimal Numbers
Boolean
String (Text)
Date/Time
Currency
Blank (NA)
“The DAX Basics“
564 949.59
TRUE FALSE
January 1st 2020
54. DAX Core Functions
Text
Logical
Information
Math
Statistical
Date & Time
Filter
CONCATENATE(“I Love Power”,”BI”) I Love PowerBI
ISNUMBER(2020) TRUE
IF([Population]>100000,“Big“,“Small“) Big Small
ROUND(352.867, 2) 352.87
AVERAGE(Fact-Pop[Population])
FILTER(Fact-Pop[Year]=2020)
CALENDAR(DATE(2000,01,01),DATE(2020,12,31))
Type Function Output
55. Calculated Column or Measure?
Calculated
Column
Measure
“Perform an operation that generates
results for each row of your table“
“Return a single result of a calculation or
an aggregated value (e.g. Averages)“
60. A (Final) Look at the Power BI Desktop Workflow
Data Preparation
Clean &
Transform
Extract
Transform
Load
Query Editor
Data & Model View
Inspect, Explore &
Understand Data
View & Edit
Relationships
between Tables
Report View
Create Reports with
Multiple Visuals
Data Analysis
Data Visualization
Query Editor
Data Model
63. Module Content
Understanding the Relationship between Power BI Desktop
& Power BI Pro
Diving Into Workspaces to Collobarate on Projects
Sharing Data between Power BI Desktop, Power BI Pro &
Power BI Mobile
64. The Next Steps
IT
Marketing
Organization
Single User
Power BI Desktop
STOP Power BI Pro
Power BI Mobile
Publish
Access
Power BI Desktop
Power BI Pro
Power BI Mobile
Publish
Share
Power BI Pro
65. Publishing From PBI Desktop to PBI Pro
Power BI Desktop
Our Computer
Publish/Connect
Power BI Pro
Report + Dataset
Server
Personal Gateway Standard Gateway
Power BI Pro
66. Sharing
Workspaces, Apps & Content Packs
Power BI Pro
My (“Your“) Workspace
Datasets
Reports
Dashboard
“Other“ Workspaces
Dataset
Report
Dashboard
Dataset
Report
Dashboard
“Your personal cloud workspace“ “Company-wide collaboration workspace“
App
Sharing
Content Pack
67. Sharing Data: Workspace or App?
Workspace
App
Multiple Developers
End-User
My Workspace Single Developer