Skip to content

semantic-model

Manage semantic models (Power BI datasets)

Authentication scope: fabric

List semantic models in a workspace

Terminal window
fabio semantic-model list --workspace <value>
Flag Type Required Description
--workspace string Yes Workspace ID

Output fields: id, displayName, description

Read-only · Returns list

Show details of a semantic model

Terminal window
fabio semantic-model show --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Output fields: id, displayName, description

Read-only · Returns object

Create a new semantic model from a definition file (model.bim)

Terminal window
fabio semantic-model create --workspace <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--name string Yes Semantic model display name
--description string No Optional description
--file string No Path to a single model definition file (model.bim TMSL or a single .tmdl)
--definition string No Path to a FULL model definition folder (a .SemanticModel folder or any folder with definition.pbism + definition/ TMDL files or model.bim). All files are gathered recursively — the way a real multi-file TMDL model ships
--connection string No SQL endpoint or lakehouse ID for live connection (generates definition.pbism)
--sensitivity-label string No Sensitivity label ID to apply on creation

Examples

Terminal window
fabio semantic-model create --workspace $WS --name "SalesModel" --file model.tmdl --connection $SQL_ENDPOINT_ID

Output fields: id, displayName

Mutates state · Long-running operation · Returns object

Generate a Direct Lake semantic model from a lakehouse or warehouse (reads the SQL analytics endpoint schema and picks tables, like the Fabric portal’s “New semantic model”)

Terminal window
fabio semantic-model generate --workspace <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--name string Yes Semantic model display name
--lakehouse string No Source lakehouse ID (mutually exclusive with –warehouse)
--warehouse string No Source warehouse ID (mutually exclusive with –lakehouse)
--tables string No Comma-separated table names to include (default: all base tables)
--schema string No SQL schema to read tables from (default: dbo)
--storage-mode enum No Direct Lake storage mode: sql binds via the SQL analytics endpoint (single source, DirectQuery fallback); onelake binds directly to OneLake Delta (recommended — OneLake security, more modeling features, faster queries, multiple sources) One of: sql, onelake.
--no-refresh bool No Skip the framing refresh (you must run semantic-model refresh before querying)
--description string No Optional description
--sensitivity-label string No Sensitivity label ID to apply on creation

Mutates state · Returns object

Update semantic model properties (name and/or description)

Terminal window
fabio semantic-model update --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string No New display name
--description string No New description

Mutates state · Returns object

Delete a semantic model

Terminal window
fabio semantic-model delete --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--hard-delete bool No Permanently delete (cannot be recovered)

Mutates state · Destructive · Returns void

Get the definition of a semantic model

Terminal window
fabio semantic-model get-definition --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--decode bool No Decode base64 payloads inline (adds decodedPayload field)

Read-only · Long-running operation · Returns object

Update the definition of a semantic model from a file

Terminal window
fabio semantic-model update-definition --workspace <value> --id <value> --file <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--file string Yes Path to model definition file (model.bim TMSL/TMDL format)

Mutates state · Long-running operation · Returns void

Execute a DAX query against a semantic model

Terminal window
fabio semantic-model query --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--dax string No DAX query (e.g., “EVALUATE Sales”). If omitted, reads from stdin
--file string No Read DAX query from a file

Examples

Terminal window
fabio semantic-model query --workspace $WS --id $SM --dax "EVALUATE SUMMARIZECOLUMNS('Sales'[Country], \"Revenue\", SUM('Sales'[Amount]))"

Read-only · Returns object

Evaluate one or more measures (optionally grouped by columns) — the fabio equivalent of semantic-link’s evaluate_measure

Terminal window
fabio semantic-model evaluate-measure --workspace <value> --id <value> --measure <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--measure string Yes Measure name to evaluate (repeatable)
--group-by string No Group-by column as Table.Column (repeatable; omit for a single-row total)
--top string No Return only the top N rows (sorted by the first measure, descending)

Read-only · Returns list

Generate a DAX query from a natural-language prompt using the remote Power BI MCP server (Copilot-powered)

Terminal window
fabio semantic-model generate-dax --workspace <value> --id <value> --prompt <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--prompt string Yes Natural-language question/prompt to translate into DAX
--execute bool No Also execute the generated DAX and return the rows (via executeQueries)

Read-only · Returns object

Get the Copilot-oriented schema (tables/columns/measures/relationships + author custom instructions) from the remote Power BI MCP server

Terminal window
fabio semantic-model copilot-schema --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns object

