Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Pregunta RLS con grupo

Estoy tratando de usar el RLS para un informe y quería orientación. El informe es para proporcionar los detalles de los importes de gasto para las oficinas de ventas y el grupo de gastos específ...
  • nandukrishnavs's avatar
    nandukrishnavs
    5 years ago

    @Pbi07

    var _admin=DISTINCT('Admin'[Email])

    Obtener la lista de correos electrónicos de administración y asignarlo a _admin variable

    var _x = CALCULATETABLE(Division,Division[Email]=USERPRINCIPALNAME())

    Filtrar la tabla División en función del usuario de inicio de sesión y asignarla a _x variable

    var _office = SELECTCOLUMNS(_x,"Office",[Sales Office])

    Creación de una nueva tabla denominada _office. Contendrá una sola columna "Office" que se deriva de _x tabla. es decir, la oficina del usuario de inicio de sesión.

    var _group = SELECTCOLUMNS(_x,"Group",[Group])

    Creación de una nueva tabla denominada _group. Contendrá una sola columna "Grupo" que se deriva de _x tabla. es decir, el grupo del usuario de inicio de sesión.

    var _OfficeManagerRole = AND([Sales Office] IN _office,[Spending Group]<>100)

    Especificar una condición de filtro, Rol de administrador de Office

    var _ProdManagerRole = [Sales Office] IN _office

    Especificar una condición de filtro, Rol de gerente de producto

    var _finalFilter =SWITCH(TRUE(), 
    USERPRINCIPALNAME() IN _admin, TRUE(),
    "Office Manager" IN _group, _OfficeManagerRole,
    "Prod Manager" IN _group, _ProdManagerRole)
    return _finalFilter

    Decidir el rol de usuario en función del usuario de inicio de sesión.