Power BI: 5 Advanced Tips to Organize your Dashboard
In this post, I’ll give you 5 tips to sleep better, or, why and how to organize your dashboards and avoid nightmares when the project complexity goes beyond our memory.
Most of the dahsboards, in the beginning, they seem to be extremely easy, but … as the project continues and more demands are arrives, we can easilly lose control over it. In order to avoid it, I’ll give you the 5 tips I’d like to have received it in the beginning of my career.
Index
- Version Control (With GitHub)
- Update log
- Group your Measures
- Containerization
- DAX Structure
1 Version Control (With GitHub)
Why
This one, for me, is the most important tip of all. In this post I won’t teach you how to do it, because I already did it in this post:
How
Power BI — Version Control. Intro | by Igor Comune | Jul, 2023 | Medium
2 Update log
Why
A simple .txt
file in the project folder can be used as a log. Most of the time is easier to read a text file than try to figure out the differences in each version you uploaded into your GitHub account.
How
Create a .txt
file in your project folder with any name, but remember to keep the pattern for all your dashboard, like this: log_updates_dashboard_name
I use the following structure:
- Date
-- Tab "A"
--- Update 1, requested by: "Cthulu"
- Date
-- Tab "B"
--- Update 1, requested by: "Cthulu"
In practice:
30/08/2023
Tab - Name of the tab
- Title changes from "X" to "Y", requested by the manager "ABC"
- Visual changed from Pie to Horizontal, requested by the manager "ABC"
Tab - Another name
- Created the "Another name", requested by the manager "ABC"
- Measure 'abc' was changed to "xyz", due to error in the filter
The best thing is: in your commit you can copy the date and set it as the Summary
and the Tabs and updates as the Description
.
In this log file, you can type changes in measures, in titles, in colors… whatever is necessary for you to keep track of your work.
3 Group your Measures
Why
As bigger as the dashboard gests, more measures are added and the measure can interate between themselves. Currently I separate measures by Tab. It can be a temptation to reuse a measure but I avoid it in huge projects.
How
1 In Modeling
, create a table called _measures
2 Create your measures inside this table
3 Access Model View
4 Select your measures with CTRL
5 Name the folder in Display Folder
, in my case Pasta de Exibição
.
As soon as your press enter, the folder will be create with your measures inside it.
4 Containerization and Readability
Why
This tip aims to avoid being repetitive with your visuals.
How
The Image 3
, shows four red boxes indicating the same word, meaning that we are showing Sales — Total by X.
Look at image 4
, the same information but instead of using “Sales By…” I wrote “Total Sales”, as Total Sales inside a box and the visuals are inside the same box, we can understand the everything inside the box is Sales By… City, Category Name…
Can you see that a small change made a huge difference in readability?
It will help you a lot with your communication, instead of saying:
This is sales by X, and this is sales by Y and this is sales by Z
You can say:
Here we have all of our sales information by X, Y and Z.
5 DAX Structure
Why
All the time we have to refactor our DAX and it gets extremely annoying when it returns an error, and you see that the error was caused by omission of a dot or comma.
How
Let me show you how to avoid it with 2 examples:
test1 =
CALCULATE(
sum(IowaLiquorSales[sale_dollars]),
filter(IowaLiquorSales,
IowaLiquorSales[city] = "Ames")
)
the test1
is correct, but if I try to remove the filter itself, take a look:
test1 =
CALCULATE(
sum(IowaLiquorSales[sale_dollars]),
)
It returns this error:
The ‘2’ argument in the CALCULATE function is required.
If you are an attentive person , you noted that I forgt the comma in the end of the sum()
line, to avoid it, instead of ending the line with comma, you should start the line with comma.
test1 =
CALCULATE(
sum(IowaLiquorSales[sale_dollars])
,filter(IowaLiquorSales
,IowaLiquorSales[city] = "Ames")
)
And if you remove the filter, look what happens:
// Right
test1 =
CALCULATE(
sum(IowaLiquorSales[sale_dollars])
)
// Returns an error
test1 =
CALCULATE(
sum(IowaLiquorSales[sale_dollars]),
)
This type of error that most annoys me during my working day, learning this “tip” avoids some shouts and punchs with my already broken hand.
If this post was useful to you, please, like it, share it, comment on it, save it… it’ll help me a lot. ❤
Don’t forget to subscribe to
and join our Power BI community