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.
Hola
Tengo un informe que quiero tener dos puntos de vista:
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.
Solved! Go to Solution.
Hola, @Quinteen
Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.
Mesa:
Modo:
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.
Por último, puede verlo como 'b@123.com'. Aquí están los resultados.
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.
Hola, @Quinteen
Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.
Mesa:
Modo:
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.
Por último, puede verlo como 'b@123.com'. Aquí están los resultados.
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.
¡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.
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.
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 !
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
Gracias
-Namish B
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |