03 - Power BI CI-CD With Tabular Editor
03 - Power BI CI-CD With Tabular Editor
Our company:
Tabular Editor ApS
Based in Denmark
Founded in 2021 as a spinoff of Twoday Kapacity
Small, dedicated team (developers, PMs, support, commercials)
Part of Twoday Denmark
What is Tabular Editor?
Offline semantic model editor for:
• SQL Server 2016+ Analysis Services (Tabular)
• Azure Analysis Services
• Power BI Desktop (External Tool)
• Power BI Premium / Embedded (via XMLA endpoint)
• Fabric (via XMLA endpoint)
Tabular Editor 2.x (free, open-source)
• Includes CLI – required for automation!
Tabular Editor 3 (commercial license, free 30-day trial)
https://tabulareditor.com
From: https://learn.microsoft.com/en-us/power-bi/developer/projects/projects-build-pipelines
What are Azure DevOps Pipelines?
Orchestration of a wide range of tasks related to
application lifecycle management (ALM)
For various purposes:
• Build
• Validation
• Test
• Deploy
• Release
Using various tools:
• PowerShell
• CMDline
• MSBuild
• …and MANY more
Branch policies
Used to enforce Pull Requests on a git branch
Number of reviewers
Pipeline execution
Merge types
etc.
Validation pipeline
Tasks:
• PowerShell: Download Tabular Editor (and default rules)
• PowerShell: Run Tabular Editor Best Practice Analyzer
https://github.com/microsoft/Analysis-Services/blob/master/pbidevmode/sample-ado-
pipelines/ContinuousIntegration-Rules.yml
(Also includes Report best practice analyzer, using PBI Inspector)
Example workflow
Multiple options for Semantic Model developers:
Local Git + Code only (TMDL / Tabular Editor)
Fabric Git + XMLA only (Tabular Editor)
Local Git + Power BI Desktop
Fabric Git + Web Modelling
Demo
Gotchas
Local development with PBI Desktop
• Actual data resides in /.pbi
• Add “.pbi” to .gitignore
• Add .pbip file to folder root, to open in Desktop (ignored by Fabric)
Be careful when switching branch in a Fabric Workspace
• Ideally – create a new workspace when starting work on a new
branch
Deployment pipeline
Tasks:
• PowerShell: Download dependencies
• PowerShell:
• Authenticate Service Principal, and deploy PBI workspace (uses Fabric REST
APIs)
https://github.com/microsoft/Analysis-Services/blob/master/pbidevmode/sample-ado-
pipelines/ContinuousDeployment.yml
Demo
Thank you
Additional resources: