Power BI Catalog Custom Fields

Prev Next

Overview

The Power BI - Catalog Custom Fields set adds a Power BI section to the Validatar catalog at schema, table and column level: 26 fields that hold what Power BI knows about each object. A model table shows its storage mode and whether it is hidden; a measure shows its state and home table; a semantic model shows whether it enforces row-level security and who configured it; every item carries its Power BI ID and a link back to it.

The Power BI Service Data Source Template fills the fields during metadata ingestion. Nothing else writes to them.

Marketplace: Power BI - Catalog Custom Fields

Shown only on Power BI data sources

Each of the three sections has a visibility rule: it shows only on objects of data sources built from the Power BI Service data source template. A Snowflake table or a Windows Directory file never shows an empty Power BI section. The rule names the template, so import the template before this field set; imported the other way round, the rule has no template to point at.

Fields

Level Field Reference key Type
Schema Power BI Schema Kind pbi_schema_kind Dropdown: Workspaces, Semantic Models, Model, Reports, Dashboards
Schema Schema Workspace ID pbi_schema_workspace_id Short text
Schema Workspace Capacity pbi_schema_capacity Dropdown: Dedicated, Shared
Table Power BI Item Type pbi_item_type Dropdown: Workspace, Semantic Model, Model Table, Measures, Report, Paginated Report, Dashboard
Table Power BI Item ID pbi_item_id Short text
Table Workspace ID pbi_workspace_id Short text
Table Power BI Link pbi_web_url Short text
Table Configured By pbi_owner Short text
Table Created pbi_created Short text
Table Storage Mode pbi_storage_mode Short text
Table Row-Level Security pbi_rls_required Dropdown: Yes, No
Table Refreshable pbi_refreshable Dropdown: Yes, No
Table Semantic Model pbi_semantic_model Short text
Table Table Hidden pbi_table_hidden Dropdown: Yes, No
Column Power BI Field Kind pbi_field_kind Dropdown: Column, Calculated Column, Measure, Page, Tile
Column Field Hidden pbi_field_hidden Dropdown: Yes, No
Column Key pbi_field_is_key Dropdown: Yes, No
Column Unique pbi_field_is_unique Dropdown: Yes, No
Column Data Category pbi_field_data_category Short text
Column Format String pbi_field_format Short text
Column Display Folder pbi_field_display_folder Short text
Column Summarize By pbi_field_summarize_by Short text
Column Sort By Column pbi_field_sort_by Short text
Column Measure State pbi_field_state Short text
Column Home Table pbi_field_home_table Short text
Column Page or Tile ID pbi_field_item_id Short text

Validatar requires a custom field's name and reference key to be unique across all catalog levels, which is why the schema-level workspace field is Schema Workspace ID and the two hidden flags are Table Hidden and Field Hidden.

What fills each field

Ingestion writes a value only where Power BI has one, so most objects fill some of their level's fields and leave the rest blank.

Catalog object Fields filled
Any schema Power BI Schema Kind. Per-workspace schemas also get Schema Workspace ID and Workspace Capacity
A workspace (table under Workspaces) Power BI Item Type, Power BI Item ID, Workspace ID, Power BI Link
A semantic model (table under Semantic Models:) Item type, ID, workspace, link, Configured By, Created, Row-Level Security, Refreshable, and Storage Mode when model contents were ingested
A model table (table under Model:) Item type, Workspace ID, Semantic Model, Storage Mode, Table Hidden
The (Measures) table Item type, Workspace ID, Semantic Model
A report or paginated report Item type, ID, workspace, link, and Semantic Model (the model it is bound to)
A dashboard Item type, ID, workspace, link
A model column Field Kind (Column or Calculated Column), Field Hidden, Key, Unique, Data Category, Format String, Display Folder, Summarize By, Sort By Column
A measure (column of (Measures)) Field Kind, Field Hidden, Display Folder, Measure State, Home Table
A report page or dashboard tile Field Kind, and Page or Tile ID (the page's internal name or the tile's ID)

Table and column descriptions from the model go to Validatar's own Description field, not to this set.

Some values depend on how the template read the model:

  • Workspace Capacity says Dedicated for Premium Per User workspaces too, because Power BI reports them that way. Premium Per User still cannot export, so the template's rendering checks cannot run there.
  • Measure State is the engine's state, such as Valid or InvalidExpression, when the model was read with DAX. For a model with row-level security read from its definition, every measure shows Valid and Unique is blank, because the definition does not record either.
  • Format String for measures is blank when the model was read with DAX; the INFO.VIEW functions do not return it.

Installation

  1. Import the Power BI Service Data Source Template first, if you have not already.
  2. Open Marketplace in Validatar, find Power BI - Catalog Custom Fields and choose Get, then Import Directly. Validatar adds the three sections under Settings > Custom Fields for the catalog.
  3. Run metadata ingestion on your Power BI data source, or run it again if it ran before the import. Values for fields that did not exist at ingestion time were dropped and are filled on the next run.

To install from a file instead, download the XML from the marketplace listing and import it on the Settings > Custom Fields page.

Using the fields

  • In template tests. Filter a template test on Power BI Item Type to run it only over model tables, or on Row-Level Security = No to leave out models a service principal cannot query.
  • In the catalog. Power BI Link opens the item in Power BI, Measure State finds broken measures without running a test, and Configured By tells you whose credentials a failed refresh used.

Troubleshooting

Symptom Cause Fix
The Power BI section is empty after ingestion The fields were imported after the last ingestion Run ingestion again
The Power BI section does not show on a Power BI data source The field set was imported before the template, so its rule names no template Re-import the field set, or edit each section's visibility rule under Settings > Custom Fields to name Power BI Service
Import reports a field name already exists Another set already uses one of these names or keys Rename or remove the clashing field, then import again

Related Articles