Skip to main content
BI4ALL BI4ALL
  • Expertise
    • Artificial Intelligence
    • Data Strategy & Governance
    • Data Visualisation
    • Low Code & Automation
    • Modern BI & Big Data
    • R&D Software Engineering
    • PMO, BA & UX/ UI Design
  • Knowledge Centre
    • Blog
    • Industry
    • Customer Success
    • Tech Talks
  • About Us
    • Board
    • History
    • Sustainability
    • Awards
    • Media Centre
    • Partners
  • Careers
  • Contacts
English
Português
Last Page:
    Knowledge Center
  • Fabric Model Analyzer: Entreprise-scale best practices monitoring

Fabric Model Analyzer: Entreprise-scale best practices monitoring

Página Anterior: Blog
  • Knowledge Center
  • Blog
  • Fabric: nova plataforma de análise de dados
1 Junho 2023

Fabric: nova plataforma de análise de dados

Placeholder Image Alt
  • Knowledge Centre
  • Fabric Model Analyzer: Entreprise-scale best practices monitoring
19 May 2026

Fabric Model Analyzer: Entreprise-scale best practices monitoring

Fabric Model Analyzer: Entreprise-scale best practices monitoring

Introduction

Semantic models are the core component in Business Intelligence (BI) projects. They serve as the source for reports, dashboards, and AI outputs — including Copilot, data agents, and MCP servers.

In Microsoft Fabric and Power BI, the semantic model artifact represents much more than a dataset (as it was previously known). It also encompasses relationships between tables, field hierarchies, measures (metrics and KPIs), functions, perspectives, security rules, and more.

A well-developed semantic model follows a set of best practices for tabular modeling. As solutions grow in enterprise scenarios, one question naturally arises.

How do you keep track of best practices across multiple semantic models, especially in self-service BI environments?

 

Best Practice Analyzer (BPA)

The first answer to this question is the Best Practice Analyzer (BPA) ruleset. An official list of rules — covering DAX expressions, error conventions, error prevention, formatting, maintenance, naming conventions, and performance — was created by Michael Kovalsky, Principal Program Manager at Microsoft. He is also the creator of Semantic Link Labs, a Microsoft Fabric library covered in the next section.

When the BPA was first released, the recommended approach was to use it alongside the open-source community tool Tabular Editor. This tool is widely adopted, offers both free and paid versions, and remains popular in the Power BI community.

However, this process requires configuration and has meaningful limitations in terms of output and scalability. The tool must be installed locally, and the rules must either be downloaded as a JSON file and placed in the tool’s folder or loaded at runtime via a C# script in the advanced scripting window.

Once configured, the tool connects to the model — locally or remotely through the XMLA endpoint — executes the BPA rules, and outputs the results. From there, the developer can begin addressing issues or export the results as a flat file for further analysis, potentially combining output from multiple models at the same time.

This process can already be daunting for many users, and it is limited to one model at a time in a local development environment. That raises a new set of questions.

1. How can the process be simplified?

2. How can it be applied to multiple models simultaneously?

3. How can it run in a cloud environment, without depending on local tool installation and configuration?

4. How can the output be standardized and centralized for analysis and governance at enterprise scale?

 

Fabric Model Analyzer (FMA)

Microsoft Fabric brings many experiences together on a single data platform. This includes Lakehouses for data storage and notebooks for data processing. The Fabric Model Analyzer (FMA) is a semantic model Best Practice Analyzer built entirely on those artifacts.

Being a fully cloud-based solution, FMA already answers question 3. No local tool installation or configuration is required. The only setup needed is creating the base artifacts (a Lakehouse and a Notebook) and installing the Semantic Link Labs library.

 

Semantic Link and Semantic Link Labs

Semantic Link is a Python library native to Microsoft Fabric, maintained by Microsoft. It includes many helper functions for working within the Fabric environment and was originally designed to give data scientists easy connectivity to semantic models inside notebook experiences.

However, it quickly gained traction among data modelers, BI developers, analytics engineers and Fabric administrators, as it enables connectivity to tabular models without relying on external tools like Tabular Editor.

