I think Power FX Command designer is going to be the news of the month (or, possibly, of the whole summer): https://powerapps.microsoft.com/en-us/blog/announcing-command-designer-with-power-fx-preview/
However, that’s something I’ll need to look at a bit later. In the meantime, there was a more pressing need on the project I’ve been working on, and that’s all about setting up some sort of ALM for Power BI Paginated reports.
In hindsight, it seems “specialization” is starting to bite me every now and then. Microsoft keeps building functionality in different areas, and keeping up with all of that is not that simple.
However, first things first.
I was looking for a way to set up Dev/Test/Production deployment process for Power BI Paginated Reports. Unlike with SSRS reports, where reports can be added to Dataverse solutions, Paginated Reports have nothing to do with Dataverse – they treat it as yet another datasource, but, other than that, they are not integrated that much. They are not showing up in the user interface unless we add links in the app designer (or, possibly, through that new Power FX Command designer?) and they cannot be added to the solutions.
My original response to that problem was to write a Power Shell script that would be using Power BI Rest API to help with the ALM. It might be a topic for another blog post, but it took me almost two days to figure out how that might work, and, as I was still digging into it, here is what I found:
Wow! To be honest, this whole ALM question for Power BI reports kept bothering me for the last few months, but I never had time to dig into it until recently. And just when I was about to give up on the complete automation, since I was hitting some issues with Power Shell, so it would have been limited anyways… it turned out most of my questions have already been answered.
What exactly can we do with deployment pipelines?
- We can deploy workspace components from dev workspace to test workspace, and, then, to prod workspace
- We can deploy some components, or we can deploy all
- We can configure rules, so, for instance, when deploying a report from Dev to Test, we can specify datasource rules to automatically connect our report to a datasource in the test environment. And, then, we can configure similar rules for production deployments
So, basically, with the rules above, my paginated report, once it’s deployed to the test environment, will have its connection string updated so it starts querying data from the test dataverse environment (instead of the dev environment).
This, of course, is not the same as solution deployment in Dataverse, but, that said, paginated reports will most likely be developed, tested, and deployed separately from other solutions components anyways. And, even though we don’t necessarily need this to be integrated with Azure Devops, we can still do that, too, if this is what we would prefer to do:
There are only a couple of obvious issues:
- This will only work for the organizations which have premium capacity. That might not be such a big deal keeping in mind that paginated reports do need premium capacity either way
- If you wanted to create a pipeline, you’d have to be an admin in the new workspace experience (I don’t know enough about Power BI to identify all possible implications, but, for example, I will probably have to request those permissions on the project, since, right now, I can’t create workspaces there. All the screenshots above are from my own tenant)
Hope this helps! And I’m off to trying Power FX Command designer now…