Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
ErikVoorbraak
New Member

REST API for creating Power BI datasets, tables and columns

I'm looking for a REST API that I can use to manage Power BI datasets: create dataset, add/remove tables, add/remove columns, add/remove measures, etc. In my specific use case, I intend to consume such API in Java.

 

So far, I found this resource: https://learn.microsoft.com/en-us/rest/api/power-bi/, which allows me to get only base data of my datasets. I cannot access tables and columns, let alone modify them. The Java libraries I tried reflect this (https://github.com/satalyst/powerbi-rest-java, https://github.com/satya64/powerbi-sdk-java). 

 

I am aware that there is a possibility to do this using "Microsoft.AnalysisServices.Tabular.dll" (https://learn.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.model?view=analysiss...), but as far as I can judge, there is no REST endpoint for this. Lastly, I looked at XMLA endpoints, which looked rather far from what I was expecting.

 

Am I missing some API? Any hints would be appreciated.

4 REPLIES 4
Daryl-Lynch-Bzy
Resident Rockstar
Resident Rockstar

@ErikVoorbraak  - this is the API call to import a dataset. Imports - Post Import In Group - REST API (Power BI Power BI REST APIs) | Microsoft Learn.  This will create or replace if already exists.

@Daryl-Lynch-Bzy So to import a dataset, I should send over a pbix file? I know that pbix is a ZIPped folder structure, most of which is quite readable, with one exception: the "DataModel" file (compressed with "xpress 9"). So how should I create the PBIX? Or should I send something different?

Daryl-Lynch-Bzy
Resident Rockstar
Resident Rockstar

Hi @ErikVoorbraak - It is not possible to edit the Data Model (add/remove tables, add/remove columns, add/remove measures) via the Rest API.  You can only create, replace and refresh.

If you want to modify the Data Model (add/remove tables, add/remove columns, add/remove measures) you will need to use an XMLA endpoint tool.  Tabular Editor is the most popular external tool.  Try the paid version, Tabular Editor 3.  Tabular Editor 3

 

You may want to check out pbi-tools CLI | pbi-tools as this allows you to manage Power BI datasets GitHub / VS Code.

Hi Daryl,

 

Thank you for your answer. You wrote "You can only create, replace and refresh" - are you referring to the API documentation on https://learn.microsoft.com/en-us/rest/api/power-bi/? Looking in the section "Datasets", I cannot find a REST call to create or replace (non-empty) datasets. Should I look in a different place?

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.