Forum Discussion

SirBI's avatar
SirBI
Frequent Visitor
3 years ago
Solved

Count Measure when decreasing date filter.

I need to count current "Active Members". 

Meaning, when I slide my date filter to the right, the count should not change, they are still active members. 

But I would like to have the count change when I slide my filter to the left, counting how many active members I had during that time period. 

 Is there a measure I can write?

 

I  also need to indentify Public counts, I created a PK date and Public column concatendate to link to my calendar table. 

 

 

My below table:

 

display_namePublicfirst_grant_dtlast_grant_dtaccess_revoked_datepk
RedN11/16/202211/29/2022NULL2022-11-16T00:00:00.0000000ZN
BlueN7/26/20229/21/2022NULL2022-07-26T00:00:00.0000000ZN
GreenN10/12/20219/13/2022NULL2021-10-12T00:00:00.0000000ZN
YellowY7/1/202112/31/9999NULL2021-07-01T00:00:00.0000000ZY
PinkY7/1/202112/31/9999NULL2021-07-01T00:00:00.0000000ZY

 

  • You'll want the date used for the slicer to be disconnected from the date fields in your table (either using an unrelated date dimension or by explicitly ignoring the slicer values in your main calculation context.

    You can store the values from the slicer as variables e.g. something like:

    Var MinDate = Min('Unrelated Date Table'[Date])
    
    Var MaxDate = Max('Unrelated Date Table'[Date])
    
    RETURN
    
    Calculate(Count('table'[display_name]),
    
         ALLEXCEPT('table','table'[display_name]),
    
         'table'[first_grant_d]<=MaxDate && 'table'[last_grant_d]>=MinDate)

1 Reply

  • halfglassdarkly's avatar
    halfglassdarkly
    Responsive Resident

    You'll want the date used for the slicer to be disconnected from the date fields in your table (either using an unrelated date dimension or by explicitly ignoring the slicer values in your main calculation context.

    You can store the values from the slicer as variables e.g. something like:

    Var MinDate = Min('Unrelated Date Table'[Date])
    
    Var MaxDate = Max('Unrelated Date Table'[Date])
    
    RETURN
    
    Calculate(Count('table'[display_name]),
    
         ALLEXCEPT('table','table'[display_name]),
    
         'table'[first_grant_d]<=MaxDate && 'table'[last_grant_d]>=MinDate)