Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends September 15. Request your voucher.

Reply
Anonymous
Not applicable

Dynamic RLS - Role based on multiple combination between two Dim table

Hi, I need to implement dynamic RLS where I have two Dimension table Platform and Channel .

The RLS is based on various combination of Channel Group / Channel and Platform.

 

Below is my Dim and fact table 

Vineetadahiya12_0-1729236103806.png

 

 RLS table:

 

UsernameChannel GroupChannelPlatformComments
user1@domain1.comA TiktokChannel Group = A and platform = Tiktok
user2@domain1.comASocial Where Channel Group = A and Channel = Social
testuser@gmail.comCSearchAll PlatformAll platform for Search
testuser@gmail.comCDisplayAll PlatformAll platform for Display
testuser@gmail.comCMarketingMeta 

Vineetadahiya12_0-1729236975041.png

 

Under Manage role, I define my  filter on Channel table as:

 

(Channel[Channel]) IN

    SELECTCOLUMNS(

        FILTER(

            'RLS',

            RLS[Username] =  USERPRINCIPALNAME()

        ),

        "Channel",

        [RLS Channel]

    )

 

And same on Platform table:

 

(Platform[Platform Name]) IN

    SELECTCOLUMNS(

        FILTER(

            'RLS',

           RLS[Username] =  USERPRINCIPALNAME()

        ),

        "Platform Name",

        [RLS Platform]

    )

 

But It doesn't work for user1 and testuser . 

Could someone please help here to define RLS for testuser where he should see all platform for some channel and selected platform for other channel.

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @Anonymous ,

 

Try to modify your formula like below:

Channel Table filter:

(Channel[Channel]) IN
    SELECTCOLUMNS(
        FILTER(
            'RLS',
            RLS[Username] = USERPRINCIPALNAME() &&
            (RLS[Platform] = "All Platform" || RLS[Platform] = Platform[Platform Name])
        ),
        "Channel",
        [RLS Channel]
    )

Platform Table filter:

(Platform[Platform Name]) IN
    SELECTCOLUMNS(
        FILTER(
            'RLS',
            RLS[Username] = USERPRINCIPALNAME() &&
            (RLS[Channel] = "All Channel" || RLS[Channel] = Channel[Channel])
        ),
        "Platform Name",
        [RLS Platform]
    )

 

Best Regards,
Adamk Kong

 

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

 

View solution in original post

2 REPLIES 2
Anonymous
Not applicable

Hi @Anonymous ,

 

Try to modify your formula like below:

Channel Table filter:

(Channel[Channel]) IN
    SELECTCOLUMNS(
        FILTER(
            'RLS',
            RLS[Username] = USERPRINCIPALNAME() &&
            (RLS[Platform] = "All Platform" || RLS[Platform] = Platform[Platform Name])
        ),
        "Channel",
        [RLS Channel]
    )

Platform Table filter:

(Platform[Platform Name]) IN
    SELECTCOLUMNS(
        FILTER(
            'RLS',
            RLS[Username] = USERPRINCIPALNAME() &&
            (RLS[Channel] = "All Channel" || RLS[Channel] = Channel[Channel])
        ),
        "Platform Name",
        [RLS Platform]
    )

 

Best Regards,
Adamk Kong

 

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

 

Anonymous
Not applicable

Could anyone help here please? I can provide additional information incase the query is not clear

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

Check out the August 2025 Power BI update to learn about new features.

August 2025 community update carousel

Fabric Community Update - August 2025

Find out what's new and trending in the Fabric community.