Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Sign up nowGet Fabric certified for FREE! Don't miss your chance! Learn more
Hi,
Just wondering if this is possible,
I have a table of UserID's, CampaignIDs
I want to be able to apply a filter in Manage Roles where if the User does not have any campaigns assigned to their UserID, they can see all campaigns and the RLS is not filtering the table, if they do have campaigns assigned, then they can only see their assigned campaigns?
I've got the evaluation down but i'm not sure it's even possible, it seems to enact the filtering regardless, so
IF (
CALCULATE (
COUNTROWS ( UserReportingGroupsTest ),
'UserReportingGroupsTest'[UserId] = USERNAME (),
'UserReportingGroupsTest'[CampaignID] = BLANK ()
) > 0,
WHAT DO I PUT HERE?,
[UserId] = USERNAME ()
)
Thanks in advance,
Solved! Go to Solution.
Figured it out, it would just be "TRUE()", however that code does not work. Instead I had to create a summary table (Table 2 in the code below) of User ID and a count of Campaigns assigned to them, and then evaluate that table in the RLS DAX.
VAR Calc =
CALCULATETABLE (
SUMMARIZE ( 'Table 2', [CampCount] ),
'Table 2'[UserId] = USERNAME ()
)
RETURN
IF ( SUMX ( Calc, [CampCount] ) > 0, [UserID] = USERNAME (), TRUE () )
Figured it out, it would just be "TRUE()", however that code does not work. Instead I had to create a summary table (Table 2 in the code below) of User ID and a count of Campaigns assigned to them, and then evaluate that table in the RLS DAX.
VAR Calc =
CALCULATETABLE (
SUMMARIZE ( 'Table 2', [CampCount] ),
'Table 2'[UserId] = USERNAME ()
)
RETURN
IF ( SUMX ( Calc, [CampCount] ) > 0, [UserID] = USERNAME (), TRUE () )
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 63 | |
| 62 | |
| 42 | |
| 19 | |
| 16 |
| User | Count |
|---|---|
| 113 | |
| 105 | |
| 36 | |
| 28 | |
| 28 |