0

I intend to get list Power BI Measures and Columns from a Power BI dashboard published in Power BI workspace. Is it possible to get this via Power BI REST API or PowerShell?

What I have tried so far:

  1. Downloaded the PBIX and saved the same as a template file
  2. I then programmatically got the measures and columns from the template file(saved as zip)

Is there a simple approach for this? I am aware of DAX studio but I am looking for a solution or an approach that can directly connect to workspace and get the details.

1 Answer 1

1

The Power BI API returns admin info on the state of a dataset, but not the data structure.

If the dataset is compatible and the XMLA endpoint for the workspace is open, you can connect to that and use it like you would an Analysis Services database, including getting the measures and columns. You can use any tool or custom code that implements the MSOLAP or AMODB libraries. DAX Studio is just one of these options. The url of a workspace will be powerbi://api.powerbi.com/v1.0/[tenant name]/[workspace name]

Sign up to request clarification or add additional context in comments.

5 Comments

Thanks! I can only see limited databases\reports when I connect via SSMS, whereas I cannot see other reports(even though they are shared with me), anything wrong with these reports? OR I need some additional permissions?
I think it doesn't supports reports which are connected to SSAS in Live Mode :(
Live Analysis Services connections are a bit of a special case. Since it is essentially the same engine, it would be redundant to duplicate all of that within Power BI. Do you have the ability to connect to the Analysis Services instance directly via SSMS?
Yes I do have the ability to connect to the source Analysis Instance(that was being used to build that Power BI) and I can get the list of measures from there(using DMV's) as well but NOT all the measures would be getting used in a Power BI(on the report page) and hence the need to get only the USED measures from the report.
Connecting to the dataset in Power BI (if this was a Power BI model) won't do this for you- you are essentially still connecting to an Analysis Services database. There isn't really a straight forward way of finding this info currently. I did find this post that uses the performance analyzer to record what measures are being used while loading each report page and then comparing it to a list of measures and their finding dependencies. Should work with Analysis Services as well.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.