Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hi there,
I have a dax measure that finds the last date within the exisiting year of a data set and then it extracts the month:
ThisMonthBasedOnInvoices =
VAR _thisyear = YEAR(TODAY())
VAR _lastinvoicedate = LASTDATE(Consolidated_Sales_ActualTable[Sales_Invoice_date])
VAR _calculation = MONTH(CALCULATE(_lastinvoicedate,FILTER('Financial Calendar','Financial Calendar'[Year]=_thisyear)))
RETURN
_calculation
If I put this measure in a card, I get 5 (which is what I expected).
When I take this measure and use it in a filter of another measure like so:
IncrementalSales24 =
CALCULATE(([SalesSum24]-[SalesSum23]),
FILTER('Financial Calendar','Financial Calendar'[Month Number]<=[ThisMonthBasedOnInvoices]
))
I get the following chart which is not what I want.
If instead I use a scalar value of 5 like so, I get the chart I do want:
IncrementalSales24 =
CALCULATE(([SalesSum24]-[SalesSum23]),
FILTER('Financial Calendar','Financial Calendar'[Month Number]<=5
))
I would have expected both charts to be the same. Why is there a difference if the first measure equates to 5?
Essentially I am trying to hide months in my chart that do not yet have data.
Thank you
The issue is that Lastdate is dynamic and because of it it is not giving correct output try the below
ThisMonthBasedOnInvoices =
VAR _thisyear = YEAR(TODAY())
VAR _lastinvoicedate = Calculate(LASTDATE(Consolidated_Sales_ActualTable[Sales_Invoice_date]),all(Consolidated_Sales_ActualTable))
VAR _calculation = MONTH(_lastinvoicedate)
RETURN
_calculation
Best Regards
Devender Kumar
If this helps, then please consider Accept it as the solution to help the other members find it more quickly.
Any other suggestions?
Hi,
In my opinion, it is because of context transition when using [measure] inside CALCULATE DAX function.
Row context -> Filter context
CALCULATE function (DAX) - DAX | Microsoft Learn
Please try something like below whether it suits your requirement.
IncrementalSales24 =
VAR _condition = [ThisMonthBasedOnInvoices]
VAR _result =
CALCULATE (
( [SalesSum24] - [SalesSum23] ),
FILTER (
'Financial Calendar',
'Financial Calendar'[Month Number] <= _condition
)
)
RETURN
_result
Thanks for the reply but unfortunately that doesn't work either.
The chart looks like this:
The _condition returns 5 as well.
User | Count |
---|---|
22 | |
11 | |
8 | |
6 | |
6 |
User | Count |
---|---|
25 | |
12 | |
11 | |
8 | |
6 |