Forum Discussion
Display value based on Month, Week and Day filters selection
- 3 years ago
Anonymous , try measure like. Assumes year is selected and all date related values are coming from date table
var _max = if(isfiltered('Date'),MAX( 'Date'[Date]) , today())
var _weekend = _max+ 7-1*WEEKDAY(_max,2)
return
Switch(True(),
isfiltered(Date[month]), calculate([Measure],,DATESBETWEEN('Date'[Date],eomonth(_max,-1),eomonth(_max,-1))),
isfiltered(Date[month]), calculate([Measure],,DATESBETWEEN('Date'[Date],_weekend,_weekend)),
isfiltered(Date[day]), calculate([Measure],,DATESBETWEEN('Date'[Date],_max,_max)),
calculate([Measure],,DATESBETWEEN('Date'[Date],today(),today())))https://powerpivotpro.com/2013/03/hasonevalue-vs-isfiltered-vs-hasonefilter/
- 3 years ago
Hi Anonymous ,
According to your description, I create a sample.
Product table:
Calendar table:
Here's my solution.
Don't make relationship between the two tables, create a measure:
Check = SWITCH ( TRUE (), ISFILTERED ( 'Calendar'[Month] ) && MAX ( 'Product'[Date] ) = EOMONTH ( DATE ( 2022, SELECTEDVALUE ( 'Calendar'[Month] ), 1 ), -1 ), 1, ISFILTERED ( 'Calendar'[Week] ) && LOOKUPVALUE ( 'Calendar'[Week], 'Calendar'[Date], MAX ( 'Product'[Date] ) + 1 ) = SELECTEDVALUE ( 'Calendar'[Week] ) + 1 && LOOKUPVALUE ( 'Calendar'[Week], 'Calendar'[Date], MAX ( 'Product'[Date] ) ) = SELECTEDVALUE ( 'Calendar'[Week] ), 1, ISFILTERED ( 'Calendar'[Day] ) && DAY ( MAX ( 'Product'[Date] ) ) = SELECTEDVALUE ( 'Calendar'[Day] ), 1, NOT ( ISFILTERED ( 'Calendar' ) ) && MAX ( 'Product'[Date] ) = TODAY (), 1, 0 )Put the measure in the visual filter and select its value to 1.
Get the result:
I attach my sample below for your reference.
Best Regards,
Community Support Team _ kalyjIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi Anonymous ,
According to your description, I create a sample.
Product table:
Calendar table:
Here's my solution.
Don't make relationship between the two tables, create a measure:
Check =
SWITCH (
TRUE (),
ISFILTERED ( 'Calendar'[Month] )
&& MAX ( 'Product'[Date] )
= EOMONTH ( DATE ( 2022, SELECTEDVALUE ( 'Calendar'[Month] ), 1 ), -1 ), 1,
ISFILTERED ( 'Calendar'[Week] )
&& LOOKUPVALUE ( 'Calendar'[Week], 'Calendar'[Date], MAX ( 'Product'[Date] ) + 1 )
= SELECTEDVALUE ( 'Calendar'[Week] ) + 1
&& LOOKUPVALUE ( 'Calendar'[Week], 'Calendar'[Date], MAX ( 'Product'[Date] ) )
= SELECTEDVALUE ( 'Calendar'[Week] ), 1,
ISFILTERED ( 'Calendar'[Day] )
&& DAY ( MAX ( 'Product'[Date] ) ) = SELECTEDVALUE ( 'Calendar'[Day] ), 1,
NOT ( ISFILTERED ( 'Calendar' ) )
&& MAX ( 'Product'[Date] ) = TODAY (), 1,
0
)
Put the measure in the visual filter and select its value to 1.
Get the result:
I attach my sample below for your reference.
Best Regards,
Community Support Team _ kalyj
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.