Calculation Groups are a powerful feature in Power BI that allow you to simplify and manage multiple DAX measures using reusable logic. They help reduce redundancy by creating dynamic calculations (like YoY, MoM, % of total) that can be applied to many measures, rather than duplicating the logic in each measure.
Where to Find Calculation Groups in Power BI
As of mid-2024, you can create and manage Calculation Groups natively in Power BI Desktop — no need for Tabular Editor.
How to Access:
- Open Power BI Desktop
- In the Model view, right-click anywhere in the Fields pane and select “New Calculation group” or select a Calculation from the top ribbon.
💡 You must be in Model view, not Report view, to access this option.

Creating a Calculation Group
Once you’ve selected New calculation group:
- Name your group (e.g.,
Periods). - A special table is created with a column (e.g.,
Periods) where each row will be a calculation item.

Add Calculation Items:
Each calculation item consists of:
- A name (e.g., “MTD”)
- A DAX expression using
SELECTEDMEASURE()to apply to whichever base measure is used in a visual.

In our case, we’re using a DATESMTD function to calculate the Month-to-date period.

MTD = CALCULATE(SELECTEDMEASURE(), DATESMTD('Calendar'[Date]))
We can add a few more calculation items to this group to complete the set of calculations:
QTD = CALCULATE(SELECTEDMEASURE(), DATESQTD('Calendar'[Date]))
YTD = CALCULATE(SELECTEDMEASURE(), DATESYTD('Calendar'[Date]))
FY = CALCULATE(SELECTEDMEASURE(), ALL('Calendar'[Month]))
How to Use Calculation Groups in Reports
Once you’ve defined a Calculation Group:
- It appears as a new table with a single column (named after the group).

2. Add this column to your columns, rows, or slicer in a visual.
3. Add your base measures to the Values and comparisons buckets.

Power BI will dynamically apply the calculation logic (from each item) to the selected measures.
Important: When a Calculation Group is established, Power BI implements certain alterations to the model behind the scenes, effectively disabling implicit measures. Consequently, any aggregations dependent on implicit measures will no longer work.
Practical examples
Calculation groups can be used in various ways, since they have a wide range of capabilities that enhance model flexibility and maintainability.
Example with formats set in the Calculation group
When you’re presenting different KPIs and units, formatting plays a crucial role in reports – because it directly affects clarity, credibility, and decision-making.
Consistent formatting helps readers quickly interpret values without confusion
Calculation groups can also use the Dynamic format strings functionality enabling the application of varied formats to different KPIs. This feature can be activated through the Properties.

Once activated, a new DAX formula bar will appear, allowing us to insert the formatting logic for our KPIs. The DAX formula assigns specific units based on each KPI’s values; for example, ratios are displayed in percentage format.

VAR format_ =
SWITCH (
TRUE (),
SELECTEDMEASURE () >= 1000000, "#,0,,.0M",
SELECTEDMEASURE () >= 1000, "#,0,.0K",
SELECTEDMEASURE () >= 1, "#.0"
)
RETURN
IF ( SELECTEDVALUE ( KPIs[KPI_ID] ) = 4, "0.0%", format_)
The visual example illustrates how the applied calculation group automatically standardizes KPI formatting across all measures in the report, ensuring a consistent display of units.

Decimal places switch
The number of decimal places shown in data labels can significantly affect how a report is interpreted and used in a business context. Choosing more or fewer decimal places is about clarity, relevance, and precision.
- More decimals are shown when small changes matter (e.g., interest rates, scientific data, quality control). For example, technical teams may need exact figures.
- Fewer decimals or none at all are used when general trends or magnitudes are more critical than exact values. Executives or investors may prefer big-picture summaries.
Calculation groups allow users to dynamically choose how many decimal places to show in measures/data labels, without duplicating multiple versions of the same measure.
Simply create a calculation group and define each decimal place by enabling the Dynamic format strings

The calculation group can then be added as a slicer, where a user can select a preferred number of decimal places.

Values in Rows
Calculation groups can be useful if you prefer to display values in rows rather than columns (which is the default in Zebra BI Tables). You can calculate your measures as calculation items:

And place the calculation group in the second position (below the first level) of the Category placeholder.

If we look at the default view of Zebra BI Tables, where the values are displayed in columns, we can modify this by showing the values in rows instead:

Conclusion
Calculation Groups bring a new level of efficiency and flexibility to Power BI modeling. By centralizing reusable logic, they reduce the need for repetitive measures, simplify maintenance, and make your reports more dynamic. Whether you’re applying common time intelligence patterns, reorganizing how values appear in visuals, or standardizing business calculations across your model, Calculation Groups can dramatically streamline your workflow.
If you’re already comfortable with DAX, this feature is a natural next step to make your models more powerful and easier to manage. Start experimenting with simple calculation items, and soon you’ll find countless ways to leverage them in real-world reporting scenarios.