Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Hey Power BI Team,
I'm looking for a bit of help regarding a month to go (MTG (no not magic the gathering)) calculation. The calculation needs to accomplish the following three things:
(I've figured out 2/3 items above)
Sample Data:
DATE(DimDate) Total Schedule(Fact Schedule)
2019-05-01 100
...
2019-05-30 100
2019-05-31 100
For May 2019, the [MTG Schedule] needs to = 200. However, for dates in June and beyond, it should return the [Total Schedule].
Current Code:
MTG Production = var maxDate = EOMONTH(TODAY(), 0) RETURN CALCULATE( [Total Schedule], FILTER( 'Date', 'Date'[Date] >= TODAY() && 'Date'[Date] <= maxDate ) )
For whatever reason, I can't figure out how to wrap the above calculation in an IF statement that would just return [Total Schedule] when the MONTH([Date[Date]) > MONTH(TODAY()).
Thanks for your help.
Solved! Go to Solution.
Ok, try this slight change then. Remember to always show an example based on your data to explain what you need. It is very helpful for those trying to provide an answer
TG Production = VAR maxDate = IF ( MONTH ( TODAY () ) = MONTH ( MAX('Date'[Date] )), EOMONTH ( TODAY (), 0 ), MAX ( 'Date'[Date] ) ) RETURN CALCULATE ( [Total Schedule], FILTER ( 'Date', 'Date'[Date] >= TODAY () && 'Date'[Date] <= maxDate ) )
Hi,
To your visual, drag Date from the Date Table. Try this measure
=IF(MAX('Date'[Date])<=TODAY(),CALCULATE([Total Schedule],DATESBETWEEN('Date'[Date],TODAY(),EOMONTH(TODAY(),0))),[Total Schedule])
Hope this helps.
Hi @Connerf
I'm not sure I understand completely what you're after. Is it a measure that you want, to be used with dates in the rows of a matrix visual? Do you want [Total schedule] evaluated betweeen today and the end of the current month or up to the date on the current row for future months? If so:
TG Production = VAR maxDate = IF ( MONTH ( TODAY () ) = MONTH ( SELECTEDVALUE('Date'[Date] )), EOMONTH ( TODAY (), 0 ), SELECTEDVALUE ( 'Date'[Date] ) ) RETURN CALCULATE ( [Total Schedule], FILTER ( 'Date', 'Date'[Date] >= TODAY () && 'Date'[Date] <= maxDate ) )
Ok, try this slight change then. Remember to always show an example based on your data to explain what you need. It is very helpful for those trying to provide an answer
TG Production = VAR maxDate = IF ( MONTH ( TODAY () ) = MONTH ( MAX('Date'[Date] )), EOMONTH ( TODAY (), 0 ), MAX ( 'Date'[Date] ) ) RETURN CALCULATE ( [Total Schedule], FILTER ( 'Date', 'Date'[Date] >= TODAY () && 'Date'[Date] <= maxDate ) )
@AlB,
Thanks for your work on this.
I do want the measure to be used in a matrix and column chart. For the current month, it should just show [Total Schedule] from TODAY() until EOM. For months in the future, it should just show [Total Schedule].
The code you provided works when I've drilled down to the lowest level ('Date'[Date]), however, how do I get the code to work when I roll up to a week or month?
Thanks,
C
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
94 | |
82 | |
82 | |
70 | |
49 |
User | Count |
---|---|
143 | |
123 | |
107 | |
61 | |
55 |