Use the tabs of a semantic model to find problems before they reach a report, to explain the model to its readers, and to see who changed what and which reports depend on it. Checking and changing a model needs edit access to that model.
The Model health panel lists the problems it finds in a model's measures, BI tables and relationships.
The toolbar also carries Run all tests, which runs the model's measure tests and shows progress while it works, for example Running tests 3 / 12; it is disabled while the tests run. See Measure tests for running tests in detail. A Checked line shows the time of the last check. When the check finds nothing, the list reads No findings.
Each finding shows its family, the object it applies to, a message and, where one exists, a suggested fix. Some findings have a link or a button:
Common findings include:
/ nullIf(count(), 0).Data checks run without row-level security. A finding from a data check can describe rows that a viewer's row-level security would hide.
Documentation tells readers what the model is for, where its data comes from and how to read it.
While you have unsaved changes the panel shows Unsaved changes, and the tab reads Loading documentation while it opens. From 180,000 characters a counter appears and counts up as you type, reading n / 200000. If a save goes over the limit, the message reads The docs of a semantic model may not exceed 200000 characters.
If someone else saved the model while you edit, Save opens the reload-or-overwrite dialog, the same one other model edits use.
Readers who can open the model see the same tab read-only. An empty description reads No description, and if the model has no documentation, they see No documentation yet.
Links in the documentation work only for web addresses and email addresses (http, https and mailto), and images render only when they are inline data images or come from the same site.
History lists changes to a model's tables, measures, relationships and row-level security, newest first.
Not every edit is recorded as an event: description and documentation edits, column curation, and format or hidden changes do not appear.
When the warehouse table behind a BI table is dropped, or stops being visible to the model's owner role, the model removes that BI table and the removal appears here with the reason.
The tab also carries an AI changes section for what Model AI did, a Table replacements section for replaced sources, and an Imports list for updates from file (Model AI, Model files and replacing a table). For every kind of change and how its detail reads, see Change history.
The Dependencies tab shows the reports that use the semantic model. It is greyed out when no report uses the model yet.
The header carries the counts, such as 4 reports for this model or 4 reports · 6 models under All models. While the tab loads it reads Loading lineage; if the load fails it reads Could not load lineage. When there is nothing to list, it reads No dependent reports with Reports that use this semantic model will appear here. and an Add report button that creates a report on the model and opens it in edit mode. The current model is marked with an Open chip; the other cards open a model or one of its reports. Reports and models you cannot open are counted, not named.
To see where a model's data comes from and where it goes, use Explore and trace lineage.
Use these columns when a model holds different kinds of rows in one table, such as actual and budget rows. Model health then checks that each measure picks the rows it should.
When no Type column is set, the dialog explains what one is for: telling actual rows from budget rows (or orders from shipments), so model health can check that every measure picks one. A version flag marks the current version of plan rows, for the Type values it versions. The counter beside Version flags reads n/10.
Other users see a read-only summary with the headings Type column and Version flags; empty lines read No Type column and No version flags.
Saving these columns does not change any measure. Model health warns about measures that add up rows of every Type value and about measures that ignore version flags. Fix those measures in Measures.
| Area | Who can use it |
|---|---|
| Health, History and Row-level security tabs | Users with edit access to the model. Other users do not see these tabs. |
| Docs | Everyone who can open the model reads it. Users with edit access change it. |
| Dependencies | Everyone who can open the model. |
| Type and version columns | Users with edit access change them. Other users see a read-only summary. |
| Ask Model AI on a finding | Users with edit access to the model and the Use DataPrism AI permission. |
The Imports and Table replacements lists in History also need edit access to the model. For the full list of permissions, see Who can do what in DataPrism.
Data checks run without row-level security, so they read every row. A finding can describe rows that a viewer's row-level security would hide. To see what a particular viewer gets, use View as.
Open History and click the change. The details show Changed by and the values before and after the change.
Open Dependencies, set Show to This model and set View to List. The list shows the reports that use the model. It does not show which of them will break after a change, so check them after you change the model.
No report uses the model yet, so there is nothing to trace. Once a report uses the model, the tab opens; if its list is empty it reads No dependent reports and offers Add report.
Those tabs appear only to people who can edit the model. Ask someone who manages access to give you edit access. For the permissions involved, see Who can do what in DataPrism.
Set a Type column in More actions > Type and version columns. Model health then warns about each measure that adds up rows without picking a Type, and about measures that ignore version flags. Change those measures in Measures so that each one picks the rows it needs.
Yes, if you have edit access to the model and the Use DataPrism AI permission. Click Ask Model AI on the finding; it is sent to the Model AI chat as a request. Model AI reads the model's checks and documentation before it proposes a change, and you approve that change before anything is saved. See Model AI.
They activate only when there is something to save. Until you change the description or the documentation, and while a save is running, both stay disabled. Discard drops your changes without saving; Ctrl+S saves the same as Save.
A change by someone else is sent to the reports that are open on the model. Charts that a measure change affects refresh together, about once a second; table, column and relationship changes refresh the diagram, and deleting a model refreshes the lists it appeared in. A tab you left refreshes when you return to it. If your connection drops, everything reloads once it is back.
No. Findings are built when the check runs and are not stored. The check runs when you open Health and when you click Re-run; editing the model does not refresh the findings.
Only the data checks do, and only while Include data checks is on. The other findings come from the model itself. Data checks run queries against the warehouse, without row-level security, inside a 30-second budget. See Row-level security and View as.
When the warehouse table behind a BI table is dropped, or stops being visible to the model's owner role, the model removes that BI table. History shows the removal with the reason. If the table is available again, add it to the model; see Semantic models and BI tables.