Forum Discussion
DAX with VAR
Hello,
I don't understand why these two DAX codes don't return the same amount in Power BI. In my example, imagine a table with 4 columns:
- Date of receipt
- Amount of the receipt
- Receipt number
- Type
The type is "purchase order" when it equals 1 and "invoice" when it equals 2. I simply want to calculate the amount when the type is 1. I'm using this very simple example for the variables, but I could do it differently.
In my first case, my code is as follows:
```DAX
VAR status_bdc = 1
VAR BDC = [Amount]
VAR result = CALCULATE(BDC, CBonLivraison[TypeBon] = status_bdc)
RETURN result
```
Here, [Amount] = SUM(Amount of the receipt). In this case, "result" is not correct because it doesn't apply the filter Type = 1.
In the following code, it works:
```DAX
VAR status_bdc = 1
VAR BDC = [Amount]
VAR result = CALCULATE([Amount], CBonLivraison[TypeBon] = status_bdc)
RETURN result
```
The only difference is that in the first code, I call the variable BDC which contains the measure, whereas in the second case, I directly include the measure amount in my result variable.
If someone can explain to me because I don't understand the point of it if it doesn't work, I also tried putting Var BDC = SUM(Amount of the receipt) and it doesn't work.
Thanks in advance.
I see this regularly on the forum. When you assign a measure to a variable, it gets evaluated (and won't change after that). There isn't a notion of some kind of dynamic evaluation where the variable holds the name of the measure and evaluates it at some later point.
2 Replies
- HotChilliCommunity Champion
I see this regularly on the forum. When you assign a measure to a variable, it gets evaluated (and won't change after that). There isn't a notion of some kind of dynamic evaluation where the variable holds the name of the measure and evaluates it at some later point.
- AnonymousNot applicable
Thx for this answer, it's clear now !!!!