Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

How to make dynamic table/column, based on Username

Hi,

 

I'm trying to create a calculated column to my table, which contains the value of another existing column, if the current user's username is contained in a third column containing the allowed users' usernames, and if it doesn't, it shows a given text.

 

So my table should look like this, if [email protected] views it:

table1

column1allowed userscalculated
xyz[email protected]xyz
yyy[email protected]access denied

 

The point is, I want to show the value of a column based on the allowed users column and the logged in user.

 

My current DAX code looks like this:

Calculated =
IF(
CONTAINSSTRING(SELECTCOLUMNS( table1,"Allowed",[Allowed users]),USERPRINCIPALNAME())
, SELECTCOLUMNS( table1,"Szöveg",[Column1]),"access denied"
)
 
This is not working because USERPRINCIPALNAME() can't be used in calculated columns.
 
Are there any workarounds to this problem?
 
Many thanks!
  • Anonymous , USERPRINCIPALNAME() can be used in measure not column

     

    So you can have like

     

    maxx(table1 , IF(
    CONTAINSSTRING(SELECTCOLUMNS( table1,"Allowed",[Allowed users]),USERPRINCIPALNAME())
    , SELECTCOLUMNS( table1,"Szöveg",[Column1]),"access denied"
    )

     

    and use in aline level visual

     

     

    also, explore RLS

     

    How to use Row Level Security (RLS): https://youtu.be/NfdIA0uS6Nk

2 Replies

  • Anonymous , USERPRINCIPALNAME() can be used in measure not column

     

    So you can have like

     

    maxx(table1 , IF(
    CONTAINSSTRING(SELECTCOLUMNS( table1,"Allowed",[Allowed users]),USERPRINCIPALNAME())
    , SELECTCOLUMNS( table1,"Szöveg",[Column1]),"access denied"
    )

     

    and use in aline level visual

     

     

    also, explore RLS

     

    How to use Row Level Security (RLS): https://youtu.be/NfdIA0uS6Nk

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

     

    Does the above reply solve the problem?

    If it works, please consider to mark it as a solution.

     

    Best Regards,

    Jay