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

**Default semantic models will be going away** : read the announcement [here](https://blog.fabric.microsoft.com/en-us/blog/sunsetting-default-semantic-models-microsoft-fabric?ft=All) 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](https://github.com/microsoft/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`

```python
#%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
```

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1753291251532/c98190e3-575d-48d4-a103-81fe392e6dae.png align="center")

## 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.

```python
#%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
```

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1753291669171/ccdb2ade-ca11-490e-b84a-dbad805cfd4f.png align="center")

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](https://learn.microsoft.com/en-us/fabric/data-warehouse/semantic-models)

[Sunsetting Default Semantic Models – Microsoft Fabric | Microsoft Fabric Blog | Microsoft Fabric](https://blog.fabric.microsoft.com/en-US/blog/sunsetting-default-semantic-models-microsoft-fabric/)
