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 betweenSales[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
refreshtool)
Prompt:
“List partitions forSales. 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’ forProducts[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 relationshipSales[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 hierarchyGeography 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 tableDate 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_dependenciesif 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)
| Mode | Availability |
|---|---|
| Full mode | AvailableAvailable |
| Read-only mode | Not availableNot available |
| Browse-only mode | Not availableNot available |
Notes: Authoring (writes); bulk changes can partially apply; Desktop requires saving PBIX to persist.
If edits are blocked, ask:
“Explain what’s blocked (mode/policy/license) and propose a manual plan + validation queries.”Recommended workflow (safe schema edits)
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.
Formatting and consent (DAX / M)
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.”