Semantic Link Labs is also a Python library created by Michael Kovalsky that extends Semantic Link with many additional capabilities. It includes numerous Fabric API wrappers and functions, and the most widely used features are often later incorporated into Semantic Link itself. It is important to note that Semantic Link Labs is not officially maintained by Microsoft — it is an open-source, community-driven library, similar in nature to Tabular Editor.

One of those capabilities is the BPA, which Semantic Link Labs can also apply across multiple semantic models simultaneously, answering question 2.

 

FMA Architecture

One of the main advantages of FMA over other approaches is the simplicity of its streamlined process. It has a clear lineage between artifacts and can be deployed quickly in any Fabric-enabled environment.

YouTube Video Thumbnail

Requirements:

  • Fabric Capacity: FMA is a Fabric-based solution and requires a Fabric Capacity as its compute layer. Semantic Link Labs is also only available in the Fabric environment.
  • Lakehouse: Required as storage for the solution. Results are saved to a Delta table in an append process, ensuring structured data and a complete history — no more flat files. The Lakehouse must also be set as the default lakehouse for the Notebook.
  • Notebook: Contains the complete logic for installing the Semantic Link Labs library, reading semantic models in batch, applying the BPA rules, saving results to the Delta table, and creating a Direct Lake semantic model over the results for reporting. The last step only needs to be executed once during setup.
  • Environment (Optional): An Environment artifact can be configured to include the Semantic Link Labs library, eliminating the need to install it on each Notebook execution. Note that this comes with a trade-off: it adds startup time to the Notebook session.

Limitations:

  • Premium Workspaces: Only Premium Workspaces can be scanned by FMA. This is a consequence of the Semantic Link Labs implementation, which reads model metadata via the XMLA endpoint — a Premium feature. All Premium Workspace types are supported: Fabric, Premium Per Capacity, Premium Per User (PPU), Embedded, and Trial.
  • Custom Rules: The current setup uses the default BPA rules defined by Microsoft. Custom rules are not supported in multi-model batch mode, though they can be applied when running the BPA against a single model.

Despite being a code-based solution, the code is simple, parameterized, well-documented, and readable. Once in place, it only needs to be executed — which answers question 1 by significantly simplifying the original process.

 

FMA Deployment

In a Fabric-enabled workspace, the first step is to create a Lakehouse. Schemas are optional; if enabled, the Delta table will be automatically created under the dbo schema (automatically).

Next, upload the FMA Notebook to the workspace. Inside the Notebook, attach the previously created Lakehouse as the default, then update the parameters.

Parameters:

  • workspaces: A list of workspaces where the semantic models reside (Premium only).
  • skipped_models: A list of semantic models to exclude from analysis. This should include the model that will be created by FMA itself, to prevent it from analyzing its own output. Additional models can be added as needed.
  • workspace_name: The name of the workspace where the FMA model will be created.
  • lakehouse_name: Lakehouse which will have the modelbparesults table (the default lakehouse created earlier).
  • model_name: Name of the model that will be created..

Tip: If non-Premium workspaces need to be included in the analysis, their license can be temporarily upgraded to a Premium type, so the XMLA endpoint becomes available. Once the run is complete, they can be reverted to Pro.

With everything configured, execute the Notebook. It will automatically scan all listed workspaces, validate each semantic model against the BPA rules (skipping the excluded ones), and write the results to the Delta table called modelbparesults. If the table does not yet exist, it will be created automatically in the default Lakehouse. All results are appended with a run ID, enabling historical evaluations and trend comparisons over time.

The Notebook will also create the Direct Lake semantic model connected to the Lakehouse and add the base measures. This step only needs to run once during the initial setup.

Finally, connect the provided report to the model via live connection. The report is already aligned to the model schema and includes additional measures. It is built on a white-label theme, making it straightforward to adapt to your organization’s branding and requirements.

FMA Report - Tenant/Model Overview

Placeholder Image Alt
Placeholder Image Alt

