The previous post explained what Thin reports are, why we should care and how we can create them. This post focuses on a more specific topic, Report Level Measures. We discuss what report-level measures are, when and why we need them and how we create them.
If you are not sure what Thin Report means, I suggest you check out my previous blog post before reading this one.
What are report level measures?
Report level measures are the measures created by the report writers within a Thin Report. Hence, the report level measures are available within the hosting Thin Report only. In other words, the report level measures are locally available within the containing report only. These measures are not written back to the underlying dataset, hence not available to any other reports.
In contrast, the data model measures, are the measures created by data modellers and appear on the dataset level and are independent from the reports.
Why and when do we need report level measures?
It is a common situation in real-world scenarios when the business requires a report urgently, but the nuts and bolts of the report are not being created on the underlying dataset yet. For instance, the business requires to present a report to the board showing year-to-date sales analysis but the year-to-date sales measure hasn’t been created in the dataset yet. The business analyst approaches the Power BI developers to add the measure, but they are under the pump to deliver some other functionalities which adding a new measure is not even in their project delivery plan. It is perhaps too late if we wait for the developers to plan for creating the required measure, go through the release process, and make it available for us in the dataset. Here is when the report level measures come to the rescue. We can simply create the missing measure in the Thin Report itself, where we can later share it with the developers to implement it as a dataset measure.
How do we create report level measures?
Currently, we can create report level measures only in Power BI Desktop when Connect Live to either a Power BI dataset, an SSAS Tabular model (on-premises), or Azure Analysis Services (AAS). For this blog post, I Connect Live to a Power BI dataset. Open Power BI Desktop first and follow these steps.
- Click the Data hub dropdown button from the Home tab
- Click the Power BI datasets
- Select the desired dataset
- Click Connect
- Right-click the table that you’d like to host the report level measure and select New measure
- Type your DAX expressions as usual and press enter
A new measure (Avg Unit Price) is now created on the Internet Sales table. As explained earlier, the new measure is only available in the current report and not at the dataset level and that is why this type of measure is the so-called Report Level Measure. All other measures are dataset level measures, therefore, they are available on the current report and any other thin reports we create in the future on top of the same dataset.
We can now use the Avg Unit Price as usual in our data visualisation.
As perhaps have noticed already, we can also create report level measures using the Quick Measures capability.
As a side note, you can also see the underlying data model by clicking the Model view tab as shown in the following image:
Have you used this capability? What challenges have you faced in using Report Level Measures? I would love to know your thoughts, so feel free to leave your comments below.