Forum Discussion

DiKi-I's avatar
DiKi-I
Post Partisan
1 year ago
Solved

RLS using aduser name

Hi , I'm bringing data in power bi using direct query, my table has aduser name. Can I use aduser for rls? I checked username() function and it is resolving to userprincipal name in power bi se...
  • Akash_Varuna's avatar
    Akash_Varuna
    1 year ago

    If it is not working in the service, create a mapping table that links AD usernames to UPNs. Use USERNAME() in the service to retrieve the UPN, and apply a DAX lookup (LOOKUPVALUE) to map it to the corresponding AD username for RLS filtering.

  • v-kathullac's avatar
    v-kathullac
    1 year ago

    Hi DiKi-I ,

    we can also do thses steps Update your data source to store the full UPNs (e.g., [email protected]) in the ADUser field so that it directly matches what Power BI returns using USERNAME().

    If that’s not possible, use a DAX expression in your RLS rule to extract just the username from USERNAME(), ensuring compatibility across both Desktop and Service.

    You can use the following DAX to extract the short username from USERNAME()

    Table[ADUser] =
    VAR _user = USERNAME()
    RETURN
    IF(
    FIND("@", _user, 1, 0) > 0,
    LEFT(_user, FIND("@", _user) - 1),
    _user
    )

     

    Regards

    Chaithanya.