---
title: "Thin Reports: Real-world challenges"
description: In this post, you'll learn about some real-world challenges we face when developing thin reports (and a solution to those challenges!)
image: https://www.datavizioner.com/hubfs/thinreports.png
---

[![Data Vizioner](https://www.datavizioner.com/hubfs/logo-dark.png)](https://www.datavizioner.com)

- [Platform](https://www.datavizioner.com/platform)
  
  ## [Platform at a glance <iframe style="margin: 0px auto; display: block;" xml="lang" src="https://www.loom.com/embed/aead85255d474aa8976a2849e5a0846a" width="260" height="158" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen></iframe>](https://www.datavizioner.com/platform)
  
  ##### <https://www.datavizioner.com/platform>**[Watch: Platform Overview](https://www.loom.com/share/aead85255d474aa8976a2849e5a0846a)**

  ### [Enhance governance Build trust in your data and navigate regulatory requirements.](https://www.datavizioner.com/platform)

  ### [Power BI Documenter Document, review and improve your Power BI reports and models.](https://www.datavizioner.com/power-bi-documenter)

  ### [Explore lineage Improve accuracy and identify issues before they cost you.](https://www.datavizioner.com/platform)

  ### [Power BI Exporter Easily export data from Power BI with a single click - completely free.](https://www.datavizioner.com/power-bi-exporter)

  ### [Automate documentation Save time with efficient enterprise and self-service collaboration.](https://www.datavizioner.com/platform)

  ### [Additional connectors Integrate datasets, reports and dashboards from other sources.](https://www.datavizioner.com/additional-connectors)
- [Services](https://www.datavizioner.com/services)
- [Resources](https://www.datavizioner.com/resources)
  
  ## [Get help and updates <iframe style="margin: 0px auto; display: block;" xml="lang" src="https://www.loom.com/embed/4b577b30913e433f8f07642d25a85877" width="260" height="147" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen></iframe>](https://www.datavizioner.com/resources)
  
  ##### <https://www.datavizioner.com/resources>**[Watch: Self-service BI, and its perils](https://www.loom.com/share/4b577b30913e433f8f07642d25a85877)**

  ### [Insights Keep on top of the latest trends in data and business intelligence.](https://www.datavizioner.com/resources)

  ### [Case studies See how customers are managing risks and improving productivity.](https://www.datavizioner.com/resources/tag/case-studies)

  ### [Product updates Hear about the latest updates and learn how to leverage them.](https://www.datavizioner.com/resources/tag/product-updates)

  ### [Partners Find a partner to augment your internal team's capabilities.](https://www.datavizioner.com/partners)

  ### [Support Get in touch with our friendly team, and we'll help you out.](https://www.datavizioner.com/contact)
- [Pricing](https://www.datavizioner.com/pricing)
- [Enterprise](https://www.datavizioner.com/pricing/enterprise-government)

[Login](https://app.datavizioner.com/) [START FOR FREE](https://app.datavizioner.com/signup)

Analysis

# Thin Reports: Real-world challenges

In this post, you'll learn about some real-world challenges we face when developing thin reports (and a solution to those challenges!)

Previously we have looked at [what thin reports are and why we should care about them](https://www.datavizioner.com/resources/thin-reports-what-are-they-and-why-should-i-care-and-how-can-i-create-them). In a seperate post we delved into [report level measures](https://www.datavizioner.com/resources/thin-reports-report-level-measures-and-data-model-measures). Finally, in this post, you'll learn about some real-world challenges we face when developing thin reports (and a solution to those challenges!)

### Report level measure related challenges

Creating and using [report level measures](https://www.datavizioner.com/resources/thin-reports-report-level-measures-and-data-model-measures) is relatively easy, but there are some challenges that we face from time to time, such as:

- Distinguishing report level measures from dataset level measures
- Report level measure dependencies

#### Determining report level measures from dataset level measures

One of the challenges that Power BI developers face is creating many report level measures. Unfortunately, Power BI Desktop currently uses the same iconography for both types of measures, making it hard to distinguish the actual measures created within the dataset from the report level measures. It gets even more challenging if we need to write technical documentation for an existing thin report. We have to open the PBIX file of the thin report in the Power BI Desktop and click every single measure. If the expression bar appears, the selected measure is a report level measure; otherwise, it is a dataset level measure.

So unless we use third-party tools, which I explain in this post, we must go through the manual process.

#### Report level measure dependencies

Another pain point related to the previous challenge is finding the dependencies between the report level measures. It is crucial to be aware of the interdependencies when doing impact analysis. We need to understand how a change in a report level measure impacts other report level measures. Again, Power BI Desktop does not currently have any options supporting that, so we have to click every measure and read through the DAX expressions to identify the dependencies or use the third-party tools to save development time.

### Dataset and thin report dependency challenges

The other challenges are even more difficult to overcome relate to interdependencies between datasets and thin reports. Power BI Service provides a lineage view that shows the dependencies between a dataset and its connected thin reports. But the challenges can get more complex to overcome manually. The following are some real-world examples of more complex situations:

- What if we need to analyse the impact of changes in a dataset measure on all report level measures of the connected thin reports?

- How do we analyse the impact of changes on a dataset measure on all connected thin reports, including the visuals, filters, etc…?

- What if we need to tune the performance and we want to find a list of all unused tables or unused fields?

As you can see, the situation can get pretty complex, so manual operations are virtually impossible.

But there is a third party tool we can use which provides heaps of capabilities with a couple of clicks.

### Introducing a third party tool that can help

Fortunately, there is a third party tool that can help to resolve all the above challenges. The [Data Vizioner](https://www.datavizioner.com/) team, myself included, worked hard to implement an add-on for [Power BI Documenter](https://www.datavizioner.com/power-bi-documenter) that [supports thin reports](https://www.datavizioner.com/resources/thin-report-support-released). Let’s get to it and see how it works.

#### Getting a list of report level measures and their DAX expressions

We can currently use the out-of-box feature to get all report level measures and their DAX expressions in the Power BI Documenter without activating any add-ons. All you need to do is create an account if you haven’t already done so. As you may know, Power BI Documenter currently accepts Power BI Template files (PBIT); so you need to open the thin report in [Power BI Desktop and export it to PBIT](https://www.datavizioner.com/resources/pbit-vs-pbix-how-and-why-theyre-different/), then follow these steps:

1. Login to [Power BI Documenter](https://app.datavizioner.com/login)

[![Logging into Power BI Documenter](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1f64ac0f.png?resize=854%2C788&ssl=1)](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1f64ac0f.png?ssl=1)

Logging into Power BI Documenter

1. Click the **Upload PBIT** button
2. Click **Browse** and select the PBIT file to upload

[![Uploading PBIT files to Power BI Documenter](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1f69e41f-1024x688.png?resize=900%2C605&ssl=1)](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1f69e41f.png?ssl=1)

Uploading PBIT files to Power BI Documenter

1. The Documenter detects the report type is a thin report

[![Power BI Documenter Detects the uploaded file is a Thin Report](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_286c1f33.png?resize=900%2C441&ssl=1)](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_286c1f33.png)

Power BI Documenter Detects the uploaded file is a Thin Report

 

1. Click the thin report and navigate to the **Model** tab
2. Expand the **Report Level Measures** section
3. Click the **Download as CSV** file button

[![Getting a list of Report Level Measures and related DAX expressions](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1f71418e-1024x424.png?resize=900%2C373&ssl=1)](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1f71418e.png?ssl=1)

Getting a list of Report Level Measures and related DAX expressions

As shown in the preceding image, you can see the report level measures, their DAX expressions, and the visuals using them.

But wait, what about the other challenges we just discussed, the dataset to all thin reports dependencies, used and unused fields, etc?

 

Let us see how Power BI Documenter can help with those.

### Thin Report add-on for Power BI Documenter

As mentioned, we worked hard at Data Vizioner to prepare an add-on for Power BI Documenter. After activating the add-on on your Power BI Documenter account, a new **Analyse** button appears on the top right of the **Files** page.

Let us upload multiple thin reports and their related dataset files (PBIT) in the Documenter and see how easy it is to get all the dependencies in a couple of clicks:

1. Click the **Upload PBIT file** button
2. Click **Browse**
3. Select all required PBIT files, including the PBIT containing the dataset and all related thin reports
4. Click **Open**

[![Uploading multiple PBIT files to Power BI Documenter](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1f97167e-1024x657.png?resize=900%2C577&ssl=1)](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1f97167e.png?ssl=1)

Uploading multiple PBIT files to Power BI Documenter

After the files are uploaded into the documented, the documented automatically detects the file type as below:

  ![Full Report icon in Power BI Documenter](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/image.png?resize=361%2C82)  
 ![Dataset icon in Power BI Documenter](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1fa6a46d.png?resize=296%2C80)  
![Thin Report icon in Power BI Documenter](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1fa6a47d.png?resize=379%2C80)

Now, let us select the dataset and all related thin reports:

1. Click the ellipsis button on the desired file
2. Click the **Select related reports** from the context menu

<https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1f97167e.png?ssl=1>

<https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1f97167e.png?ssl=1>[![Selecting the dataset and all related thin reports in one go](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1fb1c3d7-1024x521.png?resize=900%2C458&ssl=1)](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1fb1c3d7.png?ssl=1)

Selecting the dataset and all related thin reports in one go

1. Now that all related reports and their dataset are selected, click the **Analyse** button
2. Select the desired option from the menu, the Documenter currently supports the following four options: 
     - Unused tables: downloads a CSV file containing a list of the tables from the dataset that none of their fields is used anywhere across the dataset itself and all selected thin reports
     - Unused fields: downloads a CSV file containing a list of all unused fields including columns, calculated columns, measures, and report level measures
     - Used tables: downloads a CSV file containing a list of the tables that at least one of their fields is used somewhere within the dataset itself or any of the selected thin reports
     - Used fields: downloads a CSV file containing a list of the fields that are used somewhere either within the dataset or any of the selected thin reports or their report level measures

[![Analysing the dataset and all selected thin reports](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1fc30283-1024x519.png?resize=900%2C456&ssl=1)](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_1fc30283.png?ssl=1)

Analysing the dataset and all selected thin reports

There you go! You have it. In the next section, we explain what the CSV files give us.

### The definition of Used and Unused

As the preceding image shows, we analyse the data into the following four categories:

- Unused tables
- Unused fields
- Used tables
- Used fields

To understand these categories we have to have a definition for ***used objects*** where the objects are **Tabular model objects**. We currently do **not** factor the *Power Query objects* and their interdependencies in the analysis. So, while we have confidence in the output, it is important for the users to understand that they need to sense check before deleting the unused objects from their model.

The Used Fields’ definition will change as we add additional functions, so always check for the latest definition.

#### The definition of Used Fields

A field, from a Tabular object model perspective, includes columns, calculated columns, and measures. A used field is a field that appears in any of the following across the dataset and all thin reports selected by the user:

- Dataset level dependencies 
    - Relationships
    - Tabular object dependencies in DAX 
          - Calculated column expressions
          - Measure expressions
          - Calculated table expressions
    - Calculation groups
    - Security 
          - Row Level Security (RLS)
          - Object Level Security (OLS)
    - Sort by column
- Report level dependencies 
    - Filters 
          - Report filters
          - Page filters
          - Visual filters
    - Anywhere on Visuals including but not limited to 
          - Axis or values
          - Conditional formatting
          - Dynamic conditional formatting
          - Tooltips
    - Report level measures
    - Report level measure’s dependencies 
          - Dependency on other report level measures
          - Dependency on dataset fields

#### The definition of Unused Fields

By having the definition of the used fields on hand, the unused ones are those fields that do not appear in the list of used fields.

#### The definition of Used and Unused Tables

A used table is a table with at least one field appearing in the list of used fields. Conversely, an unused table is a table with no fields appearing in the used fields’ list.

### Understanding the CSV output

As you may have already noted, identifying the dependencies between dataset objects and all connected thin reports is a complex process. So the size of generated CSV file varies depending on the dataset size, its complexity, the number of connected thin reports, and their complexity. We are also aware that CSV is not the easiest format to understand and interpret the information, so we aim to prepare a user-friendly UI in the future. But for now, let’s pick one option and see what we get in the CSV file and how to interpret the data.

In my sample, I selected a dataset and 11 thin reports. The following image shows the results in the downloaded CSV file for Used Fields looks like the below when opened in Excel:

[![Unused fields CSV output from Thin Report Add-on in Power BI Documenter](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_29032ee4-1024x96.png?resize=900%2C84&ssl=1)](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_29032ee4.png?ssl=1)

Unused fields CSV output from Thin Report add-on in Power BI Documenter

We can filter the title to answer many questions such as the following:

##### What report level measures do we have in all thin reports?

To answer this question we just need to filter the CSV when the **Type** column is *REPORT\_MEASURE*. The following image shows the results:

[![Report level measures across all thin reports using Thin Reports add-on in Power BI Documenter](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_295f8060-1024x72.png?resize=900%2C63&ssl=1)](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_295f8060.png?ssl=1)

Report level measures across all thin reports

##### Where the ***Date*** column from the *Date* table is used across the dataset and thin reports?

To answer this question we need to filter the CSV when both the **Table** and **Type** columns’ value is *Date*. The following image shows the results:

[![All dependencies on the Date column from the Date table using the Thin Report add-on in Power BI Documenter](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_296b09bf-1024x218.png?resize=900%2C192&ssl=1)](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_296b09bf.png)

All dependencies on the Date column from the Date table using the Thin Report add-on in Power BI Documenter

##### What is the impact of changing the ***Transport Cost***, a dataset measure, on report level measures?

To answer this question we just need to filter the CSV as follows:

- Filter the **Field Name** column to *Transport Cost*
- Filter the **Type** column to *Measure*
- Filter the **Dependent Report** column and exclude *Blanks*
- Filter the **Dependent Field Expression** column and exclude *Blanks*

The following image shows the results:

[![Dataset measure to report level measures dependencies using This Reports Add-on in Power BI Documenter](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_29576e08-1024x60.png?resize=900%2C53&ssl=1)](https://i0.wp.com/www.biinsight.com/wp-content/uploads/2022/07/Snag_29576e08.png)

Dataset measure to report level measures dependencies using Thin Reports add-on in Power BI Documenter

These are only a few examples of questions we can answer using the CSV output of the Thin Report add-on in the Power BI Documenter as you can imagine. For more information about how the Thin Report add-on works watch the following short video:

Do you like what you see? If your answer is yes, continue reading.

### Enabling the Data Vizioner thin report add-on

As the name of this feature implies it is an add-on that you can enable on your Power BI Documenter account. We currently enable this add-on only via request. I hear you ask ***Why?*** As mentioned earlier, the process of identifying all interdependencies between the dataset objects and all thin report objects is pretty resource-intensive. If you're interested in the Thin Report add-on, please get in touch and we can setup a demo.

LEADING DATA INTELLIGENCE PLATFORM

Enhance governance, accelerate analysis and automate documentation with a single data intelligence platform.

[GET A FREE ACCOUNT](http://app.datavizioner.com/signup)

<https://www.datavizioner.com/resources/thin-reports-real-world-challenges#/>

<https://www.datavizioner.com/resources/thin-reports-real-world-challenges#/>

 EBOOK

## Get our free ebook on how you can level up your B2B SaaS content marketing

Get our free ebook on how you can level up your B2B SaaS content marketing

[Soheil Bakhshi](https://www.datavizioner.com/resources/author/soheil-bakhshi)

 7 July 2022

<http://www.facebook.com/share.php?u=https://www.datavizioner.com/resources/thin-reports-real-world-challenges&utm_medium=social&utm_source=facebook> <http://www.linkedin.com/shareArticle?mini=true&url=https://www.datavizioner.com/resources/thin-reports-real-world-challenges&utm_medium=social&utm_source=linkedin> <https://twitter.com/intent/tweet?original_referer=https://www.datavizioner.com/resources/thin-reports-real-world-challenges&utm_medium=social&utm_source=twitter&url=https://www.datavizioner.com/resources/thin-reports-real-world-challenges&utm_medium=social&utm_source=twitter&source=tweetbutton&text=> [mailto:?subject=Check%20out%20https://www.datavizioner.com/resources/thin-reports-real-world-challenges&utm_medium=social&utm_source=email%20&body=Check%20out%20https://www.datavizioner.com/resources/thin-reports-real-world-challenges&utm_medium=social&utm_source=email](mailto:?subject=Check%20out%20https://www.datavizioner.com/resources/thin-reports-real-world-challenges&utm_medium=social&utm_source=email%20&body=Check%20out%20https://www.datavizioner.com/resources/thin-reports-real-world-challenges&utm_medium=social&utm_source=email)

## Similar posts

<https://www.datavizioner.com/resources/thin-reports-report-level-measures-and-data-model-measures>

Analysis

### [Thin reports: Report level measures and data model measures](https://www.datavizioner.com/resources/thin-reports-report-level-measures-and-data-model-measures)

Learn more about report level measures - what they are, when and why we need them, and how we create them.

 Soheil Bakhshi  Jul 1, 2022

<https://www.datavizioner.com/resources/thin-reports-what-are-they-and-why-should-i-care-and-how-can-i-create-them>

Analysis

### [Thin reports: What are they and why should you care?](https://www.datavizioner.com/resources/thin-reports-what-are-they-and-why-should-i-care-and-how-can-i-create-them)

Find out why using a shared dataset allows organisations to have a single source of truth with the help of thin reports.

 Soheil Bakhshi  Apr 27, 2022

<https://www.datavizioner.com/resources/power-bi-101-what-is-power-bi>

Power BI 101

### [Power BI 101: What is Power BI?](https://www.datavizioner.com/resources/power-bi-101-what-is-power-bi)

New to Power BI? Find out about the benefits and common challenges, misconceptions and misunderstandings as you start creating your first reports.

 Soheil Bakhshi  Sep 30, 2021

![logo-light](https://www.datavizioner.com/hubfs/logo-light.png)

Industry leading data intelligence to enhance governance, explore lineage and automate documentation across your organization.

### Popular

- [Platform](https://www.datavizioner.com/platform)
- [Services](https://www.datavizioner.com/services)
- [Pricing](https://www.datavizioner.com/pricing)
- [Enterprise](https://www.datavizioner.com/pricing/enterprise-government)

### Products

- [Power BI Documenter](https://www.datavizioner.com/power-bi-documenter)
- [Power BI Exporter](https://www.datavizioner.com/power-bi-exporter)
- [Power BI Service Connector](https://www.datavizioner.com/additional-connectors)
- [Analysis Services Connector](https://www.datavizioner.com/resources/connect-to-analysis-services)

### Resources

- [Insights](https://www.datavizioner.com/resources)
- [Case studies](https://www.datavizioner.com/resources/tag/case-studies)
- [Product updates](https://www.datavizioner.com/resources/tag/product-updates)
- [Partners](https://www.datavizioner.com/partners)

### Support

- [10 minute overview](https://www.datavizioner.com/power-bi-documenter)
- [Specialist support](https://www.datavizioner.com/contact)
- [Upgrade account](https://www.datavizioner.com/contact)
- [Become a partner](https://www.datavizioner.com/partner-program)

Copyright © 2026 Data Vizioner Limited | [Privacy Policy](https://get.datavizioner.com/privacy-policy) | [Terms of Use](https://get.datavizioner.com/terms-of-use)

 

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Soheil Bakhshi",
    "url" : "https://www.datavizioner.com/resources/author/soheil-bakhshi"
  },
  "dateModified" : "2022-07-07T07:46:53.092Z",
  "datePublished" : "2022-07-07T07:43:21.000Z",
  "headline" : "Thin Reports: Real-world challenges",
  "image" : [ "https://www.datavizioner.com/hubfs/thinreports.png" ],
  "mainEntityOfPage" : {
    "@id" : "https://www.datavizioner.com/resources/thin-reports-real-world-challenges",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://www.datavizioner.com/hubfs/at-2.png"
    },
    "name" : "Data Vizioner"
  }
}
```