Forum Discussion

mpgoggin's avatar
mpgoggin
Advocate II
3 years ago
Solved

Version Control / Quality Control Best Practices

Hello Power People, What's the best practices around version control for PowerBI? In particular:   - How can i verify what items (e.g., tables, measures, columns, pages, visualizations, calculated...
  • TomMartens's avatar
    3 years ago

    Hey mpgoggin ,

     

    unfortunately, there is no simple answer. Until now, there is no built-in solution for versioning. If your pbix files are thin reports of course, you can use tools like Azure DevOps or git for the versioning. But as a pbix is binary, you can not use these tools for comparison. Depending on your needs, you can also consider storing your pbix inside a Sharepoint library and use the check-in/check-out mechanisms, but of course, versioning requires some kind of discipline. Also, you can use onedrive for business, as it also provides versioning of a file, meaning - if you break something, you can restore a pbix. This depends of the settings made by your organization, depending on the size of the artifact, the number of versions can be limited.

    Comparing artifacts is also not built-in. Nevertheless, comparing datasets is quite simple by using the ALM Toolkit: Home Page - ALM Toolkit (alm-toolkit.com).
    Comparing content, meaning comparing data visualizations is really hard. I started out with using the c# script from here: Export Power BI Report Objects (elegantbi.com) The script extracts data and provides information about what visualization are used, what data objects (columns and measures) are used inside the visualizations, and a lot of more things.

    There are also  tools available like the

    The order of the above tools does not reflect my preference, currently I/we are using none of them, maybe this will change or we creating our own solution.

    Hopefully, this provides some ideas and gets you started.

     

    Regards,

    Tom

  • Anonymous's avatar
    Anonymous
    3 years ago

    The Power BI Admin API has data about which datasets are using which queries and DAX measures, but I don't think it includes calculated columns. If you have the engineer resources, you can ETL it into your data warehouse and report on it. It has the full Power Query text, so you can search that for specific things. For example, we use this to check to see if/which reports are using specific database tables. It's hit or miss for columns, though, because depending on how the query was written, the column name may not appear in the actual query text (e.g. if you pull all columns and then remove specific ones, the columns you're using from the source table won't actually be referenced).

     

    I don't believe it'll give you specific info about the tabs of reports or what visuals are being used... it's better than nothing though. 

     

    Microsoft Purview is another option if you're looking for lineage info at the tenant level.