Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

Split a string of values into Columns

Hi All,

I am using Embeded power BI, in the Username() i am getting list of values "A,B,C,D". When i am reading this it is considering as a string not as a list of values. Anyone come accross this situation, where i need to put this into a table as list of values and use that column in the RLS then my data gets filtered. Really facing very challenging. OR Is there any alternative ways to read the access token can retrieve the list of values and store those values? really very tricky. Your suggestion and guidence much appreciated.

 

  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi Tamerj,

    i have created a measure same as mentioned.  I assume that it returns the table but somehow i am not able to see any thing. Do i need to create any table prior to this?

    RLS_Key =
    VAR String = "P1,P2,P3" -- place your sting here
    VAR Items =SUBSTITUTE ( String, ",", "|" )
    VAR Length =COALESCE ( PATHLENGTH ( Items ), 1 )
    VAR T1 =GENERATESERIES ( 1, Length, 1 )
    RETURN
    SELECTCOLUMNS (T1,"Project",PATHITEM(Items,[Value]))
     
    Could you please clarify.

     

9 Replies

    • Anonymous's avatar
      Anonymous
      Not applicable

      HI Amit, Thanks for your response. Is there a way i can insert a measure value in a new table. After that i can do the transformation the way you shared the details.

  • tamerj1's avatar
    tamerj1
    Icon for Community Champion rankCommunity Champion

    Hi Anonymous 

    please provide one clear example of what are you trying to achieve. 

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi Tamerj1, Thanks for responding. I am using Embeding Power BI. In that we are using RLS. In general secenarios, RLS works based on Username(), Userprincipalname() where it will return either user name or user email id. With embeded power BI RLS scenario, we can get any value in the username() as part of the requirement on which value we should filter the data. As part of RLS, i am getting a string with list of values where user can see the report only with list of values corresponding data. Here string contains "Program1,Program2,Program3.." like so on. I should able to read this string and filter the data for those program related data. As i get the list of values in the form of string i need to store this as a list or column and then only can filter. 

      • tamerj1's avatar
        tamerj1
        Icon for Community Champion rankCommunity Champion

        Anonymous 

        I don't fully understand but you may create a table using the following DAX

        List =
        VAR String = "P1,P2,P3" -- place your sting here
        VAR Items =
        SUBSTITUTE ( String, ",", "|" )
        VAR Length =
        COALESCE ( PATHLENGTH ( Items ), 1 )
        VAR T1 =
        GENERATESERIES ( 1, Length, 1 )
        RETURN
        SELECTCOLUMNS ( T1, "Project", PATHITEM ( Items, [Value] ) )