Power BI Designer API
Power BI Designer saves a local PBIX file, which can be a file to export data and data model – in other words, it’s a format that contains a complete semantic model. All the applications that today export data in several formats (CSV, Excel, XML), might provide a richer semantic model exporting a PBIX file.
Many ISV/SI that have OLTP and other applications that stores data in some database, usually struggle to offer a compelling BI story to their customers. The smaller they are, the more they feel this pressure because probably the effort they can put in their custom software is minimal.
Today these ISV/SI integrate their solution with external vendor technologies (QlikView is a common choice here). However, the cost of such a solution for the end user is not always appealing, and for this reason the MS partner ecosystem always look for components (charts and pivot tables) to integrate in their solutions.
Providing them an easy and inexpensive way to produce PBIX files “ready to use” straight from their product/solution would provide several benefits:
Customers would have something ready to be uploaded to Power BI service
ISV/SI would be able to provide a BI solution integrated with MS ecosystem
ISV/SI can implement solutions like “send a PBIX file via mail every week to all the agents including only the data of their prospects/customers” - Today they already do that using the .CUB format, which can be consumed by both Excel and custom applications
Microsoft would increase the number of Power BI users very quickly - Small ISV/SI would be able to implement such integration very fast
What I propose to do is, in descending order of importance:
1) Support Power BI Designer as a local engine with an API that can be used by anyone and officially support local connections by other programs (starting from Excel)
The API should provide the ability to create a data model and to populate it with data by just using API, without any manual interaction
Providing the ability to connect from other clients (today it is possible but not officially supported) would increase the adoption.
2) Document and “open” the PBIX file, so that it can be generated by anyone
I think that this is easy for the data model, but not for the data.
But without the data, this model would be not so useful, requiring a manual refresh to be populated.
3) Open source the Power BI Designer
- Not really a priority in my opinion, but if the first two wouldn’t be possible, this one could be ok
Hi everyone. There are some really interesting ideas in this thread, thanks for your vocal support about it! We’ll consider it for the future along with other suggestions and plans. Thanks!
Andrew MacKinnon commented
We desperately need functionality like this. I am working to create a Power BI report based on web survey data and there are several dozen questions. There is a page for each question and each page is essentially the same except for the variables shown, but each page requires creating dozens of (very similar) measures for each question and then displaying graphics. We need an API that can automatically generate a report with dozens (or hundreds or thousands) of very similar pages, so I don't have to create measures and edit each page manually. Without this functionality Power BI is not a suitable replacement for SSRS for certain projects which require creating hundreds of very similar pages. Also this would make it a lot easier if we want to implement a change (e.g. modify layout or styling) on every page, we can just modify the layout once and regenerate the report instead of manually editing dozens of pages individually.
With some effort it is possible to read the definition *from* a PBIX file, but programmatically setting elements *to* a PBIX file is not possible due to it's unknown hash.
Any way that enables writing to PBIX gives the benefit to automate and professionalize creation and deployment of PBIX files or published reports/dashboards/datasets etc.
The outcome of this would be a win-win to further automate standard things ánd when needed still manually work with PBIX files with pragmatism.
- setting custom displaynames eg. different languages, creating
- datamodel elements automatically for eg. workflows, like datepoints, steps, durations, calculations, kpi's in the form of columns, calculated columns or measures.
This is critical for an upcoming project. We need an API to create something like
Set oApp = New PBIApp()
Set oReport = PBIApp.Reorts.Add()
Set oMatrix = oReport.Visualization.Add("MS.Matrix")
oMatrix.X = 0
oMatrix.Y = 0
oMatrix.Width = 200
oMatrix.Height = 200
Please make it happen.
Olivier Schmitt commented
Any progress here ?
Dmitri L Kuznetsov commented
this is a final missing step for automating Power BI Reports deployment and this feature is highly desirable. Please add as soon as possible. Thank you
We are strugeling with this for all our technical teams in our company. It looks like this will be a reason for us to move to another bi product, like looker because it does it much simpler for them
JESUS GONZALEZ commented
Please we need it !
Need to add tons of template measures. Please add this feature!
Creating multiple measures has become a very time consuming exercise as my model has grown; some way of adding multiple at once would be an absolute lifesaver and be a real silver-bullet for productivity!
Under review for four years?
The development experience with Power BI data models must be improved, especially in terms of UI speed/responsiveness.
Even simple changes on a relatively small and simple model take too long to apply...
At the very least it's necessary to "be able to toggle whether the measure gets calculated instantly or later (similar to Excel)".
Under review for 4 years, nice PBI. This would save so much time. Or, at least, be able to toggle whether the measure gets calculated instantly or later (similar to Excel), so it's just a copy paste exercise in the interim
We need a scripting pane, to create more than one measure at a time, so arduous if you are creating many measures
Adam Tappis commented
Guys what's the hold up? I need to automate the generation of several hundred reports based on a template and publish them as offline pbix files in the file system. No PowerBI service, no PowerBI server, just standalone files for PowerBI desktop. I assumed such an API should exist but it it would appear that you just wish to force everyone to use the PowerBI Service
We really could do with something that allows us to create custom connectors to legacy systems as it would prevent the current need for FTP transfer of flat file extracts, which is error-prone and labour intensive.
[Deleted User] commented
I don't get why the MS Power BI Team don't make this dev a top priority! It would greatly benefit Microsoft, greatly benefit current Power BI users, and be extremely tempting to all those SMBs, the backbone of our economies, who can't afford Premium PBI. It's a win, win, win situation! Come on Microsoft!
William Schmidt commented
2015 was a long time ago. This would be a great capability. Right now if you want to generate anything you have to move to Tabular SSAS and use AMO, but that lacks the portability of a Power BI file. Please allow API-based automation soon!
Is there a way to unpackage the pbix file to get to the XML?
Michael Sanders commented
I agree with all the previous comments. At a minimum, i need to the ability to read pbix files to scan for data elements, etc that might be needed for any e-discovery or legal hold perspective.
This functionality is a higher priority than the Python/R support that has been rolled into power BI. This is because it would enable the developers that already wrote the corporate legacy systems to provide the normalized/denormalized pbix models that the analysts are actually writing the Python/R scripts to create