Request A Demo
Back to All Blog Articles

DevOps for Azure Power BI

Power BI is a unified self-service and enterprise analytics solution that allows you to visualize your data, and share insights across your organization.

FlexDeploy simplifies the deployment automation of Reports and Semantic Models across workspaces. It works seamlessly with workspaces of any capacity, be it Pro or Premium.

This blog will help you understand why FlexDeploy is an ideal choice for implementing DevOps and Continuous Delivery with Power BI service. 

FlexDeploy’s Azure Power BI Support

 FlexDeploy provides an Azure Power BI plugin, offering out-of-the-box support. This means no more writing, testing, and maintaining scripts, or doing manual tasks. With the Power BI Plugin users can:

  • Integrate with Power BI to export and import Reports and Semantic Models including LIVE reports and shared semantic models. 
  • Rebind a specified LIVE report to a semantic model of user’s choice, from the same or a different workspace. 
  • Run an on-demand refresh of semantic models to reflect the latest data for correct visualization in reports. 

Here is a visual representation of how these features are achieved by each plugin operation: 

FlexDeploy Power BI Plugin operations

Deployment of reports 

FlexDeploy enables the migration of Reports and Semantic Models from one workspace to another, and from Git to a target workspace. Users have full flexibility to opt for both options.

However, as per standard best practice, we will depict how we can grab the reports from a workspace, move them to Git, and then deploy them to another workspace. This will comprise a two-step process. 

Step 1: Automate check-in of development Power BI reports to SCM 

Exporting Files from Power BI Workspace to SCM

FlexDeploy enables the automated check-in of Power BI reports from the source Power BI workspace. The exported reports (.pbix) will be copied to the corresponding SCM Repository.

FlexDeploy Bot or User will discover files from the source Power BI workspace and then sync them to the GitHub Repository.

The operation exportContents is responsible for getting the package files exported from the Power BI source workspace.

This is the operation and the inputs required: 

FlexDeploy Power BI exportContent operation

Here is the source Workspace from where we will export the Reports: 

Power BI Source Workspace

With FlexDeploy’s powerful package-based build feature, the operation can selectively export. 

FlexDeploy Build Execution Files

This is the general flow of exporting the reports from Power BI Workspace and syncing them to the GitHub Repository 

  1. Clone the Git repository where we want to sync the reports
  2. Export reports from the Power BI workspace
  3. Add the exported reports to Git 
  4. Commit the changes 
  5. Finally, push the changes to our Repository 
FlexDeploy Build Execution Workflow steps

This is how Git looks after the reports have been exported from the workspace and pushed to Git.

Github after files are pushed from Workspace to Git

The user will now have full control over the exported files and these can be moved across different feature branches in Git as well as per changes planned for deployment.

The next step is to deploy these files to respective target environments. 

Step 2: Build the Reports from Source Control and Deploy to Power BI Workspace 

Deploying Contents to Power BI from Source Control

In this process, we will discover reports from SCM, and then initiate the Build workflow, where files (.pbix) will be stored as artifacts. In the Deploy workflow, we will import the reports (Files stored as artifacts) to the Power BI workspace.

FlexDeploy Bot or User will discover files from the GitHub Repository to the Power BI workspace. 

The operation importContents is responsible for getting the package files exported from the Power BI source workspace: 

FlexDeploy Azure Power BI importContents workflow

Execution: 

Deploy Workflow Execution Files status

Post Deployment, the Target workspace will have all the reports we imported previously. 

Power BI Target workspace

The deployments are always incremental, which means if there are some different named reports already existing in the target workspace, the next execution won’t remove those.

Apart from these two main export-import functionalities we also have a few other ad-hoc offerings to help users in managing reports in the Power BI workspace more efficiently.  

Refreshing Semantic Model 

If we require an on-demand refresh of the specified Semantic Model in a workspace, we can use the refreshSemanticModel operation.

The refreshSemanticModel will have the Semantic Model name/id as an input, along with the refresh type and the commit mode. 

Rebind Report to a Semantic Model 

Similarly, to rebind a LIVE report to a shared semantic model, we can use the rebindReport operation. 

Conclusion

In this blog article, we have outlined the steps to configure FlexDeploy as an automation solution for deploying Azure Power BI reports across various workspaces. With FlexDeploy’s release mechanism, we can transfer reports from one workspace to higher workspaces and eventually the Production Workspace with proper approvals and quality checks.

Related Resources

New In FlexDeploy 9.0 – Credential Support For SSH Keys

Incorporating SSH keys are an easy way to add a layer of security to your development and delivery processes. Once ...

FlexDeploy 8.0: A Milestone in Transformation

Ready to supercharge your DevOps journey? Dive into this recording of the FlexDeploy 8.0 release webinar and discover the exciting ...

What’s New in FlexDeploy 8.0 – Elevating Workflow Management to New Heights

FlexDeploy 8.0 marks the culmination of a three-year journey aimed at enhancing FlexDeploy’s overall user interface and experience. I am ...

Join DevOps leaders across the globe who receive analysis, tips, and trends in their inbox