powerbi-modeling

Build and optimize Power BI semantic models using MCP tools and DAX best practices.

Updated Aug 28, 2026
One-click install
npx skills add https://github.com/miyake-san/sogo-agent-platform --skill powerbi-modeling-miyake-san
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: powerbi-modeling
Source: https://github.com/miyake-san/sogo-agent-platform/tree/main/skills/domain/powerbi-modeling
Command: npx skills add https://github.com/miyake-san/sogo-agent-platform --skill powerbi-modeling-miyake-san

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Designing Power BI semantic models involves many interdependent decisions—star schema structure, relationship cardinality, DAX measure patterns, RLS rules, and performance tuning—and mistakes lead to slow reports and incorrect numbers. This Skill connects to your active model, audits it against Microsoft best practices, and applies fixes directly through the Power BI Modeling MCP server. ## Core Features & Use Cases - Model Analysis and Health Checks: Connects to Power BI Desktop or Fabric models, lists tables, relationships, and measures, then evaluates star schema design, naming conventions, documentation coverage, and cross-filter direction. - Direct Model Modification: Creates and updates measures, columns, relationships, calculation groups, and security roles via MCP operations, including descriptions, format strings, display folders, and hidden fields. - Best-Practice References: Ships detailed guides for star schema design, relationship patterns, DAX measure authoring, performance optimization, and row-level security implementation. - Use Case: Ask the assistant to review your Sales model; it connects, finds undocumented measures and a bidirectional relationship, then adds descriptions, converts the filter to single direction, and creates a marked date table. ## Quick Start Connect to my open Power BI model, audit it against best practices, and fix any relationship or documentation issues you find.

Frequently Asked Questions about powerbi-modeling

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a DAX measure in Power BI programmatically?

Use the measure_operations Create action from the Power BI Modeling MCP server, providing the measure name, home table, DAX expression, format string, and description. The skill recommends explicit measures with descriptive names and documentation for all key business metrics.

How do I design a star schema for Power BI?

Separate descriptive attributes into dimension tables (Customer, Product, Date) and measurable events into fact tables (Sales, Orders), linking them with one-to-many relationships. Keep a consistent grain per fact table, use surrogate keys, and always include a marked date table.

Should I use bidirectional relationships in Power BI?

Bidirectional cross-filtering should be avoided by default because it hurts performance and can create ambiguous filter paths. Prefer single-direction filters and use the CROSSFILTER function inside specific DAX measures when bidirectional behavior is genuinely required.

Does this skill work with Power BI Fabric models?

Yes, the Power BI Modeling MCP server supports connecting to both Power BI Desktop instances and Fabric-hosted semantic models via the ConnectFabric connection operation. The same table, measure, and relationship operations apply to both targets.

How do I implement dynamic row-level security in Power BI?

Create a security role whose filter expression uses USERPRINCIPALNAME() matched against a user-mapping table, applied to dimension tables so filters propagate through relationships. Dynamic RLS scales better than static per-region roles because no role changes are needed when users change.

Why is my Power BI model slow and how can I fix it?

Common causes include unnecessary columns, high-cardinality fields, bidirectional relationships, and DAX that filters entire tables. Reduce data volume, optimize data types, use variables in measures, replace division with DIVIDE, and test with Performance Analyzer or DAX Studio.