<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/power-bi-dax-context-filter-row-context-transition-power-bi-course-28-arwdykqof" -->

---
title: Power BI DAX Context: Filter, Row & Context Transition |...
description: A video tutorial walks through DAX context in Power BI, explaining the four types: filter context, overwriting context (via the CALCULATE function), row...
canonical: https://daily.dev/posts/power-bi-dax-context-filter-row-context-transition-power-bi-course-28-arwdykqof
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Power BI DAX Context: Filter, Row & Context Transition | Power BI Course 28 | daily.dev
og:description: A video tutorial walks through DAX context in Power BI, explaining the four types: filter context, overwriting context (via the CALCULATE function), row...
og:url: https://daily.dev/posts/power-bi-dax-context-filter-row-context-transition-power-bi-course-28-arwdykqof
og:image: https://api.daily.dev/og/posts/arWdykqOF.png
og:image:alt: Power BI DAX Context: Filter, Row & Context Transition | Power BI Course 28
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Power BI DAX Context: Filter, Row & Context Transition | Power BI Course 28

**[Data with Baraa](https://daily.dev/sources/datawithbaraa)** · 32 min read · 0 upvotes · 0 comments

## Summary

A video tutorial walks through DAX context in Power BI, explaining the four types: filter context, overwriting context (via the CALCULATE function), row context, and context transition. Using a sales dataset, it demonstrates building measures that respond to visual filters, overriding context with ALL and specific filter conditions, calculating percentage of total and comparisons against a reference category, and finally shows how putting a measure inside a calculated column triggers context transition, enabling derived flags like 'bestseller' for use in slicers and visuals.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=NnSyWXLBW2U>

## Questions this post answers

### How do I calculate a percentage of total in Power BI DAX when the total sales measure gets filtered by category?

Create a second measure using CALCULATE with ALL to ignore the category filter, for example ALL SALES = CALCULATE(SUM(Sales), ALL(Products)), then divide the original Total Sales measure by this unfiltered measure. This produces a percentage-of-total value that shows each category's contribution relative to the whole business rather than a filtered subset.

_daily.dev surfaces practical DAX patterns like this for analysts building percentage-of-total metrics in Power BI._

### What is context transition in DAX and when should I use it?

Context transition happens when a measure is placed inside a calculated column, converting the row context into an implicit filter context so the measure recalculates based on the values in that specific row rather than a fixed row number. It's used for pre-aggregation steps, such as computing per-product total sales inside a column to then derive a bestseller flag or feed another calculation.

_Developers wiring up derived columns and flags in Power BI can track DAX behavior notes like this on daily.dev._

### Why can't I use a Power BI measure directly as a slicer or filter?

Measures are calculated on the fly at query time rather than stored, so Power BI does not allow them to be used as slicers or axis fields; only persisted data, such as columns already stored in the dataset, can serve as filters. The workaround is to create a calculated column that stores the aggregated value, which can then be used in slicers, filters, or as a chart axis.

_Analysts hitting this slicer limitation in Power BI can find workaround guides like this via daily.dev._

## Similar posts on daily.dev

- [Take a Deep Dive into Filtering in DAX](https://daily.dev/posts/take-a-deep-dive-into-filtering-in-dax-7y9hncxfk) · Towards Data Science · 0 upvotes · 0 comments
- [Explaining Lineage in DAX](https://daily.dev/posts/explaining-lineage-in-dax-fyjcsxaby) · Towards Data Science · 0 upvotes · 0 comments

---

Tags: [#data-analysis](https://daily.dev/tags/data-analysis), [#power-bi](https://daily.dev/tags/power-bi)

[View this post on daily.dev](https://daily.dev/posts/power-bi-dax-context-filter-row-context-transition-power-bi-course-28-arwdykqof)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Power BI DAX Context: Filter, Row & Context Transition | Power BI Course 28","url":"https://daily.dev/posts/power-bi-dax-context-filter-row-context-transition-power-bi-course-28-arwdykqof","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/power-bi-dax-context-filter-row-context-transition-power-bi-course-28-arwdykqof"},"datePublished":"2026-08-17T12:25:32.323Z","dateModified":"2026-09-14T09:01:50.949Z","description":"A video tutorial walks through DAX context in Power BI, explaining the four types: filter context, overwriting context (via the CALCULATE function), row...","image":"https://i.ytimg.com/vi/NnSyWXLBW2U/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/NnSyWXLBW2U/sddefault.jpg","isAccessibleForFree":true,"articleSection":"Data with Baraa","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Data with Baraa","logo":"https://media.daily.dev/image/upload/s--LsPWvHOS--/f_auto,q_auto/v1780213377/logos/datawithbaraa?_a=BAMAMiWQ0","url":"https://daily.dev/sources/datawithbaraa"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/power-bi-dax-context-filter-row-context-transition-power-bi-course-28-arwdykqof","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"data-analysis,power-bi","timeRequired":"PT32M","video":{"@type":"VideoObject","name":"Power BI DAX Context: Filter, Row & Context Transition | Power BI Course 28","description":"A video tutorial walks through DAX context in Power BI, explaining the four types: filter context, overwriting context (via the CALCULATE function), row...","thumbnailUrl":"https://i.ytimg.com/vi/NnSyWXLBW2U/sddefault.jpg","uploadDate":"2026-08-17T12:25:32.323Z","duration":"PT32M","url":"https://api.daily.dev/r/arWdykqOF","embedUrl":"https://www.youtube.com/embed/NnSyWXLBW2U"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Data with Baraa","item":"https://daily.dev/sources/datawithbaraa"},{"@type":"ListItem","position":3,"name":"Power BI DAX Context: Filter, Row & Context Transition | Power BI Course 28"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/power-bi-dax-context-filter-row-context-transition-power-bi-course-28-arwdykqof#faq","mainEntity":[{"@type":"Question","name":"How do I calculate a percentage of total in Power BI DAX when the total sales measure gets filtered by category?","acceptedAnswer":{"@type":"Answer","text":"Create a second measure using CALCULATE with ALL to ignore the category filter, for example ALL SALES = CALCULATE(SUM(Sales), ALL(Products)), then divide the original Total Sales measure by this unfiltered measure. This produces a percentage-of-total value that shows each category's contribution relative to the whole business rather than a filtered subset. daily.dev surfaces practical DAX patterns like this for analysts building percentage-of-total metrics in Power BI."}},{"@type":"Question","name":"What is context transition in DAX and when should I use it?","acceptedAnswer":{"@type":"Answer","text":"Context transition happens when a measure is placed inside a calculated column, converting the row context into an implicit filter context so the measure recalculates based on the values in that specific row rather than a fixed row number. It's used for pre-aggregation steps, such as computing per-product total sales inside a column to then derive a bestseller flag or feed another calculation. Developers wiring up derived columns and flags in Power BI can track DAX behavior notes like this on daily.dev."}},{"@type":"Question","name":"Why can't I use a Power BI measure directly as a slicer or filter?","acceptedAnswer":{"@type":"Answer","text":"Measures are calculated on the fly at query time rather than stored, so Power BI does not allow them to be used as slicers or axis fields; only persisted data, such as columns already stored in the dataset, can serve as filters. The workaround is to create a calculated column that stores the aggregated value, which can then be used in slicers, filters, or as a chart axis. Analysts hitting this slicer limitation in Power BI can find workaround guides like this via daily.dev."}}]}
```

