Up & Running With
Up & Running With
COURSE STRUCTURE
This is a project-based course designed for students looking for a practical, hands-on, and
highly engaging approach to learning Power BI Desktop for business intelligence
Downloadable PDF eBook (200+ pages) containing all course slides, assignments
and reference materials
Complete Bonus Project to test your abilities and apply the skills developed
throughout the course to a brand-new data set
COURSE OUTLINE
THE You’ve just been hired as a Business Intelligence Analyst by AdventureWorks*, a global
SITUATION manufacturing company that produces cycling equipment and accessories
The management team needs a way to track KPIs (sales, revenue, profit, returns), compare
THE regional performance, analyze product-level trends, and identify high-value customers.
BRIEF All you’ve been given is a folder of raw csv files, which contain information about
transactions, returns, products, customers, and sales territories.
*This data is provided by Microsoft for informational purposes only as an aid to illustrate a concept. These samples are provided “as is” without warranty of any kind. The example companies, organizations, products, domain names, e-
mail addresses, people, places, and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, person, place, or event is intended or should be inferred.
SETTING EXPECTATIONS
1 What you see on your screen may not always match mine
• Power BI Desktop features are updated frequently, with new versions released each month
• NOTE: Power BI is currently only compatible with PC/Windows (not available for Mac)
In this section we’ll introduce Power BI Desktop, review the download and installation
process, adjust default settings, and explore the Power BI interface and workflow
EXCEL POWER BI
1) Download from Microsoft store 2) Download manually from web 3) Install as part of Microsoft 365
apps.microsoft.com powerbi.microsoft.com/downloads microsoft.com/en-us/microsoft-365
Select all available preview features by default Make sure the following options are NOT selected: Select “English (United States)” from the
(these change with each monthly release) • Update or delete relationships when refreshing data dropdown menu (this will align with the data
• Autodetect new relationships after data is loaded in course project files)
• Time Intelligence > Auto date/time
Update Screenshot
The Microsoft Power BI blog The Microsoft Power BI YouTube Power BI User Groups (Power BIUG)
(powerbi.microsoft.com/blog) Channel publishes demos, feature are communities of users, which
publishes monthly summaries summaries, and advanced tutorials include both local meet-ups and helpful
to showcase new features (check out “Guy in a Cube” too!) online forums (pbiusergroup.com)
MONTHLY UPDATES
Power BI is updated monthly, so you may notice ongoing changes to settings, options, tools, etc.
Reference the links below to stay up-to-date on product updates and new feature releases:
Power BI Desktop
https://docs.microsoft.com/en-us/power-bi/fundamentals/desktop-latest-update
Power BI Service
https://docs.microsoft.com/en-us/power-bi/fundamentals/service-whats-new
Power Platform
https://learn.microsoft.com/en-us/dynamics365/release-plans/
CONNECTING & SHAPING DATA
CONNECTING & SHAPING DATA
In this section we’ll connect to source files and cover some of the most common techniques
for extracting, cleaning, and shaping data to prepare it for modeling and analysis
• Explore Power BI’s query editor and understand the role that
Intro to Power Query Data Connectors Power Query plays in the larger BI workflow
BACK-END FRONT-END
• Connect & extract data using pre-built connectors • Build data models by creating table relationships
between primary and foreign keys
• Profile & QA the data to explore, clean and prepare it
for modeling and analysis • Add calculated measures & columns using Data
Analysis Expressions (DAX)
• Transform & shape tables to add new features, modify
values, group records, or sort and filter columns • Design reports to visualize the data and create
interactive, dynamic dashboards
• Merge or append queries to join and combine them
prior to loading to the front-end • Publish & share your Power BI workbooks using
Power BI Service (cloud application)
• Perform advanced transformations using custom M
code (out of scope for this course)
TYPES OF DATA CONNECTORS
Queries Pane
(list of all queries) Applied Steps
(like a macro)
Table Preview
*In older versions of Power BI, the Transform Data option may be named “Edit Queries”
QUERY EDITING TOOLS
The HOME tab includes general settings and common table transformation tools
The TRANSFORM tab includes tools to modify existing columns (splitting/grouping, transposing, extracting text, etc.)
The ADD COLUMN tools create new columns (based on conditional rules, text operations, calculations, dates, etc.)
BASIC TABLE TRANSFORMATIONS
Sort values (A-Z, Low-High, etc.) Change data type (date, $, %, text, etc.)
Promote
headers
Duplicate, move or
rename columns
Choose or remove columns
Tip: Right-click column headers
Tip: use the “Remove Other Columns” to access common tools
option if you always want a specific set
Key Objectives
NEW MESSAGE
1. Create queries to connect to the two new .csv files
From: Ethan T. Langer (Analytics Manager) 2. Name your queries Product Category Lookup and Product
Subject: Welcome aboard! Subcategory Lookup
Solution Preview
NEW MESSAGE
Thanks!
-ETL
Power Query can connect to data from various database sources including SQL Server, MS Access, MySQL,
PostgreSQL, Oracle, SAP, and more
Power Query includes a native Web connector for importing web-hosted files (csv, xlsx, etc.) or scraping
URLs for anything that Power Query can identify as a structured table
https://en.wikipedia.org/wiki/List_of_asset_management_firms
TEXT TOOLS
HEY THIS IS IMPORTANT! Format a text column to upper, lower or proper case,
You can access many tools from both the Transform and or add a prefix or suffix
Add Column menus - the difference is whether you want to Tip: Use “Trim” to eliminate leading & trailing spaces, or
ADD a new column or OVERWRITE an existing one “Clean” to remove non-printable characters
ASSIGNMENT: TEXT TOOLS
Key Objectives
NEW MESSAGE
1. Duplicate the email address column and name it
From: Ethan T. Langer (Analytics Manager) “Domain Name”
Subject: Customer domains 2. In the new column, remove all text/characters except
for the domain name
Hi! 3. Use transformation steps to clean up and capitalize the
We’re looking to better understand where our customers may be domain names (i.e. “Adventure Works”)
coming from, based on their email domains.
4. Save & Apply changes
Could you please create a new column in the customer table that
will allow us do this?
Thanks!
-ETL
SOLUTION: TEXT TOOLS
Solution Preview
NEW MESSAGE
Hi!
Could you please create a new column in the customer table that
will allow us do this?
Thanks!
-ETL
NUMERICAL TOOLS
Key Objectives
NEW MESSAGE
1. What is our average product cost?
From: Ethan T. Langer (Analytics Manager) 2. How many colors do we sell our products in?
Subject: Need some stats for leadership
3. How many distinct customers do we have?
Thank you!
-ETL
SOLUTION: NUMERICAL TOOLS
Solution Preview
NEW MESSAGE
1. What is our average product cost? ($413.66)
From: Ethan T. Langer (Analytics Manager) 2. How many colors do we sell our products in? (10)
Subject: Need some stats for leadership
3. How many distinct customers do we have? (18,148)
Thank you!
-ETL
DATE & TIME TOOLS
Date & Time tools are relatively straight-forward, and include the following options:
• Age: Difference between the current date and the date in each row
• Earliest/Latest: Evaluates the earliest or latest date from a column as a single value (can
only be accessed from the “Transform” menu)
Note: You will almost always want to perform these operations from the “Add Column” menu to build out new fields,
rather than transforming an individual date/time column
PRO TIP: Load up a table containing a single date column and use Date tools to build out an entire calendar table
CREATING A CALENDAR TABLE
Key Objectives
NEW MESSAGE
Add the following columns to the calendar table:
From: Ethan T. Langer (Analytics Manager) 1. Month Name (e.g. “January”)
Subject: New date fields
2. Month Number (e.g. “1”)
We need to add a few fields to our calendar table to help us 4. Year (e.g. “2020”)
analyze sales trending over time.
Could you please add the following columns when you get a
chance?
Thanks!
-ETL
SOLUTION: CALENDAR TABLES
Solution Preview
NEW MESSAGE
Hi,
Could you please add the following columns when you get a
chance?
Thanks!
-ETL
INDEX COLUMNS
NOTE: Any fields not specified in the Group By settings are lost
GROUPING & AGGREGATING
This time we’re transforming the daily, transaction-level table into a summary of Total
Quantity grouped by both Product Key and Customer Key (using the “Advanced” option)
NOTE: This is like creating a PivotTable in Excel and pulling in Sum of Order Quantity with
Product Key and Customer Key as row labels
PIVOTING & UNPIVOTING
Pivoting describes the process of turning distinct row values into columns, and unpivoting describes
the process of turning distinct columns into rows
In this case we’re merging the Sales Data table with the Product
Lookup table, which share a common Product Key column
PRO TIP: Use the Folder option (Get Data > More > Folder) to append all files within a specified folder (assuming
they share the same structure); as you add new files, simply refresh the query and they will automatically append!
PRO TIP: APPENDING FILES FROM A FOLDER
DATA SOURCE SETTINGS
Data Source Settings allow you to manage existing data connections, file paths and permissions
Use parameters to dynamically manage and update connection paths in the Power Query editor
Parameter name
(Name of the query/table)
Parameter type
(Any value, text, date, etc.)
Parameter value
(Any value, list, query)
Update Server & Database connection
text values with parameters
Parameter type
(Default & current)
REFRESHING QUERIES
When working with large tables, only load the data you need
• Don’t include hourly data when you only need daily, or transaction-level data when only need a product-level
summary (extra data will only slow your report down!)
CREATING A DATA MODEL
CREATING A DATA MODEL
In this section we’ll cover foundational data modeling topics like normalization, fact and
dimension tables, primary and foreign keys, relationship cardinality and filter flow
In a normalized database, each table should serve a distinct and specific purpose
(i.e. product information, transaction records, customer attributes, store details, etc.)
This Calendar Lookup table contains attributes about each date (month, year, quarter, etc.)
This Product Lookup table contains attributes about each product_id (brand, SKU, price, etc.)
Product Lookup
These are foreign keys (FK) These are primary keys (PK)
They contain multiple instances of each value, They uniquely identify each row of the table,
and relate to primary keys in dimension tables and relate to foreign keys in fact tables
RELATIONSHIPS VS. MERGED TABLES
Can’t I just merge queries or use lookup functions to pull everything into one single table?
- Anonymous confused man
Original Fact Table fields Attributes from Calendar Lookup table Attributes from Product Lookup table
Menu Ribbon
(Home, Help)
Model canvas
OPTION 1: Click and drag to connect primary OPTION 2: Add or detect relationships
and foreign keys within the Model view using the Manage Relationships dialog box
MANAGING & EDITING RELATIONSHIPS
Launch the Manage Relationships dialog box or Editing tools allow you to activate or deactivate relationships and
double-click a relationship to modify it manage cardinality and filter direction – more on that soon!
STAR & SNOWFLAKE SCHEMAS
A star schema is the simplest and most common A snowflake schema is an extension of a star,
type of data model, characterized by a single fact and includes relationships between dimension
table surrounded by related dimension tables tables and related sub-dimension tables
ASSIGNMENT: TABLE RELATIONSHIPS
Key Objectives
NEW MESSAGE 1. Delete all existing table relationships
From: Dana Modelle (Analyst) 2. Create a star schema by creating relationships
Subject: Need a favor… between the Sales, Calendar, Customer,
Product and Territories tables
Hey there, 3. Connect all three product tables (Product,
Ethan shared the data model you’ve been working on, and we Subcategory, Category) in a snowflake schema
might have an issue…
4. Use the matrix visual to confirm that you can
Last night I left my laptop open, and my cat Dennis somehow got
his paws on our model. Now all the relationships are gone!
filter Order Quantity values using fields from
each dimension table
Could you please rebuild the model, including all three product
tables? I owe you one!
-Dana
SOLUTION: TABLE RELATIONSHIPS
Solution Preview
NEW MESSAGE
Hey there,
Ethan shared the data model you’ve been working on, and we
might have an issue…
Last night I left my laptop open, and my cat Dennis somehow got
his paws on our model. Now all the relationships are gone!
Could you please rebuild the model, including all three product
tables? I owe you one!
-Dana
PRO TIP: ACTIVE & INACTIVE RELATIONSHIPS
The Sales Data table contains two date fields (Order Date & Stock Date), but
there can only be one active relationship to the Date key in the Calendar table
You can set relationships to active or inactive from either the Edit Relationships
dialog box or the Properties (you must deactivate one before activating another)
PRO TIP: ACTIVE & INACTIVE RELATIONSHIPS
The Sales Data table contains two date fields (Order Date & Stock Date), but
there can only be one active relationship to the Date key in the Calendar table
You can set relationships to active or inactive from either the Edit Relationships
dialog box or the Properties (you must deactivate one before activating another)
RELATIONSHIP CARDINALITY
In this example there is only ONE instance of each Product Key in the Product
table (noted by a “1”), since each row contains attributes of a single product
(name, SKU, description, price, etc.)
There are MANY instances of each Product Key in the Sales table (noted by an
asterisk *), since there are multiple sales for each product
EXAMPLE: ONE-TO-ONE CARDINALITY
Product Lookup Price Lookup
• Connecting the two tables above using product_id creates a one-to-one relationship,
since each product ID only appears once in each table
• This isn’t necessarily a “bad” relationship, but you can simplify the model by merging the
tables into a single, valid dimension table
• If we try to connect the tables above using product_id, we’ll get a many-to-many relationship
warning since there are multiple instances of product_id in both tables
• Even if we force this relationship, how would we know which product was actually sold on each
date – Cream Soda or Diet Cream Soda?
CONNECTING MULTIPLE FACT TABLES
Here we have two data tables (Sales Data and Returns Data),
connected to Territory Lookup
The arrows show the filter direction, and point from the one (1)
side of the relationship to the many (*) side
• When you filter a table, that filter context is passed to any
related “downstream” tables, following the arrow’s direction
• Filter context CANNOT flow “upstream”
PRO TIP: Arrange lookup tables above fact tables in your model as a visual reminder that filters always flow downstream
EXAMPLE: FILTER FLOW
In this model, the only way to filter both Sales and Returns data by
Territory is to use the Territory Key from the lookup table, which is
upstream and related to both fact tables
• Filtering using Territory Key from the Sales table yields incorrect Returns
values, since the filter context can’t flow to any other table
• Filtering using Territory Key from the Returns table yields incorrect Sales
values, and is limited to territories that exist in the returns table
*The “Apply security filter in both directions” option relates to row-level security (RLS) settings, which are out of scope for this course
EXAMPLE: BI-DIRECTIONAL FILTERS
• However, we still see incorrect values when filtering using Territory Key from
the Returns table, since the filter context is isolated to that single table
• While the values appear to be correct when filtering using Territory Key
from the Returns table, we’re missing sales data from any territories that
didn’t appear in the returns table (specifically Territories 2 & 3)
In this example, filter context from the Product table can pass down to
Returns and up to Territory Lookup, which would be filtered based on the
Territory Keys passed from the Returns table
With an active relationship between Product and Sales as well, filter context
could pass through either the Sales or Returns table to reach the Territory
Lookup table, which could yield conflicting filter context
PRO TIP: Design your models with one-way
filters and 1:many cardinality unless more
complex relationships are absolutely necessary
HIDING FIELDS
Key Objectives
NEW MESSAGE 1. Replicate Larry’s matrix below to diagnose what
he must have done to the model*
From: Dana Modelle (Analyst)
Subject: Larry’s gone rogue!
Solution Preview
NEW MESSAGE 1. Larry must have changed the relationship
between Returns Data and Product Lookup to
From: Dana Modelle (Analyst)
bi-directional, and filtered his matrix using
Subject: Larry’s gone rogue! product_id from the Returns table
Model layouts allow you to create custom views to show specific portions of large, complex models
• Here we’ve created a Sales View displaying only tables related to sales, and a Returns View displaying only tables related
to returns (Note: this doesn’t actually create duplicate tables)
DATA FORMATS & CATEGORIES
In the Data pane, right-click a field This hierarchy contains “Continent”, Right-click another field (like “Country”)
and select Create hierarchy and is named “Territory Hierarchy” and select Add to Hierarchy (or drag it in!)
ASSIGNMENT: HIERARCHIES
Key Objectives
NEW MESSAGE 1. Create a new hierarchy based on the Start of
Year field, and name it “Date Hierarchy”
From: Dana Modelle (Analyst)
Subject: Adding a date hierarchy 2. Right-click or drag to add fields until your
hierarchy contains the following (in this order):
Good morning!
• Start of Year
Hoping you can help with a quick request.
• Start of Month
Since we’ll be doing a lot of time-series analysis, Ethan asked us
to add a date hierarchy to the model so that users can quickly
• Start of Week
view trends at any level of granularity (year, month, day, etc.)
Please get that added before our afternoon call. Thanks! • Date
-Dana 3. Add your new hierarchy to the matrix visual (on
rows) and practice drilling up and down
between each level of granularity
SOLUTION: HIERARCHIES
Solution Preview
NEW MESSAGE
Good morning!
-Dana
DATA MODEL BEST PRACTICES
In this section we’ll use Data Analysis Expressions (DAX) to add calculated columns &
measures to our model, and introduce topics like row & filter context, iterators and more
Data Analysis Expressions (commonly known as DAX) is the formula language that drives
the Power BI front-end. With DAX, you can:
• Go beyond the capabilities of traditional spreadsheet formulas, with powerful and flexible functions built
specifically to work with relational data models
• Add calculated columns (for filtering) and measures (for aggregation) to enhance data models
M and DAX are two distinct functional languages used within Power BI Desktop:
• M is used in the Power Query editor, and is designed specifically for extracting, transforming and loading data
• DAX is used in the Power BI front-end, and is designed specifically for analyzing relational data models
M DAX
Query Editor: Report View:
CALCULATED COLUMNS
Calculated columns allow you to add new, formula-based columns to tables in a model
• Calculated columns understand row context; they’re great DO NOT use calculated columns for
aggregation – this is what measures
for defining properties based on information in each row, are for!
but generally useless for aggregation (sum, count, etc.)
PRO TIP:
Calculated columns are typically used for filtering & grouping data, rather than creating aggregate numerical values
EXAMPLE: CALCULATED COLUMNS
PRO TIP:
Use measures to create numerical, calculated values that can be analyzed in the “values” field of a report visual
IMPLICIT VS. EXPLICIT MEASURES
Implicit measures are created when you drag raw numerical fields
into a report visual and manually select an aggregation mode (Sum,
Average, Min, Max, Count, etc.)
Explicit measures are created when you actually write a DAX formula
and define a new measure that can be used within the model
PRO TIP:
Quick measures can be a great learning tool for beginners or for building more complex formulas but use
them with caution; mastering DAX requires a deep understanding of the underlying theory!
RECAP: CALCULATED COLUMNS VS. MEASURES
• Values are calculated based on information from each • Values are calculated based on information from any
row of a table (row context) filters in the report (filter context)
• Appends static values to each row in a table and • Does not create new data in the tables themselves
stores them in the model (which increases file size) (doesn’t increase file size)
• Recalculate on data source refresh or when changes • Recalculate in response to any change to filters within
are made to component columns the report
• Primarily used for filtering data in reports • Primarily used for aggregating values in report visuals
Option 1: Enter Data into Power Query (loads the table to the data model – table is visible in Power Query)
Option 2: Create a calculated table using DAX directly in the model (table is not visible in Power Query)
For this value in the matrix (2,846), the Orders measure is calculated based on the
following filter context: Products[Product Name] = “Mountain Tire Tube”
• This allows the measure to return the total order quantity for each product specifically (or whatever
context the row and column labels dictate – years, countries, categories, customer names, etc.)
This total (15,587) does NOT calculate by summing the values above; it evaluates as
an independent measure with no filter context applied
• IMPORTANT: Every measure value in a report evaluates independently (like an island)
and calculates based on its own filter context
PRO TIP: Clicking the filter icon will show you the
filters currently applied to a selected visual
EXAMPLE: FILTER CONTEXT
MEASURE: Revenue Per Customer MEASURE: Total Customers
FILTER CONTEXT: FILTER CONTEXT:
• Calendar[Year] = 2021 or 2022 • Calendar[Date] = September 26, 2021
Black
Black = 10,590
DAX SYNTAX
MEASURE NAME
Referenced Referenced
• Measures are always surrounded by
brackets (i.e. [Total Quantity]) when TABLE NAME COLUMN NAME
referenced in formulas, so spaces are OK
& Concatenates two values to produce one text string [City] & “ “ & [State]
&& Create an AND condition between two logical expressions ([State]=“MA”) && ([Quantity]>10)
|| (double pipe) Create an OR condition between two logical expressions ([State]=“MA”) || ([State]=“CT”)
IN Creates a logical OR condition based on a given list (using curly brackets) ‘Store Lookup’[State] IN { “MA”, “CT”, “NY” }
*Head to https://learn.microsoft.com for more information about DAX syntax, operators, troubleshooting, etc.
COMMON FUNCTION CATEGORIES
MATH & STATS LOGICAL TEXT FILTER TABLE DATE & TIME RELATIONSHIP
Functions Functions Functions Functions Functions Functions Functions
Functions used for Functions that use Functions used to Functions used to Functions that create or Functions used to Functions used to
aggregation or conditional expressions manipulate text strings manipulate table and manipulate tables and manipulate date & time manage & modify
iterative, row-level (IF/THEN statements) or value formats filter contexts output tables vs. scalar values or handle time table relationships
calculations values intelligence calculations
Common Examples: Common Examples: Common Examples: Common Examples: Common Examples: Common Examples: Common Examples:
• SUM • IF • CONCATENATE • CALCULATE • SUMMARIZE • DATE • RELATED
• AVERAGE • IFERROR • COMBINEVALUES • FILTER • ADDCOLUMNS • DATEDIFF • RELATEDTABLE
• MAX/MIN • AND • FORMAT • ALL • GENERATESERIES • YEARFRAC • CROSSFILTER
• DIVIDE • OR • LEFT/MID/RIGHT • ALLEXCEPT • DISTINCT • YEAR/MONTH • USERELATIONSHIP
• COUNT/COUNTA • NOT • UPPER/LOWER • ALLSELECTED • VALUES • DAY/HOUR
• COUNTROWS • SWITCH • LEN • KEEPFILTERS • UNION • TODAY/NOW
• DISTINCTCOUNT • TRUE • SEARCH/FIND • REMOVEFILTERS • INTERSECT • WEEKDAY
• FALSE • REPLACE • SELECTEDVALUE • TOPN • WEEKNUM
Iterator Functions: • SUBSTITUTE • NETWORKDAYS
• TRIM
• SUMX
Time Intelligence:
• AVERAGEX
• MAXX/MINX • DATESYTD
• RANKX • DATESMTD
• COUNTX • DATEADD
• DATESBETWEEN
*Note: This is NOT a comprehensive list. DAX contains more than 250 different functions!
BASIC MATH & STATS FUNCTIONS
Key Objectives
NEW MESSAGE 1. Create a measure named Total Customers, to
calculate the number of distinct
From: Dianne A. Xu (Senior Analyst)
AdventureWorks customers who made a
Subject: Help with a few measures transaction
For now, could you please create one measure to calculate the
total number of distinct customers, and a second measure that
we can use to calculate return rate (quantity returned / quantity
sold)? Thank you!
-Dianne
SOLUTION: MATH & STATS
Solution Preview
NEW MESSAGE
I’ll need to pull some high-level metrics from our model to share
with leadership, and I could use some help with the calculations.
For now, could you please create one measure to calculate the
total number of distinct customers, and a second measure that
we can use to calculate return rate (quantity returned / quantity
sold)? Thank you!
-Dianne
BASIC LOGICAL FUNCTIONS
SWITCH Evaluates an expression against a list of values and returns one of multiple possible expressions
Any DAX expression that returns a single List of values produced by the Value returned if the
scalar value, evaluated multiples times expression, each paired with a result expression doesn’t match
to return for rows/cases that match any value argument
Examples:
• Calendar[Month ID] Examples:
• ‘Product Lookup’[category] =SWITCH( Calendar[Month ID],
1, “January”,
2, “February”
PRO TIP
SWITCH(TRUE) is a common DAX pattern to replace multiple nested IF statements
ASSIGNMENT: LOGICAL FUNCTIONS
Key Objectives
NEW MESSAGE 1. Create a calculated column in the Customer
Lookup table named Customer Priority:
From: Dianne A. Xu (Senior Analyst)
Subject: Customer segmentation fields • If the customer is a parent and has an annual
income > $100,000, Customer Priority = Priority
Hey there! • Otherwise, Customer Priority = Standard
Ethan has been working with the DS team on a customer 2. Create a calculated column in the Customer
segmentation analysis, and came back to us with a few requests.
Lookup table named Income Level:
Could you please add some new columns in our customer table
• If annual income is >= $150,000, Very High
to identify “priority” customers, segment customers based on
income level, and group some of the education categories? • If annual income is >= $100,000, High
I’ve attached the logic to use, but reach out with any questions! • If annual income is >= $50,000, Average
-Dianne
• Otherwise, Income Level = Low
ASSIGNMENT: LOGICAL FUNCTIONS
Key Objectives
NEW MESSAGE BONUS: Use a SWITCH function* to create another
column named Education Category:
From: Dianne A. Xu (Senior Analyst)
Subject: Customer segmentation fields • If EducationLevel is High School or Partial High
School, Education Category = High School
Hey there! • If EducationLevel is Bachelors or Partial College,
Ethan has been working with the DS team on a customer Education Category = Undergrad
segmentation analysis, and came back to us with a few requests.
• If EducationLevel is Graduate Degree, Education
Could you please add some new columns in our customer table Category = Graduate
to identify “priority” customers, segment customers based on
income level, and group some of the education categories?
I’ve attached the logic to use, but reach out with any questions!
-Dianne
Solution Preview
NEW MESSAGE
Hey there!
Could you please add some new columns in our customer table
to identify “priority” customers, segment customers based on
income level, and group some of the education categories?
I’ve attached the logic to use, but reach out with any questions!
-Dianne
TEXT FUNCTIONS
Note: Use the & operator as a shortcut,
LEN Returns the number of characters in a string =LEN(Text) or to combine more than two strings
Key Objectives
NEW MESSAGE 1. Update the Month Short column in the
Calendar Lookup table to extract and capitalize
From: Dianne A. Xu (Senior Analyst) the first 3 characters of the month name
Subject: Couple random requests
2. Create a new column in the Product Lookup
Good morning! table named SKU Category, to return any
number of characters before the first hyphen in
Hoping you can help with a couple quick updates to the model:
the ProductSKU column
1) Ethan wants to make the month abbreviations ALL CAPS to
make them more readable in our reports.
2) The product team asked us to break out the SKU category
into its own field, which we can define as any characters
before the first hyphen (“-”) in the ProductSKU column.
Solution Preview
NEW MESSAGE
Good morning!
Hoping you can help with a couple quick updates to the model:
Key Objectives
NEW MESSAGE 1. Create a new column in the Customer Lookup
table named Birth Year, to extract only the year
From: Dianne A. Xu (Senior Analyst) from the BirthDate column
Subject: Customer birth years
Could you please add a field in our customer table to extract only
the year from the birthdate field?
Thanks!
-Dianne
SOLUTION: DATE & TIME
Solution Preview
NEW MESSAGE
Could you please add a field in our customer table to extract only
the year from the birthdate field?
Thanks!
-Dianne
RELATED
RELATED() Returns related values in each row of a table based on relationships with other tables
PRO TIP:
Instead of using RELATED to create extra columns (which increases file size), nest it within measures like FILTER or SUMX
CALCULATE
Name of an existing measure or a DAX formula A Boolean (True/False) expression or a table expression that defines a filter
for a valid measure Note: these require fixed values or aggregation functions that return a scalar
Examples: value (you cannot create filters based on measures)
• [Total Orders] Examples:
• SUM(‘Returns Data’[Return Quantity]) • ‘Territory Lookup’[Country] = “USA”
• Calendar[Year] <> MAX(Calendar[Year])
PRO TIP:
Think of CALCULATE as a filter modifier; it allows you to overrule existing report filters and “force” new filter context
EXAMPLE: CALCULATE
Red
Product Table
Red
Total Returns look right, but [Total Orders] counts distinct orders in the Sales Data table
shouldn’t Total Orders be 37,888??
-Anonymous confused man
PRO TIP:
Understand EXACTLY how your With no filter context, there are
measures calculate and what they 25,164 total distinct orders
are designed to measure
ASSIGNMENT: CALCULATE
Key Objectives
NEW MESSAGE 1. Create a new measure named Bike Returns to
calculate the total quantity of bikes returned
From: Dianne A. Xu (Senior Analyst)
Subject: URGENT: Bike returns 2. Create a matrix to show Bike Returns (values)
by Start of Month (rows). What do you notice
Hey there, about the volume of bike returns over time?
Apparently George (our Product VP) has been speaking with 3. Create a new measure named Bike Sales to
some of the store managers, and they’ve raised concerns about calculate the total quantity of bikes sold, and
the number of bike returns they are seeing recently.
add it to the matrix. What do you notice?
Can you please create a measure to calculate total returns for
bikes specifically, and let me know what you see? Volume alone 4. Create a new measure named Bike Return
won’t tell the full story, so let’s calculate the return rate for bikes Rate using either CALCULATE or DIVIDE, and
as well, and see how it’s trending before responding to George. add it to the matrix
Need this ASAP – thank you!
5. How would you respond to the Product VP’s
concerns about rising bike returns?
SOLUTION: CALCULATE
Solution Preview
NEW MESSAGE
Hey there,
Solution Preview
NEW MESSAGE
Hey there,
ALL Returns all rows in a table, or all values in a column, ignoring any filters that have been applied
PRO TIP:
Instead of adding filter context, the ALL function removes it. This is often used in “% of Total” calculations, when the
denominator needs to remain fixed regardless of filter context.
ASSIGNMENT: CALCULATE & ALL
Key Objectives
NEW MESSAGE 1. Create a new measure named All Returns to
calculate the total number of returns,
From: Dianne A. Xu (Senior Analyst) regardless of filter context
Subject: Return analysis follow-up
2. Create a new measure named % of All Returns
Hey again, that divides Total Returns by All Returns
Thanks for the quick turnaround on that bike return analysis – 3. Create a matrix to show % of All Returns
crisis averted! (values) by product Category Name (rows).
That got me thinking about how we could start analyzing the Which category accounts for the largest
return data in our reports. Could you please help me create two percentage of returns? The smallest?
new measures, one to calculate ALL returns (regardless of filter
context), and another that divides Total Returns by All Returns?
Solution Preview
NEW MESSAGE
Hey again,
PRO TIP:
Since FILTER iterates through each row in a table, it can be slow and computationally expensive; only use FILTER if a
simple CALCULATE function won’t get the job done!
ITERATOR FUNCTIONS
Iterator (or “X”) functions allow you to loop through the same expression on each row
of a table, then apply some sort of aggregation to the results (SUM, MAX, etc.)
=SUMX(Table, Expression)
PRO TIP:
Imagine that iterator functions add a temporary new column to a table, calculate a value in each row based on the
given expression, then aggregate the values within that temporary column (similar to SUMPRODUCT in Excel)
*In this example we’re looking at SUMX, but other iterator functions follow a similar syntax
ASSIGNMENT: ITERATORS
Key Objectives
NEW MESSAGE 1. Create a new measure named Total Cost that
multiplies the order quantities in the Sales Data
From: Dianne A. Xu (Senior Analyst)
table by the product cost in the Product Lookup
Subject: Profit calculation – HELP! table, then calculates the sum
Hey,
2. Create a new measure named Total Profit
(revenue minus cost)
Ethan asked for a quick analysis of company profit over the past
few years, but I’m struggling with the calculation. 3. Create a matrix to show Total Profit (values) by
We need a measure that multiplies order quantity by product Year (rows). How much profit has
cost, but I’d like to do it without adding redundant columns to AdventureWorks earned so far in 2022?
our Sales table.
Could you take a stab at this please?
-Dianne
SOLUTION: ITERATORS
Solution Preview
NEW MESSAGE
Hey,
Ethan asked for a quick analysis of company profit over the past
few years, but I’m struggling with the calculation.
-Dianne
TIME INTELLIGENCE
Time Intelligence patterns are used to calculate common date-based comparisons
Running =CALCULATE(Measure,
Total DATESINPERIOD(Calendar[Date], MAX(Calendar[Date]), -10, DAY))
PRO TIP:
To calculate a moving average, use the running total calculation above and divide by the number of intervals
ASSIGNMENT: TIME INTELLIGENCE
Key Objectives
NEW MESSAGE Add the following measures to the model:
The leadership team has been asking a lot of questions about 4. Order Target (10% increase over previous month)
month-over-month and year-over-year comparisons, and I’ve
5. Profit Target (10% increase over previous month)
been pulling the numbers pretty manually.
Could you please add the following list of measures, to make 6. 90-day Rolling Profit
these metrics easier to track and share with stakeholders?
Thank you!
-Dianne
SOLUTION: TIME INTELLIGENCE
Solution Preview
NEW MESSAGE
Thank you!
-Dianne
DAX BEST PRACTICES
In this section we’ll build dynamic interactive reports, introduce visualization best practices,
and explore features like bookmarks, drillthrough filters, parameters, tooltips, and more
Time-series Financial
Geospatial Textual
Categorical Funnel
Hierarchical Survey
The type of data you’re working with often determines which type of visual will best represent it; for example,
using maps to represent geospatial data, line charts for time-series data, or tree maps for hierarchical data
THREE KEY QUESTIONS
Used to compare values over Used to break down the Used to show the frequency Used to show correlation
time or across categories component parts of a whole of values within a series between multiple variables
Keep it simple! While there are hundreds of charts to choose from, basic options like bars and columns, line
charts, histograms and scatterplots often tell the simplest and clearest story
THREE KEY QUESTIONS
How you visualize and present your data is a function of who will be consuming it; a fellow analyst may want
to see granular details, while managers and executives often prefer topline KPIs and clear, data-driven insights
ANALYTICS DASHBOARDS
Dashboards are analytics tools designed to consolidate data from multiple sources, track key metrics
at a glance, and facilitate data-driven storytelling and decision making
Product Data
Transactional Records
Report View
Panes
(Data, Format,
Bookmarks, Selection)
Report Canvas
Filter Pane
(Page-level, report-level,
visual-level filters)
Report Pages (each tab is a blank report canvas) View Options (Zoom, fit to page)
ASSIGNMENT: CARDS
Key Objectives
NEW MESSAGE
1. Insert a card in the Customer Detail report page
From: Victor Ignatius Zabel (BI Analyst) to show Total Customers, and rename the field
“UNIQUE CUSTOMERS”
Subject: Let’s get visual!
2. Add a background shape and match the
Hey there! formatting of the cards in the Exec Dashboard tab
We’ve kicked off the visualization work for our Power BI 3. Copy and paste to create a second card showing
dashboard, and I’m hoping you can help. Average Revenue per Customer, and rename the
field “REVENUE PER CUSTOMER”
For now I’d love for you to focus on building out the Customer
Detail report. Can you start by adding some KPIs to show total
customers and revenue per customer?
-Vic
SOLUTION: CARDS
Solution Preview
NEW MESSAGE
Hey there!
For now I’d love for you to focus on building out the Customer
Detail report. Can you start by adding some KPIs to show total
customers and revenue per customer?
-Vic
BUILDING & FORMATTING CHARTS
The Build menu allows you to change the visual type, auto-
suggest visuals, and add data to customize chart components
(x-axis, y-axis, legend, tooltips, etc.)
• This is a contextual menu, so you will only see options which are
relevant to the selected visual
• You can build visuals by either inserting a specific chart type and
adding data, or by dragging a field from the Data pane onto the canvas
BUILDING & FORMATTING CHARTS
Key Objectives
NEW MESSAGE
1. Add a line chart to the Customer Detail report
From: Victor Ignatius Zabel (BI Analyst) showing Total Customers by week
Subject: Customer count by week 2. Add a trend line and a zoom slider to the x-axis
Thanks!
-Vic
SOLUTION: LINE CHARTS
Solution Preview
NEW MESSAGE
Next up let’s add a weekly line chart to show how our customer
base is trending over time.
Thanks!
-Vic
FILTERING OPTIONS
*Drillthrough filters can be configured in the page formatting pane – more on that later!
Filters can be configured using basic selections, logical operators, or Top N conditions
ASSIGNMENT: DONUT CHARTS
Key Objectives
NEW MESSAGE
1. Add a donut chart to the Customer Detail report
From: Victor Ignatius Zabel (BI Analyst) showing Total Orders by Income Level
Subject: Customer demographics 2. Add a chart title, turn off the legend, and update
the data labels to show the category and value
Good morning! (font size 8, 1 decimal place)
Just got a note from Ethan to see if we can build some 3. Update the colors of the slices to match the
demographic info into the customer report.
screenshot in the solution preview
Let’s add a couple donut charts to show the composition of
customers by income level and occupation. We’ll want to limit to 4. Add a visual-level filter to exclude customers with
just a few segments (maybe 3?) and do some formatting to a “Very High” income level
match the rest of the dashboard.
Thanks, you rock! 5. Copy the chart to show Total Orders by
Occupation, and add a visual-level filter to display
-Vic
the three occupations with the most orders (bonus
points if you use a Top N filter!)
SOLUTION: DONUT CHARTS
Solution Preview
NEW MESSAGE
Good morning!
Just got a note from Ethan to see if we can build some
demographic info into the customer report.
Let’s add a couple donut charts to show the composition of
customers by income level and occupation. We’ll want to limit to
just a few segments (maybe 3?) and do some formatting to
match the rest of the dashboard.
Thanks, you rock!
-Vic
CONDITIONAL FORMATTING
Key Objectives
NEW MESSAGE
1. Add a table to the Customer Detail report to
From: Victor Ignatius Zabel (BI Analyst) show Customer Key, Full Name, Total Orders (as
“Orders”) and Total Revenue (as “Revenue”)
Subject: Top customer table
2. Use conditional formatting to add light gray data
Hey there, this customer report is really coming together! bars to the orders column and a white > blue
color scale to the revenue column
Since the management team needs a way to identify high-value
customers, let’s add a table to our report showing customer 3. Add a visual-level filter (Top N) to show the 100
keys, full names, orders, and revenue. customers with the most orders, and add a chart
Probably makes sense to add some conditional formatting and title (“Top 100 Customers”)
limit to the top 100 customers for now.
4. Sort the table descending by orders
Thanks!
-Vic
SOLUTION: TABLES
Solution Preview
NEW MESSAGE
Thanks!
-Vic
ASSIGNMENT: TOP N TEXT CARDS
Key Objectives
NEW MESSAGE
1. Add a card to the Customer Detail report to show
From: Victor Ignatius Zabel (BI Analyst) Full Name
Subject: Top customers by revenue 2. Add a visual-level filter (Top N) to show the top
customer (Full Name) in terms of Total Revenue
Hey,
• What do you notice when you filter the
Ethan is loving the customer report so far – great job! report for low income customers?
He mentioned that he’d like to highlight top customers based on (Hint: check your value against the table)
revenue as well, so I’m thinking we could add some text cards to
• How could you modify the Top N filter to
show the top customer name, along with total revenue and the
number of orders placed. correct this?
We’ll be offering some coupons based on how much customers 2. Copy and paste the card (x2) to show Total
have spent in the past, so accuracy is critical here! Orders and Total Revenue for the top customer
-Vic 3. Add text boxes for titles and adjust formatting to
match the solution preview
SOLUTION: TOP N TEXT CARDS
Solution Preview
NEW MESSAGE
Hey,
-Vic
MAP VISUALS
Map Filled map
*ArcGIS maps require a separate account, and are not pictured here
SLICERS
Slicers are visual filters which affect all other visuals on a report page (by default)
• Slicers can take many formats depending on the data type, including lists, dropdowns, tiles, ranges, and more
PRO TIP:
Use Apply/Clear All Slicers
buttons for more filtering control
ASSIGNMENT: SLICERS
Key Objectives
NEW MESSAGE
1. Add a slicer to filter the Customer Detail report
From: Victor Ignatius Zabel (BI Analyst) page by Year
Subject: Year slicer for customer report 2. Add a visual-level filter to exclude blanks
Thanks!
-Vic
SOLUTION: SLICERS
Solution Preview
NEW MESSAGE
Thanks!
-Vic
DRILL UP & DRILL DOWN
Revenue by MONTH
Drill Up and Drill Down tools allow you to switch
between different levels of granularity
• In this example users can “drill up” from
weekly to monthly, or “drill down” to daily
PRO TIP:
Use location hierarchies and enable drill
Revenue by DAY mode to create interactive map visuals
ASSIGNMENT: DRILL DOWN
Key Objectives
NEW MESSAGE
1. In the Customer Detail report, update the X-axis
From: Victor Ignatius Zabel (BI Analyst) of the line chart to pull in Date Hierarchy
Subject: Dynamic time periods 2. Use the chart header to drill up and drill down to
explore trends at each level of granularity
Hey again, just got some feedback from the managers about our
customer report. 3. Test drill mode to change the granularity by
selecting individual data points in the chart
Chad loves the weekly trending chart, but Thad wants to see the
data by day and Vlad was hoping for an annual breakdown. • Why do some weeks look very low?
Instead of building multiple versions of the same line chart, could 4. Turn off drill mode and show the chart at a weekly
you please make it interactive so that Chad, Thad and Vlad get
level of granularity by default
the views they want?
Thanks!
-Vic
SOLUTION: DRILL DOWN
Solution Preview
NEW MESSAGE
Hey again, just got some feedback from the managers about our
customer report.
Chad loves the weekly trending chart, but Thad wants to see the
data by day and Vlad was hoping for an annual breakdown.
Thanks!
-Vic
DRILL THROUGH FILTERS
Drill through filters allow users to navigate to a specific report page, pre-filtered on the item selected
• Here we’ve created a Product Detail page, set the type to Drillthrough, and configured drill through from Product Name
• This means that users can right-click any instance of product name (i.e. in a matrix visual) and use the Drill through option
to navigate straight to the Product Detail report filtered on that product (in this case “Mountain Tire Tube”)
REPORT INTERACTIONS
Edit report interactions to customize how filters applied to one visual impact other visuals on the page
• Cross-filter options include filter ( ), highlight ( ) and none ( ), depending on the visual type
Key Objectives
NEW MESSAGE
1. On the Customer Detail tab, edit the report
From: Victor Ignatius Zabel (BI Analyst) interactions based on the following logic:
Subject: Weird report interactions • When a filter is applied to the line chart, the
donut charts should filter (not highlight)
Hey there,
• When a filter is applied to the table, the line
I was playing with the customer report this morning and noticed chart and donuts should not filter
some odd visual interactions. For example, selecting a specific
customer shouldn’t filter the line chart, and probably shouldn’t • The slicer should filter all visuals on the
filter the donut charts either. report page
Could you please take a pass through the report interactions and
update any that seem off?
Thanks!
-Vic
SOLUTION: REPORT INTERACTIONS
Solution Preview
NEW MESSAGE
Hey there,
I was playing with the customer report this morning and noticed
some odd visual interactions. For example, selecting a specific
customer shouldn’t filter the line chart, and probably shouldn’t
filter the donut charts either.
Could you please take a pass through the report interactions and
update any that seem off?
Thanks!
-Vic
BOOKMARKS
Key Objectives
NEW MESSAGE
1. Explore the Customer Detail report by adjusting
From: Victor Ignatius Zabel (BI Analyst) filters until you find an interesting insight or trend
(this can be anything you choose!)
Subject: Finding anything interesting?
2. Add a new bookmark to capture the current state
Hey, of the report, and name it “Customer Insight”
Now that you’re getting pretty familiar with our customer data, 3. Insert an Information button and add text to the
are you noticing any interesting insights or trends that might be
button style to summarize what you’ve found
worth explicitly calling out in the report?
This could be a great way for us to use bookmarks to draw 4. Assign a bookmark action to the button, and link
attention to some specific stories in the dashboard. While we’re to the Customer Insight bookmark you created
at it, let’s add another one to clear all filters from the page.
5. Create a second bookmark named “Clear all
Let me know what you think! Customer Filters” which returns the page to an
unfiltered state, and link it to a Reset button
-Vic
6. Test both bookmarks using CTRL-click
SOLUTION: BOOKMARKS
Solution Preview
NEW MESSAGE
Example: Among customers in Skilled Manual roles in
From: Victor Ignatius Zabel (BI Analyst) 2022, Ruben Suarez drove the most revenue at $4,683
Subject: Finding anything interesting?
Hey,
Now that you’re getting pretty familiar with our customer data,
are you noticing any interesting insights or trends that might be
worth explicitly calling out in the report?
This could be a great way for us to use bookmarks to draw
attention to some specific stories in the dashboard. While we’re
at it, let’s add another one to clear all filters from the page.
-Vic
PARAMETERS
Parameters allow you to create variables which can be referenced in measures and controlled via slicers
Fields parameters
Typically used to allow users to
dynamically change the metrics or
dimensions displayed in a report visual
EXAMPLE: NUMERIC RANGE PARAMETER
When you create a numeric parameter, Power BI generates two new measures:
one to define the parameter and another to capture the selected value:
Key Objectives
NEW MESSAGE
1. Add a new Fields parameter named “Customer
From: Victor Ignatius Zabel (BI Analyst) Metric Selection”, which includes Total Customers
and Average Revenue per Customer
Subject: More line chart updates
2. Add the parameter as a slicer to the Customer
Good news and bad news… Detail report, change the slicer style to Tile, turn
off the header, update to single select, and resize
The good news is that Chad, Thad and Vlad LOVE the drill options to create a horizontal layout
in the line chart – nice work!
3. Select the DAX measure automatically created,
The bad news is that now they can’t align on what’s the best
metric to show. Chad likes seeing total customers, but Vlad is
and update the text from “Average Revenue per
pushing for revenue per customer. Customer” to “Revenue per Customer”
What do you think we should do? 4. Update the line chart Y-Axis to use the Customer
Metric Selection parameter, remove the chart
-Vic
title, and update the line colors to match the
solution preview
SOLUTION: FIELDS PARAMETERS
Solution Preview
NEW MESSAGE
The good news is that Chad, Thad and Vlad LOVE the drill options
in the line chart – nice work!
The bad news is that now they can’t align on what’s the best
metric to show. Chad likes seeing total customers, but Vlad is
pushing for revenue per customer.
-Vic
PRO TIP: CUSTOM TOOLTIPS
Create custom tooltips by designing a new report page, setting the page type to Tooltip, and configuring
a visual to use the “Report page” tooltip type
Category Tooltip report page
PRO TIP:
Keep your published reports clean by hiding your tooltip pages
IMPORTING CUSTOM VISUALS
Power BI offers a library of custom visuals (via AppSource) from Microsoft-certified partners and
developers, which can be imported into the visualizations pane
Mobile layout allows you to design mobile-specific versions of report pages by assembling visuals into new layouts
• NOTE: This is designed to optimize reports for viewing on the Power BI mobile app (after publishing to Power BI Service)
DATA VISUALIZATION BEST PRACTICES
In this section we’ll explore Power BI’s artificial intelligence features, including anomaly
detection, smart narratives, natural language Q&A, decomposition trees, and more
Anomaly detection is used to automatically detect and explain anomalies in time series data
• The anomaly detection feature adds “flags” to existing line charts, which link to AI-generated explanations and summaries
Limitations:
• Only supported for line charts with a
time-series fields on the X-axis
Smart narratives create customizable, AI-generated text summaries based on report pages or visuals
• Smart narratives react to report filters like any other visual, and can be updated with custom, dynamic values
Q&A VISUALS
Q&A visuals allow users to explore and visualize data using intuitive, natural language prompts
• Q&A visuals are only as useful as the data model behind them, and typically require significant “training” to be effective
Q&A TRAINING
Q&A visuals allow users to explore and visualize data using intuitive, natural language prompts
• Q&A visuals are only as useful as the data model behind them, and typically require significant “training” to be effective
Decomposition trees allow you to visualize how data is distributed across multiple dimensions
• Decomposition trees can be configured manually for data exploration, or leverage AI to support root cause analysis
EXPLAIN BY
One or more dimensions
to break down the data
ANALYZE
Measure or aggregate
you want to analyze
KEY INFLUENCERS
The key influencer visual helps you understand the factors that drive specific metrics or outcomes
• This can be used to analyze categorical or continuous outcomes, or identify top segments based on combinations of factors
In this section, we’ll investigate several native and external tools that can be used to
optimize and enhance your Power BI reports
The Optimize tab includes pause, optimize, and other performance tools
Pause or refresh queries to make Show record logs that measure each
updates without processing changes elements performance within a report
Predefined optimization presents that can Apply and clear multiple slicer
be applied based on your reporting scenario selections on a report page at once
PAUSE VISUALS
Pause visuals stops queries from running and is used when you don’t want to immediately
apply additions or changes made to a report page or visual
Query Reduction
• Is best for DirectQuery connections because it follows
the best practices for DirectQuery optimization, turns
off cross-highlighting, cross-filtering, and adds an
Apply button to the filters pane
Interactivity
• Is the default setting and best used for Import mode
because it allows cross-highlighting, cross-filtering,
and real-time changes to slicers and filters
Customize
• Is best when you want to choose which query
reduction features to use
APPLY ALL SLICERS BUTTON
Adding an apply all slicers button to your report page tracks all slicer selections and can
be used to either apply or clear all slicers at once
DAX Query
• Shows the amount of time it takes for the visual to send
the query to the engines, and for the engines to return
the result (Note: DAX Studio can only help optimize this)
Visual Display
• Shows the amount of time it takes for the visual to
populate, or “draw”, on the screen. Includes time to
retrieve web-based and geocoded images
Other
• Shows the amount of time required by the visual to
prepare the query, wait for other visuals to complete
their queries and perform other processing tasks
EXTERNAL TOOLS
External tools allows quick access to third-party built tools that are locally installed on
your computer and registered with Power BI Desktop