This delivers a consistent solution for monitoring all semantic models across all validated workspaces on each run. Specific models can be excluded from analysis — the FMA model itself, for example, should always be excluded to prevent it from evaluating its own output on future runs. This answers question 4: a standardized, centralized output for enterprise-scale analysis and governance.

 

Conclusion

Fabric Model Analyzer brings the traditional Best Practice Analyzer into a modern, integrated, cloud-native solution built on Microsoft Fabric — scalable to enterprise level. It removes the dependency on external tools and flat files and introduces clear lineage and governance across the Tenant semantic models, with auditable historical results.

Future releases will focus on Custom Rules support (currently not available in the batch functions used) and enriching results with VertiPaq Analyzer output.

Author

Diego Scalioni

Diego Scalioni

Senior Consultant

Share

Suggested Content

HUMAN–AI Alliance Agents | BI4ALL Talks
Tech Talks AI & Data Science

HUMAN–AI Alliance Agents | BI4ALL Talks

Finsolutia: Accelerated portfolio analysis
Success Cases

Finsolutia: Accelerated portfolio analysis

The partnership between Finsolutia and BI4ALL by Plexus demonstrates how the application of artificial intelligence technologies to document analysis can redefine critical processes in the financial sector. 

Human–AI Partnerships: From Automation to Collaboration
Blog AI & Data Science

Human–AI Partnerships: From Automation to Collaboration

AI is no longer limited to executing predefined rules in the background. It is increasingly able to observe, decide and act with purpose, supporting workflows rather than isolated tasks.

Native Writeback in Power BI with Translytical Task Flows
Blog Data Visualisation

Native Writeback in Power BI with Translytical Task Flows

O Power BI tem vindo a distinguir-se como uma plataforma particularmente eficaz para modelação semântica, análise e visualização de dados, mas menos orientada para cenários de ação operacional no próprio contexto do relatório.

Optimising Report Creation through a Design System and Report Toolkit
Use Cases Data Visualisation

Optimising Report Creation through a Design System and Report Toolkit

BI4ALL implemented an approach based on a Design System and a Report Toolkit, designed to accelerate and standardise the report creation process.

Enable real-time data updates with a Write-Back solution in Power BI
Use Cases Data Visualisation

Enable real-time data updates with a Write-Back solution in Power BI

BI4ALL implemented a write-back solution integrated with Power BI, based on the PowerFlow Framework and supported by Power BI Transactional Task Flows. This approach enables business users to update critical data directly from Power BI reports.

video title

Lets Start

Got a question? Want to start a new project?
Contact us

Menu

  • Expertise
  • Knowledge Centre
  • About Us
  • Careers
  • Contacts

Newsletter

Keep up to date and drive success with innovation
Newsletter
PRR - Plano de Recuperação e Resiliência. Financiado pela União Europeia - NextGenerationEU

2026 All rights reserved

Privacy and Data Protection Policy Information Security Policy
URS - ISO 27001
URS - ISO 27701
Cookies Settings

BI4ALL may use cookies to memorise your login data, collect statistics to optimise the functionality of the website and to carry out marketing actions based on your interests.
You can customise the cookies used in .

Cookies options

These cookies are essential to provide services available on our website and to enable you to use certain features on our website. Without these cookies, we cannot provide certain services on our website.

These cookies are used to provide a more personalised experience on our website and to remember the choices you make when using our website.

These cookies are used to recognise visitors when they return to our website. This enables us to personalise the content of the website for you, greet you by name and remember your preferences (for example, your choice of language or region).

These cookies are used to protect the security of our website and your data. This includes cookies that are used to enable you to log into secure areas of our website.

These cookies are used to collect information to analyse traffic on our website and understand how visitors are using our website. For example, these cookies can measure factors such as time spent on the website or pages visited, which will allow us to understand how we can improve our website for users. The information collected through these measurement and performance cookies does not identify any individual visitor.

These cookies are used to deliver advertisements that are more relevant to you and your interests. They are also used to limit the number of times you see an advertisement and to help measure the effectiveness of an advertising campaign. They may be placed by us or by third parties with our permission. They remember that you have visited a website and this information is shared with other organisations, such as advertisers.

Política de Privacidade