Forum Discussion

H_insight's avatar
H_insight
Helper V
5 years ago
Solved

RLS by Working Days

Hi all,   I have a model that consists of a sales and date table. I am trying to implement an RLS with the below criteria based on the following scenario: “We are in March, and today is WD5, and I...
  • jdbuchanan71's avatar
    5 years ago

    Hello H_insight 

    You will need to create 2 roles, one for managers with no filters applied and one for normal users with a filter applied to the date table. 

    The filter on the date table for the user role will be this.

    VAR _Today = TODAY()
    VAR _WD = LOOKUPVALUE ( 'Date'[WD Number], 'Date'[Date], _Today )
    VAR _EOLM = DATE ( YEAR ( _Today ), MONTH ( _Today ), 1 ) -1
    VAR _EOM = EOMONTH( _Today, 0 )
    RETURN 
    IF ( _WD < 5, 
    'Date'[Date] <= _EOLM,
    'Date'[Date] <= _EOM
    )

    Once you create the role you can go to modeling > view as and select the role to see the filter applied.  You can see that the table stops at march because the work day of TODAY() is >= 5 so it is showing the current month.

    I have attached my updated copy of your file to look at.