Forum Discussion

curtismob's avatar
curtismob
Helper IV
8 years ago
Solved

Slicer Selected Value Not Working in Calculated Column Logic

Hello,

I am having what I think is a context issue.  I am basically trying to use the year from a datetime dimension table in a slicer and use the selected year to filter data in another table.  I created the following measure to capture the year selected:

 

Year Selected =

IF (

ISFILTERED ( '_Date Time Slicer'[Year] ),

IF( HASONEVALUE (  '_Date Time Slicer'[Year] ), LASTNONBLANK( '_Date Time Slicer'[Year], 0), YEAR(NOW())),

YEAR(NOW())

)

 

I have used cards to verify the above logic is working when selecting different years.  Since it wasn’t working initially, I created a measure in the ‘Directs’ table referencing the measure defined above as follows:

 

_Year Selected = '_Date Time Slicer'[Year Selected]

 

I know measures aren’t necessarily specific to a table, but I thought I would try it anyway.

 

Finally, the goal is to use the year selected from the slicer to drive the date range logic below, which is a calculated column.

 

Jan DCC Budget =

IF(Directs[Effective].[Date] <= DATE(Directs[_Year Selected], 1, 5) &&

   Directs[Expiration].[Date] >= DATE(Directs[_Year Selected], 1, 5), Directs[Cost], 0)

 

I am currently only using previous and current years 2017 and 2018.  For the above example, the Directs[Cost] sum does not change, it is always the amount for 2018, even when selecting 2017.

 

Any help/suggestions would be greatly appreciated.

 

Thank you,

curtismob

  • This following appears to be working:

     

    Jan DCC Budget as Measure =
    CALCULATE(SUM(Directs[Cost]),
        FILTER(Directs, Directs[Effective] <= DATE(Directs[_Year Selected], 1, 5) && Directs[Expiration] >= DATE(Directs[_Year Selected], 1, 5)))

6 Replies

  • The following should be measure, you should use aggregation with cost

     

    Jan DCC Budget as Measure =
    IF(Directs[Effective].[Date] <= DATE(Directs[_Year Selected], 1, 5) &&
       Directs[Expiration].[Date] >= DATE(Directs[_Year Selected], 1, 5), SUM(Directs[Cost]), 0)
    • curtismob's avatar
      curtismob
      Helper IV

      parry2k, thank you for the quick response, but unfortunately your suggestion doesn't work. 

       

      Directs[Effective].[Date] and Directs[Expiration].[Date] are Directs columns, not measures, so they are not valid for use in a measure.  These are both red underlined.

       

      I will try and see if using CALCULATE will work.

      • parry2k's avatar
        parry2k
        Super User

        Sorry I missed that, yes please sure calculate