Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

DAX Expression for Row Level Security

Help – I have the following tables.

FUFPermission is a list of users and the area they can have access to.

FUFPermission

Username

Area

[email protected]

Back

[email protected]

Front

[email protected]

Side

[email protected]

Side

[email protected]

All

 

AFU is a table containing the Area

AFU

  

Area

anotherifeld

anotherfield1

Back

1

4

Front

2

5

Side

3

6

 

I need to create a DAX formula for the AFU table to filter the Area based on user on the FUFPermission table.  If the FUFPermission.Area = All then the user will have full access to all records  in AFU.

I have created the following DAX formula which filters the Area based on the FUFPermission table but I’m not sure how to include the part which shows all records if the Area value = All in FUFPermission.

IF

(

[Area] IN SELECTCOLUMNS (

FILTER (

'FUFPermission',

''FUFPermission' [Username]=USERPRINCIPALNAME()

),

Area,[Area]

),

TRUE()

)

  • Hi Anonymous ,

     

    Please try:

    VAR _a =
        SELECTCOLUMNS (
            FILTER ( 'FUFpermission', [Username] = USERNAME () ),
            "Area", [Area]
        )
    RETURN
        IF ( "All" IN _a, TRUE, [Area] IN _a )

    Final output:

    Best Regards,

    Jianbo Li

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

     

     

3 Replies

  • Hi Anonymous ,

     

    Please try:

    VAR _a =
        SELECTCOLUMNS (
            FILTER ( 'FUFpermission', [Username] = USERNAME () ),
            "Area", [Area]
        )
    RETURN
        IF ( "All" IN _a, TRUE, [Area] IN _a )

    Final output:

    Best Regards,

    Jianbo Li

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

     

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      Thanks for the response - not sure if this woud work as there is no physical relationship between the tables FUFPermission and AFU.

  • Hi Anonymous ,

     

    Could you tell me if your problem has been solved? If it is, kindly Accept it as the solution. More people will benefit from it. Or if you are still confused about it, please provide me with more details about your table and your problem or share me with your pbix file after removing sensitive data.

     

    Refer to:

    How to provide sample data in the Power BI Forum

    How to Get Your Question Answered Quickly

     

    Best Regards,

    Jianbo Li

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.