Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
3 years ago

Cómo usar selectedvalue en RLS

Hola expertos,
Tengo un caso en el que necesito excluir un material de la categoría Producto cuando un usuario de tipo X inicia sesión, pero no excluir cuando otros usuarios inician sesión,

X es una columna en la tabla RLS que tiene valores como x1, x2, x3 ect e Y columna y de manera similar Z,

X, Y, Z son tipos de usuarios, por lo que necesito que cuando cualquier usuario de X inicie sesión de tipo no debería ver un material, diga "Pen", pero cuando inicie sesión Y o Z, debería ser visible

ahora hay un requisito adicional de que cuando un administrador inicie sesión, pueda ver lo que es visible para X, Z e Y seleccionando valores de las rebanadoras de X, Y, Z, por lo que cuando h seleccione X, el material de "pluma" debe excluirse


El modelado es como

1. Tabla RLS con correo electrónico, columnas X, Y, Z

2. La tabla puente entre RLS y la tabla de clientes y la tabla RLS y puente está conectada en muchos a muchos valores de muchos valores

y el puente y la tabla del cliente están conectados en muchos (puente) a uno (cliente) en ambas direcciones

3. Tabla de hechos conectada al cliente y tabla de materiales muchos (tabla de hechos) a uno

En Breif hay dos requisitos

1. Excluir "pluma" cuando cualquier usuario de X escribe inicios de sesión de columna, eso es lo que he logrado de alguna manera

2. para dar funcionalidad adicional cuando un administrador inicia sesión, debería poder ver qué es visible para X y qué visible para Y, Z

He intentado utilizar el valor seleccionado, pero no obtengo el resultado necesario

¿Puede alguien proporcionar alguna sugerencia / solución?

Gracias

2 Replies

  • Hola

    Puede lograr esto manteniendo una tabla que tenga los identificadores de correo electrónico en una columna y el tipo de usuario en otra columna. Por ejemplo, Admin (tipo de usuario) debe poder ver todos los valores, para eso se debe usar el siguiente DAX:

    Restringir usuario =
    DÓNDE UserCategory =
    CALCULATETABLE (
    VALORES ( 'USER_ACCESS'[USER_TYPE] ),
    'USER_ACCESS'[EMAIL_ADDRESS]= USERPRINCIPALNAME() )
    DEVOLUCIÓN
    si(UserCategory="Administrador",Materiales[Material_Name],"Restringido")
    Del mismo modo, podemos restringir al Usuario en función de lo que quiera ver.
  • Gracias por la respuesta, puedo restringir cuando los usuarios de tipo X inician sesión y si admin o Y, Z tipo usuario inicio de sesión pueden ver el material, pero lo que necesito que cuando un administrador inicie sesión, entonces puede ver lo que es visible para X tipo y qué visible para Y o Z

    Digamos que tenemos tres productos Pen: 10

    Lápiz ---20

    Gobernante --- 30

    así que cuando X inicia sesión, solo ve lápiz y regla deje que diga suma de 20 + 30 = 50
    y cuando alguien más inicia sesión, ve toda la pluma, el lápiz y la regla, 10 + 20 + 30 = 60

    ahora tengo scliers de X (x1,x2,x3 ) y sclier similar para Y y Z

    Ahora un administrador que tiene acceso a todos los datos qué ver lo visible para los usuarios X y seleccionar x1 de sclier debería ver sólo lápiz y regla no pluma

    pero cuando selecciona un valor de Y o Z, entonces ve todo bolígrafo, lápiz y regla

    ¿Podemos lograr esto?