Schema Management

manage_schema changes the shape of the model: tables, partitions, columns, relationships, hierarchies, and calendars.

Use it when you need to modify structure (tables/relationships/partitions), not just DAX logic (that’s manage_semantic).

You don’t need to know tool parameters-ask the assistant for a plan + impact analysis first; it should only apply schema changes when your environment allows writes and you confirm.

What to ask the LLM (quick prompts)

“Add a relationship between Sales[CustomerId] and Customers[CustomerId]. Explain cardinality and filter direction before applying.” “Hide Customers[Email], add a description explaining why, and confirm nothing depends on it.” “Update the partition expression for table Sales_Staging (show current and proposed; don’t apply until I confirm).” “Mark table Date as a date table and set the primary date column.” “Create a hierarchy Geography in Customers (Country → Region → City).”

What you can change (capabilities, user view)

Tables

Common table-level changes:

  • create/delete tables (with initial partition)
  • rename, hide/unhide, descriptions
  • mark as date table (and choose date column)
  • partition mode (import/directquery/dual, where supported)
  • refresh policies (incremental patterns)
  • annotations (key/value metadata)

Partitions (per table)

Partitions control how tables are loaded and processed. Typical asks:

  • list partitions and their types (M vs calculated vs query/entity)
  • update partition expressions
  • create/delete partitions (advanced)
  • refresh a partition (or use the refresh tool)

Prompt:

“List partitions for Sales. Summarize which are M vs calculated and which ones are safe to edit.”

Columns (properties + calculated columns)

Common column edits:

  • rename, hide/unhide, descriptions
  • format strings and data categories
  • display folders (for usability)
  • summarize-by settings
  • sort-by column
  • annotations

Calculated columns:

  • create/update/delete calculated columns (use sparingly; they increase model size and can impact refresh/perf)

Prompt:

“Set ‘Sort by column’ for Products[ProductName] to Products[ProductSort] (confirm both exist first).”

Relationships

You can create/update/delete relationships and tune:

  • cardinality (one-to-many, many-to-one, etc.)
  • cross-filter direction
  • active vs inactive
  • referential integrity hint (where supported)

Prompt:

“Create relationship Sales[CustomerId]Customers[CustomerId]. Explain the modeling tradeoffs and confirm it won’t create ambiguous filter paths.”

Hierarchies

Hierarchies make models easier to browse and slice by. You can:

  • create/update/delete hierarchies
  • add/remove/reorder levels
  • hide, set folder, add description

Prompt:

“Create hierarchy Geography in Customers: Country → Region → City. Put it in folder Customers\\Geography.”

Calendars

Calendar helpers can be created for date tables to support consistent time intelligence metadata. From a user perspective, the assistant can:

  • create/delete/rename a calendar definition,
  • add or remove time units (for example Year/Quarter/Month/Week),
  • add or remove related groups used for calendar organization.

Prompt:

“Create a calendar for table Date and confirm it’s configured correctly for time intelligence.”

Safety tips (schema edits are high impact)

  • Always run impact analysis before rename/delete (use manage_dependencies if available).
  • Apply changes in small batches and validate after each batch.
  • Consider using checkpoints/history tooling (Pro) before large refactors.

For the full “impact → plan → apply → validate” pattern, use: Change safely.

Risk & governance notes (read this once)

Locked-down environments (mode behavior)

ModeAvailability
Full modeAvailableAvailable
Read-only modeNot availableNot available
Browse-only modeNot availableNot available

Notes: Authoring (writes); bulk changes can partially apply; Desktop requires saving PBIX to persist.

Learn more about modes and restrictions.

If edits are blocked, ask:

“Explain what’s blocked (mode/policy/license) and propose a manual plan + validation queries.”

Copy/paste prompt:

“We need to add a relationship between Sales and Customers. First show current relationships and any ambiguities. Then propose the relationship definition. Wait for my confirmation before applying.”

Tip: for bulk edits, dry runs, and “wait for confirmation” templates, see: Change safely.

Some schema operations can format expressions for readability (for example, calculated tables/columns or M partitions). Online formatting requires explicit consent and may be centrally disabled.

User prompts:

“Do not use online formatting services in this environment.” “If you want to format, ask me first and tell me which external service would be used.”

“Disable online formatting in this environment.” (see Preferences runtime settings)

Troubleshooting

Ask the assistant to explain the modeling tradeoffs and highlight ambiguous paths before choosing.

Ask: “Show the current partition definition and the exact error, then propose a minimal fix.”

Ask: “Reload metadata and confirm the object exists/changed.”

See also