
Refresh Semantic Model
Automatically invoke this skill whenever the user asks to refresh a semantic model or a...
Install
npx skills add data-goblin/power-bi-agentic-development --skill refresh-semantic-model -g -a claude-code -y- Repository
- data-goblin/power-bi-agentic-development1.1k
- Category
- Data and ML
- Updated
- 5d ago
- License
- GPL-3.0
- Context cost
- Mediumabout 3,000 tokens
- Runs scripts
- Yes, review before use
What it does
Automatically invoke this skill whenever the user asks to refresh a semantic model or a dataset. Can also be used to manage, optimize, troubleshoot, or configure a refresh or a refresh schedule.
Refreshing Semantic Models
Trigger, monitor, validate, and troubleshoot semantic model refreshes via the Power BI Enhanced Refresh REST API and Fabric CLI.
Core Concepts
A semantic model refresh reloads data from upstream sources and/or recalculates dependent objects (calculated columns, calculated tables, measures). The scope can be the entire model, specific tables, or individual partitions.
Six refresh types are available via the REST API; a seventh (add) is TMSL-only:
| Type | Reloads Data | Recalculates | Primary Use Case | API |
|---|---|---|---|---|
full | Yes | Yes | Complete reload from scratch | REST |
automatic | Conditional | Conditional | Smart refresh; process only if needed | REST |
dataOnly | Yes | No* | Reload data; clear dependents | REST |
calculate | No | Yes | Recalculate without reloading data | REST |
clearValues | No | No | Empty data from objects | REST |
defragment | No | No | Clean up column dictionaries | REST |
add | Append | Yes | Append rows to a partition | TMSL |
*dataOnly clears dependent objects (calculated columns, calculated tables) but does not recalculate them. Follow with a calculate refresh to restore them.
For detailed descriptions, behavior with incremental refresh policies, commit modes, and parallelism options, consult references/refresh-types.md.
Refresh Workflow
Step 1: Resolve IDs
Extract the workspace and model GUIDs needed for API calls:
WS_ID=$(fab get "WorkspaceName.Workspace" -q "id" | tr -d '"')
MODEL_ID=$(fab get "WorkspaceName.Workspace/ModelName.SemanticModel" -q "id" | tr -d '"')
