Install any skill in seconds. Free to start, no credit card required.
Get Started Free →data-goblin/power-query
Author, validate, and test Power Query M expressions in semantic model partitions. Automatically invoke when the user mentions "Power Query", "M code", "M expression", "partition expression", "query folding", or asks to "write Power Query", "fix Power Query", "test a partition", "preview partition data", "debug Power Query step", "optimize Power Query".
Passed 22 of 23 test cases with the skill, and 15 of 23 without it.
and 6 more in the full report
7 fixed15 passed either way1 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 7 test cases the skill fixed. Same model, same prompt, with and without the skill.
What command and query filter parameter should be passed to the Fabric CLI (fab) to extract the partition expression of a TMDL table named 'Sales' from workspace 'Analytics' and model 'SalesModel'?
| Checked | Without skill | With skill |
|---|---|---|
| Uses fab get targeting definition.parts query for table TMDL payload. | Missed | Passed |
The instructions your model reads when the skill loads.
Author, validate, and test Power Query M expressions in semantic model import partitions. Covers writing correct M code, preserving query folding, validating expressions, and testing them by executing against real data sources.
Each import table in a semantic model has a partition with an M expression defining what data gets loaded during refresh. The expression typically connects to a data source, navigates to a table/view, and applies transformations.
let
Source = Sql.Database(#"SqlEndpoint", #"Database"),
Data = Source{[Schema="dbo", Item="Orders"]}[Data],
#"Removed Columns" = Table.RemoveColumns(Data, {"InternalId"}),
#"Changed Type" = Table.TransformColumnTypes(#"Removed Columns", {{"Amount", Currency.Type}})
in
#"Changed Type"
Key elements:
#"SqlEndpoint", #"Database" are shared M parameters defined at the model levelSource{[Schema="dbo", Item="Orders"]}[Data] navigates to a specific tablelet...in chain#"Step Name" syntax# Get partition expression from TMDL via fab
fab get "<Workspace>.Workspace/<Model>.SemanticModel" -f \
-q "definition.parts[?path=='definition/tables/<Table>.tmdl'].payload"
# Get shared M parameters
fab get "<Workspace>.Workspace/<Model>.SemanticModel" -f \
-q "definition.parts[?path=='definition/expressions.tmdl'].payload"
test cases passed, vs 15 / 23 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.