Bind a semantic model to a connection

Terminal window
fabio semantic-model bind-connection --workspace <value> --id <value> --connection-id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--connection-id string Yes Connection ID to bind

Mutates state · Returns object

Unbind a connection from a semantic model

Terminal window
fabio semantic-model unbind-connection --workspace <value> --id <value> --connection-id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--connection-id string Yes The currently-bound connection ID (used to resolve the data-source details of the reference to detach)

Mutates state · Returns void

Refresh a semantic model (required to frame Direct Lake models after creation)

Terminal window
fabio semantic-model refresh --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--type string No Refresh type
--objects string No Enhanced refresh: JSON array of tables/partitions to refresh, e.g. ‘[{“table”:“Sales”},{“table”:“Sales”,“partition”:“2024”}]’
--commit-mode string No Enhanced refresh commit mode: transactional | partialBatch
--max-parallelism string No Enhanced refresh: maximum number of parallel processing threads
--retry-count string No Enhanced refresh: number of times to retry on transient failure

Examples

Terminal window
fabio semantic-model refresh --workspace $WS --id $SM

Mutates state · Returns object

Take over a semantic model (converts definition-managed to service-managed for portal editing)

Terminal window
fabio semantic-model takeover --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Examples

Terminal window
fabio semantic-model takeover --workspace $WS --id $SM

Mutates state · Returns object

List parameters of a semantic model

Terminal window
fabio semantic-model list-parameters --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

List tables of a semantic model (via DAX INFO.VIEW.TABLES — no definition parsing)

Terminal window
fabio semantic-model list-tables --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

List columns of a semantic model (via DAX INFO.VIEW.COLUMNS)

Terminal window
fabio semantic-model list-columns --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

List measures of a semantic model (via DAX INFO.VIEW.MEASURES)

Terminal window
fabio semantic-model list-measures --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

List relationships of a semantic model (via DAX INFO.VIEW.RELATIONSHIPS)

Terminal window
fabio semantic-model list-relationships --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

Analyze a model against best-practice rules (Best Practice Analyzer / Memory Analyzer over INFO.VIEW metadata) — descriptions, naming, implicit aggregation, duplicate measures, relationship hygiene, star schema, calculated columns, and (opt-in) high cardinality

Terminal window
fabio semantic-model analyze --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--with-cardinality bool No Also probe column cardinality via DISTINCTCOUNT (extra DAX; flags high-cardinality columns)
--severity string No Minimum severity to report: info, warning, error
--strict bool No Exit non-zero if any issue at/above the severity threshold is found (CI gate)
--fix bool No Auto-fix the SAFE, mechanical issues (currently: set default summarization to None on identifier columns). Overwrites the model definition (irreversible) — dry-run guarded. Naming/schema/dedup issues are NOT auto-fixed (they need human judgment)

Mutates state · Destructive · Returns object

List each measure’s dependencies (the measures/columns/tables its DAX references) — useful for including dependent objects in an AI data schema

Terminal window
fabio semantic-model measure-dependencies --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

Set the description of a table, column, or measure by editing the model definition (getDefinition → edit TMDL/model.bim → updateDefinition). Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model set-description --workspace <value> --id <value> --description <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--table string No Target table (a table itself, or the owner of –column)
--column string No Target column (requires –table)
--measure string No Target measure (model-unique; –table not needed)
--description string Yes Description text (use \n for multi-line)

Mutates state · Destructive · Returns object

