How to Check If Your Power BI Report Uses the Default Semantic Model

Sandeep PawarSandeep Pawar
2 min read

Default semantic models will be going away : read the announcement here and the details. Starting August 8, 2025, Power BI default semantic models are no longer created automatically when a warehouse, lakehouse, or mirrored item is created. Note that the change will be implemented in two phases and blogs/docs will be coming in the next few weeks with more details.

But until then, if you want to check whether any reports use the default semantic models, here are two approaches using Semantic Link Labs.

If any reports use default semantic model

Below we get a list of all the reports in a workspace and is_default column shows if the report uses a default semantic model. The key function here is labs.is_default_semantic_model

#%pip install semantic-link-labs -q

import sempy_labs as labs
import sempy.fabric as fabric

#only the reports in the workspace where the notebook is hosted will be returned
#specify the workspace parameter if you want to search other workspaces & modify accordingly
df = fabric.list_reports().assign(
    is_default=lambda df: df.apply(
        lambda row: labs.is_default_semantic_model(
            fabric.resolve_dataset_name(row['Dataset Id'])
        ),
        axis=1
    )
)

df

If any default semantic models are used in reports

The other way, you may want to identify if there are any default semantic models that are used by a report.

has_reports column shows if the default model has any reports attached to it. To get the list of reports, use labs.list_reports_using_semantic_model function.

#%pip install semantic-link-labs -q

import sempy_labs as labs
import sempy.fabric as fabric
## only the models in teh workspace where the notebook is hosted will be scanned. Otherwise, specify workspace param  
df = fabric.list_datasets()
df = df[df['Dataset Name'].apply(labs.is_default_semantic_model)]
df['has_reports'] = df['Dataset Name'].apply(
    lambda name: len(labs.list_reports_using_semantic_model(dataset=name))>0
)
df = df[df['has_reports']]

df

To scan all the workspaces, either use list_items function or loop over the workspaces you are interested in.

More on this later !

References

Power BI Semantic Models - Microsoft Fabric | Microsoft Learn

Sunsetting Default Semantic Models – Microsoft Fabric | Microsoft Fabric Blog | Microsoft Fabric

0
Subscribe to my newsletter

Read articles from Sandeep Pawar directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Sandeep Pawar
Sandeep Pawar

Principal Program Manager, Microsoft Fabric CAT helping users and organizations build scalable, insightful, secure solutions. Blogs, opinions are my own and do not represent my employer.