Skip to main content

Authentication

Which authentication method should I use? Use Service Principal for any production deployment. It authenticates as a registered Azure AD application rather than a named user, so credentials don’t decay when employees leave or passwords change. Master User and OAuth 2.0 are suitable for evaluation or development environments where a Service Principal isn’t yet registered. Does the service principal need to be a Power BI admin? The service principal does not need the full Power BI admin role, but it must be allowed to call the Admin API read endpoints. Enable this in the Power BI admin portal under Tenant settings → Admin API settings → Allow service principals to use read-only Power BI admin APIs, and add the service principal’s security group to the allowed list. What happens if the client secret expires? If the client secret expires, catalog and monitoring jobs will begin failing with authentication errors. Update the secret in Settings → Connectors → [your connection] → Edit before expiry. Azure AD allows secret rotation — generate a new secret, update Prizm, then delete the old one. Can I use a certificate instead of a client secret for Service Principal auth? Not via the current connector form, which requires a client secret. If your organization mandates certificate-based authentication, contact Prizm support.

Scoping & Coverage

Can I connect to specific workspaces only instead of the entire tenant? Yes. During setup, select specific workspaces by name in the extraction scope step. Workspaces not selected are excluded from catalog and monitoring jobs entirely. Does Prizm catalog Personal workspaces (My Workspace)? No. Personal workspaces are excluded from the Admin API. Only shared workspaces (Group, Premium) are cataloged. Does Prizm require workspace Membership for the service principal? When using the Admin API with tenant-level access (recommended), workspace membership is not required. The Admin API endpoints return metadata for all workspaces the tenant admin has granted access to. If you are using Master User authentication, the user account must be a Member or Admin in each workspace you want to catalog. What Power BI license is required? The catalog and Scanner API endpoints require at least Power BI Pro on the tenant (or Premium Per User / Premium Per Capacity). Usage activity logs (/admin/activityevents) require Power BI Premium (P or EM SKU) or Premium Per User (PPU). Without Premium, usage metrics will be unavailable.

Semantic Models

What is a semantic model and how does it differ from a dataset? Microsoft renamed “dataset” to “semantic model” in 2023 to better reflect its purpose — it is the business-ready data layer with tables, relationships, measures, and DAX logic, not just a flat table. In Prizm, semantic models are cataloged as first-class assets with their internal building blocks (tables, columns, measures, relationships) visible as child assets. Does Prizm catalog individual tables and columns inside a semantic model? Yes. Prizm extracts every table, column, measure, calculated column, relationship, hierarchy, and partition from the semantic model via the Scanner API and represents them as child assets of the semantic model parent. This enables column-level search, tagging, and governance inside Power BI without leaving Prizm. Does Prizm catalog DAX measures? Yes. Measure names, DAX expressions, data types, and format strings are extracted and stored against the semantic model. DAX expressions are currently used for metadata display — column-level lineage derived from DAX parsing is planned for a future release. Why does a semantic model show “Schema Drift” even when I haven’t changed anything? Schema Drift Count tracks upstream structural changes propagated from source systems — not changes made inside the semantic model itself. If a Snowflake table that the semantic model draws from had a column added, renamed, or deleted, Prizm detects that the source changed and flags it so you can verify whether the M expression or downstream measures need to be updated.

Lineage

How does Prizm stitch the Power BI lineage to upstream Snowflake or Databricks tables? Prizm parses the Power Query (M) expression for each semantic model table to extract the source identifiers (server, database, schema, table). It then normalizes those identifiers and matches them against cataloged assets from your Snowflake or Databricks connectors. On a match, the two lineage graphs are merged into one continuous graph. On no match, a stub node is created so the edge is preserved and visible rather than silently dropped. What if a semantic model uses a named/shared source expression? Prizm resolves named Power Query sources before parsing — for example, if multiple tables reference a shared Source = SharedSourceQuery expression, Prizm inlines the referenced expression first. This is required for accurate lineage; naive parsing without inlining under-resolves a meaningful share of models. Does lineage include dataflows? Yes, when Extract Dataflows is enabled in the connector configuration. The full path becomes: Data Source → Dataflow → Semantic Model → Report / Dashboard. I see a “Data Source” stub node in lineage that isn’t linked to a cataloged asset. Why? A stub node appears when Prizm parses the M expression and extracts a source identifier but cannot find a matching cataloged asset — either because that source system is not connected to Prizm, or because the identifier format doesn’t match the way the source was cataloged. Connect the upstream source and re-run the catalog job to resolve the stub.

Metrics & Monitoring

Why is Freshness showing NA on my semantic model? Freshness requires at least one completed refresh in the history log. If the semantic model has never been refreshed (e.g., it uses DirectQuery exclusively), or if the service principal does not have permission to read the refresh history, Freshness will show NA. Can Prizm trigger a Power BI refresh? No. Prizm is read-only — it monitors refresh outcomes but does not initiate, cancel, or modify refreshes. Refreshes are managed from Power BI Service or via the Power BI REST API. How far back does Prizm read refresh history? Prizm reads the last 60 refresh records per semantic model on each monitoring run. Power BI retains up to 60 refresh entries in the API response — if you have high-frequency refreshes, older records roll off and are not accessible via the API. Are metrics available on dataflows? Not currently. Freshness, Reliability, and Usage metrics are available on semantic models, reports, and dashboards. Dataflow-level metrics are not yet supported.