Forum Discussion

mohitkumawat's avatar
mohitkumawat
Icon for Impactful Individual rankImpactful Individual
3 years ago

Get information of each dataset

Hi All,

To retrieve information about workspace names, dataset names, report names, table names, and column names in Power BI for each dataset within each workspace and export this information to a CSV file using PowerShell,

kindly provide Powershell code for the above requirements 

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    You can try this script by Ferry Bouwman Power-BI-Read-Only-REST-API/Powershell/Read-only Admin API.ps1 at main · ferrybouwman/Power-BI-Read-Only-REST-API · GitHub

     

    I haven't tested this myself, I use ADF and SQL DB but it should get you part of the way to your goal. However, you will still need to expand the JSON to get the dataset, report and table details etc. You might also need to amend the script and update your PBI admin settings to get the tables component.

     

     



    Example to get the Reports data out of the scanResult output if you wanted to land the data in SQL DB but otherwise you could just use the script outpput and expand in Power Query.

     

    SELECT WorkspaceId, state, datasetId, createdDateTime, modifiedDateTime, id ReportId, name ReportName
    FROM (SELECT id AS WorkspaceId, state, reports
    FROM [stgpowerbi].[WorkspaceInfo]) AS A CROSS Apply OpenJson(reports) WITH (id nvarchar(max), datasetId nvarchar(max), createdDateTime date, modifiedDateTime date, name nvarchar(max))