Add a measure to a table by editing the model definition (getDefinition → edit TMDL/model.bim → updateDefinition). Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model add-measure --workspace <value> --id <value> --table <value> --name <value> --expression <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--table string Yes Table to add the measure to
--name string Yes Measure name (must be model-unique)
--expression string Yes DAX expression (e.g. “SUM(‘Sales’[Amount])”)
--description string No Optional description
--format-string string No Optional format string (e.g. “0.00”, “$#,0”)
--display-folder string No Optional display folder

Mutates state · Destructive · Returns object

Update an existing measure’s expression and/or properties by editing the model definition (getDefinition → edit TMDL/model.bim → updateDefinition). Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model update-measure --workspace <value> --id <value> --measure <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--measure string Yes Measure name to update (model-unique)
--expression string No New DAX expression
--description string No New description
--format-string string No New format string
--display-folder string No New display folder

Mutates state · Destructive · Returns object

Delete a measure from the model by editing the definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model delete-measure --workspace <value> --id <value> --measure <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--measure string Yes Measure name to delete (model-unique)

Mutates state · Destructive · Returns void

Rename a measure (its declaration only; DAX references are NOT rewritten). Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model rename-measure --workspace <value> --id <value> --measure <value> --new-name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--measure string Yes Current measure name
--new-name string Yes New measure name

Mutates state · Destructive · Returns object

Move a measure to a different home table (name and definition preserved). Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model move-measure --workspace <value> --id <value> --measure <value> --to-table <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--measure string Yes Measure name to move (model-unique)
--to-table string Yes Destination table

Mutates state · Destructive · Returns object

Add a relationship between two tables by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model add-relationship --workspace <value> --id <value> --from-table <value> --from-column <value> --to-table <value> --to-column <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--from-table string Yes “Many” side table (foreign key)
--from-column string Yes “Many” side column (foreign key)
--to-table string Yes “One” side table (primary key)
--to-column string Yes “One” side column (primary key)
--cross-filter string No Cross-filter direction: oneDirection (default), bothDirections, automatic
--inactive bool No Create the relationship inactive
--from-cardinality string No From-side cardinality: one | many (default many)
--to-cardinality string No To-side cardinality: one | many (default one)

Mutates state · Destructive · Returns object

Delete a relationship (by –relationship-id or by the from/to columns). Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model delete-relationship --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--relationship-id string No Relationship id (GUID) to delete
--from-table string No “Many” side table (used with the other from/to flags to match by columns)
--from-column string No “Many” side column
--to-table string No “One” side table
--to-column string No “One” side column

Mutates state · Destructive · Returns object

Update a relationship’s active state and/or cross-filter direction (by –relationship-id or by the from/to columns). Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model update-relationship --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--relationship-id string No Relationship id (GUID) to update
--from-table string No “Many” side table (match by columns)
--from-column string No “Many” side column
--to-table string No “One” side table
--to-column string No “One” side column
--active bool No Set the relationship active
--inactive bool No Set the relationship inactive
--cross-filter string No New cross-filter direction: oneDirection, bothDirections, automatic

Mutates state · Destructive · Returns object

List security roles (RLS) of a semantic model (name, model permission, and per-table filters) — read-only

Terminal window
fabio semantic-model list-roles --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

Add a security role by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model add-role --workspace <value> --id <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Role name
--model-permission string No Model permission: read (default), none, readRefresh, refresh

Mutates state · Destructive · Returns object

Delete a security role (and its RLS filters) by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model delete-role --workspace <value> --id <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Role name to delete

Mutates state · Destructive · Returns void

Set a row-level-security (RLS) filter on a table for a role (a DAX predicate). Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model set-rls --workspace <value> --id <value> --role <value> --table <value> --filter <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--role string Yes Role to add the filter to
--table string Yes Table the filter applies to
--filter string Yes DAX filter predicate (e.g. “‘Sales’[Region] = "West"”)

Mutates state · Destructive · Returns object

Remove a row-level-security (RLS) filter from a table for a role. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model delete-rls --workspace <value> --id <value> --role <value> --table <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--role string Yes Role to remove the filter from
--table string Yes Table whose filter to remove

Mutates state · Destructive · Returns void

Add a calculated column (a DAX-defined column) to a table by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model add-calculated-column --workspace <value> --id <value> --table <value> --name <value> --expression <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--table string Yes Table to add the column to
--name string Yes Column name (must be unique in the table)
--expression string Yes DAX expression (e.g. “UPPER(‘Sales’[Region])”)
--data-type string No Data type: string (default), int64, double, decimal, dateTime, boolean
--format-string string No Format string
--summarize-by string No Default summarization: none, sum, count, min, max, average, distinctCount
--display-folder string No Display folder
--description string No Description
--hidden bool No Hide the column

Mutates state · Destructive · Returns object

Delete a column from a table by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model delete-column --workspace <value> --id <value> --table <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--table string Yes Table containing the column
--name string Yes Column name to delete

Mutates state · Destructive · Returns void

Rename a column (declaration only; DAX/relationship references are NOT rewritten). Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model rename-column --workspace <value> --id <value> --table <value> --name <value> --new-name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--table string Yes Table containing the column
--name string Yes Current column name
--new-name string Yes New column name

Mutates state · Destructive · Returns object

Update a column’s properties (data type, format, summarization, display folder, description, hidden). Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model update-column --workspace <value> --id <value> --table <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--table string Yes Table containing the column
--name string Yes Column name to update
--data-type string No New data type: string, int64, double, decimal, dateTime, boolean
--format-string string No New format string
--summarize-by string No New default summarization: none, sum, count, min, max, average, distinctCount
--display-folder string No New display folder
--description string No New description
--hidden enum No Set hidden state (true/false) One of: true, false.

Mutates state · Destructive · Returns object

Add a calculated table (a DAX table expression) by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model add-table --workspace <value> --id <value> --name <value> --expression <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Table name (must be model-unique)
--expression string Yes DAX table expression (e.g. “CALENDAR(DATE(2020,1,1), DATE(2020,12,31))”)

Mutates state · Destructive · Returns object

Delete a table by editing the model definition. CASCADES: also removes relationships and role RLS filters that reference the table. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model delete-table --workspace <value> --id <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Table name to delete

Mutates state · Destructive · Returns object

Rename a table (declaration, file, and model.tmdl ref; DAX/relationship references are NOT rewritten). Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model rename-table --workspace <value> --id <value> --name <value> --new-name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Current table name
--new-name string Yes New table name

Mutates state · Destructive · Returns object

Update a table’s properties (hidden state, data category, description) by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model update-table --workspace <value> --id <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Table name to update
--hidden enum No Set the table hidden state (true/false) One of: true, false.
--data-category string No Data category (e.g. “Time” to mark a date table)
--description string No Table description

Mutates state · Destructive · Returns object

List translation cultures of a semantic model (culture + translation count) — read-only

Terminal window
fabio semantic-model list-cultures --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

Add a translation culture (e.g. fr-FR) by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model add-culture --workspace <value> --id <value> --culture <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--culture string Yes Culture / locale name (e.g. fr-FR, es-ES)

Mutates state · Destructive · Returns object

Delete a translation culture by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model delete-culture --workspace <value> --id <value> --culture <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--culture string Yes Culture / locale name to delete

Mutates state · Destructive · Returns void

Set a translated caption for a table/column/measure in a culture. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model set-translation --workspace <value> --id <value> --culture <value> --table <value> --caption <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--culture string Yes Culture / locale name (must already exist — add it with add-culture)
--table string Yes Table to translate (or the owner of –column/–measure)
--column string No Column to translate (requires –table)
--measure string No Measure to translate
--caption string Yes Translated caption (the display name in this culture)

Mutates state · Destructive · Returns object

List user hierarchies of a semantic model (table, name, level count) — read-only

Terminal window
fabio semantic-model list-hierarchies --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--table string No Only list hierarchies of this table

Read-only · Returns list

Add a user (drill-down) hierarchy to a table by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model add-hierarchy --workspace <value> --id <value> --table <value> --name <value> --level <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--table string Yes Table to add the hierarchy to
--name string Yes Hierarchy name (must be unique in the table)
--level string Yes A level, top-to-bottom. Repeat for each level. Forms: “Column”, “LevelName=Column”, or “LevelName:Column”

Mutates state · Destructive · Returns object

Delete a hierarchy from a table by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model delete-hierarchy --workspace <value> --id <value> --table <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--table string Yes Table containing the hierarchy
--name string Yes Hierarchy name to delete

Mutates state · Destructive · Returns void

List a table’s partitions (name + mode) — read-only

Terminal window
fabio semantic-model list-partitions --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--table string No Only list partitions of this table

Read-only · Returns list

Add a partition to a table (an extra data-source query, e.g. for incremental refresh) by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model add-partition --workspace <value> --id <value> --table <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--table string Yes Table to add the partition to
--name string Yes Partition name (must be unique in the table)
--m string No Power Query M source expression (mutually exclusive with –dax)
--dax string No DAX table expression for a calculated partition (mutually exclusive with –m)

Mutates state · Destructive · Returns object

Update a partition’s source expression by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model update-partition --workspace <value> --id <value> --table <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--table string Yes Table containing the partition
--name string Yes Partition name to update
--m string No New Power Query M source expression (mutually exclusive with –dax)
--dax string No New DAX expression for a calculated partition (mutually exclusive with –m)

Mutates state · Destructive · Returns object

Delete a partition from a table by editing the model definition (a table must keep at least one). Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model delete-partition --workspace <value> --id <value> --table <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--table string Yes Table containing the partition
--name string Yes Partition name to delete

Mutates state · Destructive · Returns void

List calculation groups of a semantic model (name + item count) — read-only

Terminal window
fabio semantic-model list-calculation-groups --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

Add a calculation group (for time intelligence, etc.) by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model add-calculation-group --workspace <value> --id <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Calculation group name (also the table name)
--column-name string No The group’s column name (defaults to the group name)

Mutates state · Destructive · Returns object

Delete a calculation group (its whole table) by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model delete-calculation-group --workspace <value> --id <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Calculation group name to delete

Mutates state · Destructive · Returns void

Add a calculation item (a DAX time-intelligence variant) to a calculation group. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model add-calculation-item --workspace <value> --id <value> --group <value> --name <value> --expression <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--group string Yes Calculation group name
--name string Yes Calculation item name
--expression string Yes DAX expression, e.g. CALCULATE(SELECTEDMEASURE(), DATESYTD('Date'[Date]))
--ordinal string No Optional ordinal (sort position)

Mutates state · Destructive · Returns object

Delete a calculation item from a calculation group by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model delete-calculation-item --workspace <value> --id <value> --group <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--group string Yes Calculation group name
--name string Yes Calculation item name to delete

Mutates state · Destructive · Returns void

Update a calculation item’s DAX expression (and optionally its ordinal) by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model update-calculation-item --workspace <value> --id <value> --group <value> --name <value> --expression <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--group string Yes Calculation group name
--name string Yes Calculation item name to update
--expression string Yes New DAX expression
--ordinal string No New ordinal (sort position)

Mutates state · Destructive · Returns object

List named expressions / Power Query parameters of a semantic model — read-only

Terminal window
fabio semantic-model list-expressions --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

Add a named expression (a shared M query) or Power Query parameter by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model add-expression --workspace <value> --id <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Expression name
--expression string No Raw Power Query M expression (mutually exclusive with –parameter-value)
--parameter-value string No Make it a Power Query PARAMETER with this default value
--parameter-type string No Parameter type: Text (default), Number, Logical, DateTime

Mutates state · Destructive · Returns object

Update a named expression / parameter’s value by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model update-expression --workspace <value> --id <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Expression name to update
--expression string No New raw Power Query M expression (mutually exclusive with –parameter-value)
--parameter-value string No New parameter default value
--parameter-type string No Parameter type: Text (default), Number, Logical, DateTime

Mutates state · Destructive · Returns object

Delete a named expression / parameter by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model delete-expression --workspace <value> --id <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Expression name to delete

Mutates state · Destructive · Returns void

List DAX user-defined functions (UDFs) of a semantic model — read-only

Terminal window
fabio semantic-model list-functions --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

Add a DAX user-defined function (UDF) by editing the model definition (requires model compatibility level >=1702; bumped automatically). Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model add-function --workspace <value> --id <value> --name <value> --expression <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Function name
--expression string Yes DAX UDF expression, e.g. (x: INT64) =&gt; RETURN x + 1
--description string No Optional description (emitted as /// comment lines above the function, and carried in getDefinition/Git deployments)

Mutates state · Destructive · Returns object

Update a DAX user-defined function by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model update-function --workspace <value> --id <value> --name <value> --expression <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Function name to update
--expression string Yes New DAX UDF expression
--description string No New description (/// comment lines above the function). Omit to keep the existing description; pass an empty string to clear it

Mutates state · Destructive · Returns object

Delete a DAX user-defined function by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model delete-function --workspace <value> --id <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Function name to delete

Mutates state · Destructive · Returns void

List perspectives (filtered model views) of a semantic model — read-only

Terminal window
fabio semantic-model list-perspectives --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

Add a perspective (a filtered view of the model) by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model add-perspective --workspace <value> --id <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Perspective name

Mutates state · Destructive · Returns object

Delete a perspective by editing the model definition. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model delete-perspective --workspace <value> --id <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--name string Yes Perspective name to delete

Mutates state · Destructive · Returns void

Add a member (a table, or a column/measure/hierarchy of a table) to a perspective. Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model add-perspective-member --workspace <value> --id <value> --perspective <value> --table <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--perspective string Yes Perspective name (must already exist — add it with add-perspective)
--table string Yes Table to include (or the owner of –column/–measure/–hierarchy)
--column string No Include this column of the table
--measure string No Include this measure of the table
--hierarchy string No Include this hierarchy of the table

Mutates state · Destructive · Returns object

Remove a member from a perspective (a whole table, or one of its members). Overwrites the definition (irreversible) — dry-run guarded

Terminal window
fabio semantic-model remove-perspective-member --workspace <value> --id <value> --perspective <value> --table <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--perspective string Yes Perspective name
--table string Yes Table to remove (or the owner of –column/–measure/–hierarchy)
--column string No Remove this column (instead of the whole table)
--measure string No Remove this measure (instead of the whole table)
--hierarchy string No Remove this hierarchy (instead of the whole table)

Mutates state · Destructive · Returns object

Update parameters of a semantic model

Terminal window
fabio semantic-model update-parameters --workspace <value> --id <value> --content <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--content string Yes JSON content with parameter updates (inline or @file or @- for stdin)

Mutates state · Returns object

List datasources of a semantic model

Terminal window
fabio semantic-model list-datasources --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

List the gateway datasources bound to a semantic model

Terminal window
fabio semantic-model get-bound-gateway-datasources --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

Bind a semantic model’s data sources to an on-premises/VNet data gateway

Terminal window
fabio semantic-model bind-to-gateway --workspace <value> --id <value> --gateway-id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--gateway-id string Yes Gateway object id to bind to
--datasource-ids string No Optional comma-separated gateway datasource object ids to bind (defaults to all)

Mutates state · Returns object

Update datasources of a semantic model

Terminal window
fabio semantic-model update-datasources --workspace <value> --id <value> --content <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--content string Yes JSON content with datasource updates (inline or @file or @- for stdin)

Mutates state · Returns object

List users (permissions) of a semantic model

Terminal window
fabio semantic-model list-users --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

Add a user to a semantic model

Terminal window
fabio semantic-model add-user --workspace <value> --id <value> --principal <value> --principal-type <value> --access-right <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--principal string Yes Principal identifier (email, OID, or group ID)
--principal-type enum Yes Principal type One of: User, Group, App.
--access-right enum Yes Access right for the dataset One of: Read, ReadExplore, ReadReshare, ReadReshareExplore.

Mutates state · Returns object

Remove a user from a semantic model

Terminal window
fabio semantic-model delete-user --workspace <value> --id <value> --user <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--user string Yes User email or principal ID to remove

Mutates state · Destructive · Returns void

Get refresh history and status for a semantic model

Terminal window
fabio semantic-model refresh-status --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--top integer No Maximum number of refresh entries to return (default: 10)

Read-only · Returns object

Get execution details of a specific (enhanced) refresh by its request id

Terminal window
fabio semantic-model refresh-details --workspace <value> --id <value> --refresh-id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--refresh-id string Yes Refresh request id (the requestId from refresh-status)

Read-only · Returns object

Cancel an in-progress enhanced refresh by its request id

Terminal window
fabio semantic-model cancel-refresh --workspace <value> --id <value> --refresh-id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--refresh-id string Yes Refresh request id (the requestId from refresh-status) to cancel

Mutates state · Destructive · Returns object

Get the scheduled (automatic) refresh configuration

Terminal window
fabio semantic-model get-refresh-schedule --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns object

Update the scheduled (automatic) refresh configuration

Terminal window
fabio semantic-model update-refresh-schedule --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--enabled enum No Enable or disable the schedule One of: true, false.
--days string No Comma-separated weekday names (e.g. “Monday,Thursday”)
--times string No Comma-separated times on the full/half hour (e.g. “07:00,13:30”)
--local-time-zone-id string No Local time zone id (e.g. “UTC”)
--notify-option string No Failure/completion notification: NoNotification | MailOnFailure | MailOnCompletion

Mutates state · Returns void

List upstream (lineage) datasets that this semantic model depends on

Terminal window
fabio semantic-model list-upstream --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID

Read-only · Returns list

Clone a semantic model to the same or different workspace

Terminal window
fabio semantic-model clone --workspace <value> --id <value> --name <value>
Flag Type Required Description
--workspace string Yes Source workspace ID
--id string Yes Semantic model ID to clone
--name string Yes Display name for the cloned model
--target-workspace string No Destination workspace ID (defaults to same workspace)

Mutates state · Returns object

Export a semantic model as a .pbix file

Terminal window
fabio semantic-model export-pbix --workspace <value> --id <value> --file <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Semantic model ID
--file string Yes Output file path (e.g., model.pbix)

Read-only · Returns object

Import a .pbix file as a new semantic model

Terminal window
fabio semantic-model import-pbix --workspace <value> --name <value> --file <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--name string Yes Display name for the imported model
--file string Yes Path to the .pbix file to import
--name-conflict string No Conflict resolution: Abort, Overwrite, CreateOrOverwrite, GenerateUniqueName

Mutates state · Returns object