The Power BI Fellowship
Patterns & Playbooks · Patterns

Best-practice library

Opinionated, checkable standards for measure and table naming, display folders, descriptions, hidden keys, explicit measures, relationships, date tables, documentation, DAX formatting, workspaces and Git, and how to automate them with Best Practice Analyzer.

BI DeveloperSenior BI DeveloperBI EngineerTabular EditorBest Practice AnalyzerPower BI DesktopGitChecked 2 Oct 2026Download .md
On this page (12)

Why standards

Standards aren't about taste. They make a model readable by the next person (often you in six months), make review faster, and let tools check the boring things so humans can review the logic. Pick a standard, write it down, and automate it. The rules below are a good default; changing one is fine as long as the team changes it everywhere.

Measure naming

Table and column naming

Display folders and descriptions

Hide keys, use explicit measures

Relationship rules

Date table standards

Model documentation

Generate it from the model rather than writing it twice: descriptions in the model, the data dictionary exported from them, and the model design document for the decisions (grain, sources, refresh, security) that the model can't hold.

DAX formatting

Workspace naming

<Domain> <Purpose> [<Stage>], for example Sales Analytics [Dev], Sales Analytics [Test], Sales Analytics. Use a consistent pattern so lineage, deployment pipelines and scripts can rely on it. Download the workspace naming standard.

Git standards

Automate it with BPA

Tabular Editor's Best Practice Analyzer checks rules like these automatically: naming, descriptions, hidden keys, data types, DAX anti-patterns and performance smells. Start with Microsoft's published rule set, switch off rules your team has decided against, and add your own (for example "measures must have a display folder"). Run it before every PR, and in CI when the model is in PBIP, so standards are enforced by a tool and reviews can focus on logic.

Something missing or out of date? Open an issue or edit content/toolkit/guides/best-practices.md.