Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
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.
Solved! Go to Solution.
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.
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.
Thx for this answer, it's clear now !!!!
User | Count |
---|---|
123 | |
70 | |
67 | |
58 | |
53 |
User | Count |
---|---|
183 | |
92 | |
67 | |
62 | |
52 |