Forum Discussion
Dynamically get top 12 time periods when switching between date field parameters
Hi
Yes, you can create a measure that checks which data format is in scope and then filter the 12 most recent dates.
Something like this:
Volume Last 12 Periods =
RETURN
SWITCH (
TRUE (),
ISINSCOPE ( Date[Year] ),
CALCULATE(
[Volume],
DATESINPERIOD(
'Date'[Date],
MAX('Date'[Date]),
-12,
YEAR
)
)
),
ISINSCOPE ( Date[Quarter] ) && ISINSCOPE ( Date[Year] ),
CALCULATE(
[Volume],
DATESINPERIOD(
'Date'[Date],
MAX('Date'[Date]),
-12,
QUARTER
)
),
ISINSCOPE ( Date[Month] ) && ISINSCOPE ( Date[Year] ),
CALCULATE(
[Volume],
DATESINPERIOD(
'Date'[Date],
MAX('Date'[Date]),
-12,
MONTH
)
)
)
Kind regards,
José
Please mark this answer as the solution if it resolves your issue.
Appreciate your kudos! 🙂
This did not work, it did not get rid of dates prior to the most recent 12 time periods and sum of the volume was inaccurate.
- Anonymous4 years agoNot applicable
Would you mind sharing a pbix file with some sample data?
- rcorn4 years agoFrequent Visitor
I am not certain about how to share, there is no choose file option on the reply.
- rcorn4 years agoFrequent Visitor
I want bottom right graph to look like other three when you switch between dates. (top 12 for each)
All I have for my fact table columns is uniuqe ID, volume amount, volume date.
I show DAX for data table, volume, and field parameters below.
My date table :
Date Table is the following:
Date =VAR Days = CALENDAR(min(test[PIF Date]),max(test[PIF Date]))RETURN ADDCOLUMNS (Days,"Year", YEAR ( [Date] ),"Month", FORMAT ( [Date], "mmmm" ),"Month Number", MONTH([Date]),"Start of the Month", DATE( YEAR([Date]), MONTH([Date]),1),"End of the Month", EOMONTH([Date],0),"Quarter and Year", "Q"&FORMAT([Date],"Q YYYY"),"Month and Year", FORMAT([Date],"MMM YYYY"))My volume calculation is :Volume = CALCULATE(SUM(test[Volume]), USERELATIONSHIP(test[Date],'Date'[Date]))Field parameter:Parameter = {("Year", NAMEOF('Date'[Year]), 0),("Quarter and Year", NAMEOF('Date'[Quarter and Year]), 1),("Month and Year", NAMEOF('Date'[Month and Year]), 2)}