Calculation Groups Should Contain Items
Overview
This best practice rule identifies calculation groups that contain no calculation items. Empty calculation groups serve no purpose and should be populated or removed.
- Category: Maintenance
- Severity: Medium (2)
Applies To
- Calculation Groups
Why This Matters
- Deployment errors: Empty groups may fail validation in Power BI Service
- Model errors: Can cause unexpected behavior in DAX calculations
- Developer confusion: Team members waste time investigating incomplete structures
- Performance overhead: Engine processes unnecessary metadata
When This Rule Triggers
The rule triggers when a calculation group has zero calculation items:
CalculationItems.Count == 0
How to Fix
Option 1: Add Calculation Items
If the calculation group has a valid business purpose:
- In TOM Explorer, expand the calculation group table
- Expand the Calculation Group column
- Right-click and select Add Calculation Item
- Define the calculation item expression
Option 2: Delete the Calculation Group
If no longer needed:
- In TOM Explorer, locate the calculation group table
- Right-click the table
- Select Delete
Common Causes
Cause 1: Incomplete Development
Calculation group created during planning but not yet implemented.
Cause 2: Migration from Other Models
Calculation group structure copied without items.
Cause 3: Refactoring
All calculation items moved to a different calculation group.
Example
Before Fix
Calculation Group: Time Intelligence
Items: (none) ← Problem
After Fix
Calculation Group: Time Intelligence
Items:
- Current Period: SELECTEDMEASURE()
- Year-to-Date: CALCULATE(SELECTEDMEASURE(), DATESYTD('Date'[Date]))
- Prior Year: CALCULATE(SELECTEDMEASURE(), SAMEPERIODLASTYEAR('Date'[Date]))
Compatibility Level
This rule applies to models with compatibility level 1200 and higher.
Related Rules
- Perspectives Should Contain Objects - Similar rule for empty perspectives
- Expression Required - Ensuring calculation items have expressions