Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

Filtrado de roles de supervisor

Hola

Tengo un informe que quiero tener dos puntos de vista:

  1. Una vista de empleado donde el informe filtra mi tabla en función del correo electrónico de los empleados
  2. Una vista del supervisor donde el informe filtra mi tabla en función del correo electrónico del supervisor

Tengo una tabla con todos los correos electrónicos de los empleados y sus correos electrónicos de gerente, y una tabla que puede alternar entre los dos modos.

He intentado crear una nueva columna en mi tabla de empleados "if(selectedvalue(supervisor mode)-True, manager email, email)" sin suerte. Solo devuelve el correo electrónico del empleado.

Se aprecia cualquier ayuda, me ha estado golpeando la cabeza contra una pared tratando de averiguarlo.

Quinteen_0-1603751020150.png

Quinteen_1-1603751084928.png

1 ACCEPTED SOLUTION
v-alq-msft
Community Support
Community Support

Hola, @Quinteen

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Mesa:

c1.png

Modo:

c2.png

Puede crear una medida como se muestra a continuación.

Visual Control = 
var emp = SELECTEDVALUE('Table'[Employee],"")
var sup = SELECTEDVALUE('Table'[Supervisor],"")
return
IF(
    ISFILTERED(Mode[Mode]),
    IF(
        "employee mode" in DISTINCT(Mode[Mode])&&NOT("supervisor mode" in DISTINCT(Mode[Mode])),
        IF(
            emp=USERPRINCIPALNAME(),1,0
        ),
        IF(
            "supervisor mode" in DISTINCT(Mode[Mode])&&NOT("employee mode" in DISTINCT(Mode[Mode])),
            IF(
                sup=USERPRINCIPALNAME(),
                1,0
            ),
            IF(
                "employee mode" in DISTINCT(Mode[Mode])&&"supervisor mode" in DISTINCT(Mode[Mode]),
                IF(
                    OR(
                        emp=USERPRINCIPALNAME(),
                        sup=USERPRINCIPALNAME()
                    ),
                    1,0
                )
            )
        )
    )
)

A continuación, debe colocar la medida en el filtro de nivel visual y utilizar la columna 'Modo' de la tabla 'Modo' para filtrar el resultado.

c3.png

Por último, puede verlo como 'b@123.com'. Aquí están los resultados.

c4.png

c5.png

Saludos

Allan

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

6 REPLIES 6
v-alq-msft
Community Support
Community Support

Hola, @Quinteen

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Mesa:

c1.png

Modo:

c2.png

Puede crear una medida como se muestra a continuación.

Visual Control = 
var emp = SELECTEDVALUE('Table'[Employee],"")
var sup = SELECTEDVALUE('Table'[Supervisor],"")
return
IF(
    ISFILTERED(Mode[Mode]),
    IF(
        "employee mode" in DISTINCT(Mode[Mode])&&NOT("supervisor mode" in DISTINCT(Mode[Mode])),
        IF(
            emp=USERPRINCIPALNAME(),1,0
        ),
        IF(
            "supervisor mode" in DISTINCT(Mode[Mode])&&NOT("employee mode" in DISTINCT(Mode[Mode])),
            IF(
                sup=USERPRINCIPALNAME(),
                1,0
            ),
            IF(
                "employee mode" in DISTINCT(Mode[Mode])&&"supervisor mode" in DISTINCT(Mode[Mode]),
                IF(
                    OR(
                        emp=USERPRINCIPALNAME(),
                        sup=USERPRINCIPALNAME()
                    ),
                    1,0
                )
            )
        )
    )
)

A continuación, debe colocar la medida en el filtro de nivel visual y utilizar la columna 'Modo' de la tabla 'Modo' para filtrar el resultado.

c3.png

Por último, puede verlo como 'b@123.com'. Aquí están los resultados.

c4.png

c5.png

Saludos

Allan

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Anonymous
Not applicable

¡Hola Allan! @v-alq-msft

Gracias por la ayuda, adapté su código a mi PBIX. ¿Hay de todos modos para adaptar la solución para que el modo filtre directamente la tabla de empleados en lugar de un solo filtro visual?

Descuidé mencionar que mi tabla Employee está relacionada con varias otras tablas que filtra.

Hola, @Quinteen

No creo que pueda adaptar la solución para que el modelo filtre directamente la tabla de empleados. Puede intentar usar el parámetro de consulta para filtrar el modelo en Power Query. Sin embargo, no puede obtener el correo electrónico de usuario actual para filtrar el usuario específico.

Acerca de los parámetros de consulta en Power BI, puede hacer referencia a los vínculos siguientes.

Profundizar en parámetros de consulta y plantillas de Power BI

Parámetros de consulta de Power BI Desktop

Saludos

Allan

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

mahimabedi
Responsive Resident
Responsive Resident

Usted podría utilizar lo siguiente

Crear 3 tablas:

tabla 1: "Lista de usuarios" (identificador de correo electrónico único)

tabla 2 : "vista del empleado"

Tabla 3 : "vista del supervisor"

Las Tablas 2 y 3 son coículos entre sí.

A continuación, puede crear relaciones

1. Lista de usuarios con correo electrónico de los empleados en la tabla 2

2. Lista de usuarios con correo electrónico supervisado en la tabla 3

A continuación, aplique el RLS en el usuario de la tabla 1.

De esta manera puede crear 2 vistas. Las vistas que utilizan columnas de la tabla 2 serán la "vista de empleado" y las vistas que utilizan columnas de la tabla 3 serán la "vista de supervisor"

PD: Marque este post como una "solución" si esto ayuda a resolver el problema y / o pulse el botón "thumbs-up" si encontró esto a lo alto. Gracias.

Anonymous
Not applicable

Hey @Helper !

Si entiendo su solución correclty tendría que aplicar el proceso de duplicación a todas las tablas con las que mi tabla de empleados está relacionada. ¿Yah? (Descuidé mencionar estas relaciones en la descripción original)

Apreciamos los comentarios !

NamishB
Post Prodigy
Post Prodigy

Hola @Quinteen - los datos parecen incompletos. ¿Qué entendí es que tienes 2 tablas diferentes? Empleado y Supervisor, ¿cómo se relacionan/enlazan entre sí?

¿Puede dar algunos datos de muestra y su relación por favor? como el de abajo

Capture11.PNGCapture122.PNG

Gracias

-Namish B

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.