
Powerbi Consumption Cli
Run read-only DAX INFO.VIEW discovery against a Power BI semantic model from the agent when you need table, column, measure, and relationship inventory without clicking through Fabric UI.
Install
npx skills add https://github.com/microsoft/skills-for-fabric --skill powerbi-consumption-cliWhat is this skill?
- Scope-estimation ROW query counts tables, columns, measures, and relationships before deep discovery
- Read-only DAX using INFO.VIEW.TABLES, COLUMNS, MEASURES, and RELATIONSHIPS rowsets
- Column-level dictionary: DataType, SummarizeBy, SortByColumn, FormatString, calculated expressions, LineageTag
- Measure inventory with Expression, State, DisplayFolder, KPIID, and formatting metadata
- Relationship map with cardinality, active flag, cross-filtering, and security-filtering behavior
Adoption & trust: 63 installs on skills.sh; 427 GitHub stars; 3/3 security scanners passed (skills.sh audits).
Recommended Skills
Journey fit
The skill is a Microsoft Fabric / Power BI integration for semantic-model metadata—canonical home is Build because you wire it while modeling or connecting analytics assets, not during idea research or launch SEO. Integrations subphase covers CLIs and service connectors; powerbi-consumption-cli is explicitly a consumption/query path into semantic models via DAX rowsets.
Common Questions / FAQ
Is Powerbi Consumption Cli safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Powerbi Consumption Cli
# Power BI Semantic Model Discovery Queries Read-only DAX queries for metadata exploration using `INFO.VIEW.*` and `INFO.*` rowsets. ## Scope Estimation Queries ```dax -- Probe object counts to estimate metadata scope before deep discovery EVALUATE ROW( "TableCount", COUNTROWS(INFO.VIEW.TABLES()), "ColumnCount", COUNTROWS(INFO.VIEW.COLUMNS()), "MeasureCount", COUNTROWS(INFO.VIEW.MEASURES()), "RelationshipCount", COUNTROWS(INFO.VIEW.RELATIONSHIPS()) ) ``` ## INFO Output Columns ### INFO.VIEW.* (preferred first-pass metadata) | Function | High-value columns | What to use them for | |---|---|---| | `INFO.VIEW.TABLES()` | `Name`, `DataCategory`, `StorageMode`, `IsHidden`, `Expression`, `CalculationGroupPrecedence`, `LineageTag` | Table inventory, calculated-table detection, storage-mode audits, lineage tracking. | | `INFO.VIEW.COLUMNS()` | `Table`, `Name`, `DataType`, `DataCategory`, `IsHidden`, `SummarizeBy`, `Expression`, `SortByColumn`, `FormatString`, `LineageTag` | Column dictionary, semantic typing, sort/summarization checks, calculated column review. | | `INFO.VIEW.MEASURES()` | `Table`, `Name`, `Expression`, `FormatString`, `State`, `DisplayFolder`, `KPIID`, `LineageTag` | Measure inventory, formula review, formatting/state validation, KPI linkage. | | `INFO.VIEW.RELATIONSHIPS()` | `Relationship`, `IsActive`, `FromTable`, `FromColumn`, `ToTable`, `ToColumn`, `FromCardinality`, `ToCardinality`, `CrossFilteringBehavior`, `SecurityFilteringBehavior` | Join topology, cardinality validation, filter-direction and RLS behavior checks. | ### Critical INFO.* (deep metadata / diagnostics) | Function | High-value columns | What to use them for | |---|---|---| | `INFO.MODEL()` | `Name`, `DefaultMode`, `Culture`, `Collation`, `ModifiedTime`, `Version`, `DirectLakeBehavior`, `ValueFilterBehavior`, `SelectionExpressionBehavior` | Model policy/config audits and environment baseline. | | `INFO.DEPENDENCIES()` | Commonly exposed dependency fields such as `OBJECT_TYPE`, `TABLE`, `OBJECT`, `REFERENCED_OBJECT_TYPE`, `REFERENCED_TABLE`, `REFERENCED_OBJECT` (engine-dependent) | Dependency graph for a DAX query and impact analysis for a target measure. | | `INFO.EXPRESSIONS()` | Expression metadata including partition-bound query definitions | Inspect underlying queries bound to partition objects. | ```dax -- Probe output schema of an INFO function (returns column names and types with zero data rows) EVALUATE TOPN(0, INFO.VIEW.COLUMNS()) ``` ## Narrowing Results (Projection + Filtering) ```dax -- Pull only needed columns for a single table to reduce output volume EVALUATE SELECTCOLUMNS( FILTER(INFO.VIEW.COLUMNS(), [Table] = "YourTableName"), "Column", [Name], "DataType", [DataType] ) ORDER BY [Column] ASC ``` ## Deep Metadata Queries ```dax -- Detailed model metadata EVALUATE INFO.MODEL() ``` ```dax -- Partition of a table EVALUATE FILTER(INFO.PARTITIONS(), [TableID] == 123) ``` ```dax -- Underlying queries bound to partition objects EVALUATE INFO.EXPRESSIONS() ORDER BY [Name] ``` ```dax -- Cultures metadata objects EVALUATE INFO.CULTURES() ORDER BY [Name] ``` ```dax -- Object translations metadata EVALUATE INFO.OBJECTTRANSLATIONS() ORDER BY [CultureID], [ObjectID], [Property] ``` ## Dependency Discovery ### Dependency rowset for a DAX query ```dax -- Returns dependency graph for the query payload DEFINE VAR _Query = "EVALUATE SUMMARIZECOLUMNS('Date'[Year], 'Product'[Color], ""Sales"", [Sales])" EVALUATE INFO.DEPENDENCIES("QUERY", _Query) ``` ### Dependency rows scoped to a measure ```dax -- Adjust values to your model object names EVALUATE FILTER( INFO.DEPENDENCIES(), [OBJECT_TYPE] = "MEASURE" && [TABLE] = "Sales" && [OBJECT] = "Total Sales" ) ``` ### Reverse dependencies (what references a measure) ```dax -- Use when dependency columns are exposed in your engine rowset EVALUATE FILTER( INFO.DEPENDENCIES(), [REFERENCED_OBJECT_TYPE] = "MEASURE" && [REFEREN