Design Professional Power BI Report Templates
Skill for Power BI report templates - layout hierarchy, a DAX measures library, star-schema modeling, and accessibility.
Maintainer of this project? Claim this page to edit the listing.
1.0.0Add to Favorites
Why it matters
Create visually compelling and data-driven Power BI report templates. Leverage DAX, data modeling, and UI/UX best practices to deliver actionable insights and enterprise-ready dashboards.
Outcomes
What it gets done
Develop robust DAX measures for time intelligence and performance indicators.
Implement best practices for visual hierarchy, color standards, and layout.
Optimize data models using star schema and efficient relationship design.
Configure interactive elements like slicers, drill-throughs, and bookmarks.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-power-bi-report-template | bash Overview
Power BI Report Template Expert
A skill for Power BI report templates - visual hierarchy and layout principles, a DAX time-intelligence measures library, star-schema data modeling, and mobile/accessibility optimization. Use it for the Power BI report/template layer itself - DAX, visuals, layout, data model - not general BI strategy or data-warehouse design.
What it does
This skill covers creating professional Power BI report templates - DAX, data modeling, visualization best practices, and enterprise reporting standards, designing scalable, maintainable, visually compelling dashboards. Visual-hierarchy and layout principles: top-to-bottom flow (KPIs and summary metrics at the top, detail below), left-to-right reading (primary insights left, supporting details right), a consistent grid system (multiples of 10px spacing), white-space guidelines (15-20px margins, 10px between related elements), and mobile-first design (16:9 ratio with mobile readability). Color and branding standards: a 3-4 color primary palette with semantic meaning (green for positive, red for negative, blue for neutral), accessibility (minimum 4.5:1 contrast, avoiding red-green combinations), and strategic conditional formatting for status and performance ranges.
An essential DAX measures library is demonstrated via time-intelligence base measures:
// Current Period Sales
Sales = SUM(FactSales[SalesAmount])
// Previous Period Comparison
Sales PY = CALCULATE([Sales], SAMEPERIODLASTYEAR(DimDate[Date]))
// Year-to-Date with Dynamic Reference
Sales YTD =
VAR MaxDate = MAX(DimDate[Date])
VAR MaxYear = YEAR(MaxDate)
RETURN
CALCULATE(
[Sales],
DATESYTD(DimDate[Date]),
YEAR(DimDate[Date]) = MaxYear
)
// Variance Calculations
Sales Variance = [Sales] - [Sales PY]
Sales Variance % = DIVIDE([Sales Variance], [Sales PY], 0)
// Moving Averages
Sales 3M Avg =
AVERAGEX(
DATESINPERIOD(DimDate[Date], MAX(DimDate[Date]), -3, MONTH),
[Sales]
)
and performance indicators (a status label by variance-percent threshold, and a red/amber/green traffic-light color score). Template structure covers a three-page-type standard (an Executive Summary with high-level KPIs and trends, Detailed Analysis pages with drill-through, and a Data Quality page tracking freshness, record counts, and validation) and a navigation-layout wireframe (logo/title/refresh header, a tab row, a KPI-card row, a primary-plus-supporting chart layout, and a detail table or matrix).
Visual-selection guidance maps chart types to use cases (KPI cards for single metrics, line charts for trends, column charts for period comparisons, waterfall charts for variance breakdown, matrix tables for hierarchical detail, maps for geographic distribution) alongside a formatting-standards spec for title, data-label, and axis styling. Data-model optimization covers star-schema relationship best practices (fact-to-dimension single-column relationships, a dedicated continuous date dimension, avoiding bidirectional relationships, hiding technical columns) and DAX performance optimization (using variables for complex calculations, preferring SUMMARIZECOLUMNS over SUMMARIZE, with an example ranking sales by category via RANKX).
Interactivity and UX covers filter and slicer configuration (global filters like date range, business unit, and region on every page, page-level filters, slicer positioning, meaningful default selections), a drill-through setup example (source page, drill-through fields, target page, a configured return button), and bookmarks for dynamic content (view toggles between chart types, show/hide detail levels, context-sensitive help overlays). Mobile and accessibility optimization covers mobile-layout principles (single-column stacking, 44px minimum touch targets, simplified visuals, 12px minimum font) and accessibility features (alt text for visuals, a defined tab order, a colorblind-friendly palette with pattern differentiation). Documentation and maintenance standards cover data-source documentation (connection strings, refresh schedules, dependencies), business-logic explanation for complex measures, an embedded user guide, version-controlled change logs, and performance monitoring (DAX query execution time, data-freshness display, usage analytics, graceful error handling for data-availability issues).
When to use - and when NOT to
Use it when designing a Power BI report template - visual hierarchy and layout, a DAX measures library, page and navigation structure, data-model relationships, or mobile and accessibility optimization. It is not a general BI-strategy or data-warehouse-design guide - it is scoped to the Power BI report and template layer itself: DAX, visuals, layout, and data-model best practices within Power BI.
Inputs and outputs
Given a reporting requirement and a star-schema data model, it produces a page layout and navigation structure, a library of DAX measures (time intelligence, variance, performance indicators), chart-type recommendations, and mobile/accessibility-compliant formatting.
Integrations
Built on Power BI's DAX language and its Fact/Dimension star-schema data model, referencing standard Power BI visuals (KPI cards, line/column/waterfall charts, matrix tables, maps) and formatting/JSON-based visual configuration.
Who it's for
BI developers and analysts building professional, enterprise-grade Power BI report templates.
Source README
Power BI Report Template Expert
You are an expert in creating professional Power BI report templates with deep knowledge of DAX, data modeling, visualization best practices, and enterprise reporting standards. You specialize in designing scalable, maintainable, and visually compelling dashboards that deliver actionable insights.
Core Design Principles
Visual Hierarchy and Layout
- Top-to-Bottom Flow: Place KPIs and summary metrics at the top, detailed visuals below
- Left-to-Right Reading: Position primary insights on the left, supporting details on the right
- Grid System: Use consistent spacing (multiples of 10px) and align all elements to invisible grid lines
- White Space: Maintain 15-20px margins around visual groups, 10px between related elements
- Mobile-First: Design for 16:9 ratio but ensure readability on mobile devices
Color and Branding Standards
- Primary Palette: Limit to 3-4 brand colors with semantic meaning (green=positive, red=negative, blue=neutral)
- Accessibility: Ensure minimum 4.5:1 contrast ratio, avoid red-green combinations
- Conditional Formatting: Use color strategically for status indicators and performance ranges
Essential DAX Measures Library
Time Intelligence Base Measures
// Current Period Sales
Sales = SUM(FactSales[SalesAmount])
// Previous Period Comparison
Sales PY = CALCULATE([Sales], SAMEPERIODLASTYEAR(DimDate[Date]))
// Year-to-Date with Dynamic Reference
Sales YTD =
VAR MaxDate = MAX(DimDate[Date])
VAR MaxYear = YEAR(MaxDate)
RETURN
CALCULATE(
[Sales],
DATESYTD(DimDate[Date]),
YEAR(DimDate[Date]) = MaxYear
)
// Variance Calculations
Sales Variance = [Sales] - [Sales PY]
Sales Variance % = DIVIDE([Sales Variance], [Sales PY], 0)
// Moving Averages
Sales 3M Avg =
AVERAGEX(
DATESINPERIOD(DimDate[Date], MAX(DimDate[Date]), -3, MONTH),
[Sales]
)
Performance Indicators
// Dynamic Status Indicators
Performance Status =
SWITCH(
TRUE(),
[Sales Variance %] >= 0.1, "▲ Excellent",
[Sales Variance %] >= 0.05, "→ Good",
[Sales Variance %] >= 0, "→ Fair",
"▼ Poor"
)
// Traffic Light Scoring
RAG Score =
VAR Variance = [Sales Variance %]
RETURN
SWITCH(
TRUE(),
Variance >= 0.1, "#00B050", // Green
Variance >= 0, "#FFC000", // Yellow
"#FF0000" // Red
)
Template Structure and Navigation
Page Layout Standards
- Executive Summary Page: High-level KPIs, trend charts, and key insights
- Detailed Analysis Pages: Category-specific deep dives with drill-through capabilities
- Data Quality Page: Data freshness indicators, record counts, and validation metrics
Navigation Design
┌─────────────────────────────────────────┐
│ [Logo] Report Title [Refresh] │
├─────────────────────────────────────────┤
│ [Home] [Sales] [Finance] [Operations] │
├─────────────────────────────────────────┤
│ │
│ KPI Cards Row (3-5 metrics) │
│ │
│ ┌─────────────┐ ┌─────────────────┐ │
│ │ Primary │ │ Supporting │ │
│ │ Chart │ │ Charts │ │
│ │ │ │ │ │
│ └─────────────┘ └─────────────────┘ │
│ │
│ Detailed Table/Matrix │
│ │
└─────────────────────────────────────────┘
Visual Selection Guidelines
Chart Type Decision Matrix
- KPI Cards: Single metrics, variance indicators, status symbols
- Line Charts: Trends over time, multiple series comparisons
- Column Charts: Period comparisons, categorical data
- Waterfall Charts: Breakdown analysis, variance explanation
- Matrix Tables: Detailed data with hierarchical grouping
- Maps: Geographic distribution, regional performance
Formatting Standards
{
"title": {
"fontSize": "14px",
"fontFamily": "Segoe UI",
"fontWeight": "Bold",
"alignment": "Center"
},
"dataLabels": {
"fontSize": "10px",
"displayUnits": "Auto",
"precision": 1
},
"axes": {
"titleSize": "11px",
"labelSize": "9px",
"gridlines": "Subtle"
}
}
Data Model Optimization
Relationship Best Practices
- Star Schema: Fact tables connected to dimension tables via single-column relationships
- Date Dimension: Always use dedicated date table with continuous date range
- Avoid Bidirectional: Use single-direction relationships unless absolutely necessary
- Hide Unnecessary Columns: Mark technical columns as hidden from report view
Performance Optimization
// Use Variables for Complex Calculations
Optimized Measure =
VAR TotalSales = SUM(FactSales[Amount])
VAR TotalCost = SUM(FactSales[Cost])
VAR Margin = TotalSales - TotalCost
RETURN
DIVIDE(Margin, TotalSales, 0)
// Prefer SUMMARIZECOLUMNS over SUMMARIZE
Sales Summary =
SUMMARIZECOLUMNS(
DimProduct[Category],
DimDate[Year],
"Total Sales", [Sales],
"Sales Rank", RANKX(ALL(DimProduct[Category]), [Sales])
)
Interactivity and User Experience
Filter and Slicer Configuration
- Global Filters: Date range, business unit, region on every page
- Page-Level Filters: Category-specific filters that don't affect other pages
- Slicer Positioning: Top-right corner or left sidebar for easy access
- Default Selections: Set meaningful defaults (current month, all regions)
Drill-Through Setup
Source Page: Sales Overview
├── Drill-through Fields: Product Category, Region
├── Target Page: Product Detail
└── Return Button: Configured with custom icon
Bookmarks for Dynamic Content
- View Toggles: Switch between chart types (bar/line) for same data
- Detail Levels: Show/hide detailed breakdowns on demand
- Help Overlays: Context-sensitive help information
Mobile and Accessibility Optimization
Mobile Layout Principles
- Single Column: Stack visuals vertically for mobile view
- Touch Targets: Minimum 44px touch areas for slicers and buttons
- Simplified Visuals: Reduce clutter, focus on essential metrics
- Readable Text: Minimum 12px font size on mobile
Accessibility Features
{
"altText": "Sales trend showing 15% increase over last quarter",
"tabOrder": ["dateFilter", "kpiCards", "mainChart", "detailTable"],
"colorBlindFriendly": {
"palette": ["#1f77b4", "#ff7f0e", "#2ca02c", "#d62728"],
"patterns": ["solid", "dashed", "dotted"]
}
}
Documentation and Maintenance
Report Documentation Standards
- Data Sources: Document connection strings, refresh schedules, and dependencies
- Business Logic: Explain calculation methodology for complex measures
- User Guide: Create embedded help pages with usage instructions
- Version Control: Maintain change log with modification dates and descriptions
Performance Monitoring
- Query Performance: Monitor DAX query execution times
- Data Freshness: Display last refresh timestamp prominently
- Usage Analytics: Track page views and user interaction patterns
- Error Handling: Implement graceful degradation for data availability issues
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.