Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Hola, soy un principiante en PowerBI y me pidieron que intentara crear un par de informes. No estoy muy seguro de cuál sería la terminología correcta para lo que estoy tratando de hacer, así que no tuve mucha suerte al buscar en Google algo similar.
Por lo tanto, el escenario es:
Existe una aplicación en la que todas las "solicitudes de acceso" pasan y se almacenan en una base de datos.
Hay 3 tipos de solicitudes (Conceder acceso/modificar acceso/revocar acceso).
La base de datos se ve así (tiene muchas otras cosas, pero son irrelevantes)
ID de usuario | ID del sistema | RequestType (Tipo de solicitud) | RequestCompletionDate |
John | Sistema 1 | Conceder acceso | 01/01/2022 |
John | Sistema 1 | Revocar el acceso | 01/01/2023 |
John | Sistema 1 | Conceder acceso | 01/01/2024 |
Basándonos en esta información, podemos deducir que John tuvo acceso al Sistema 1 entre el 01/01/2022 y el 31/12/2022, luego no tuvo acceso desde el 01/01/2023 hasta el 31/12/2023 desde que se revocó su acceso el 01/01/2023, y ahora actualmente tiene acceso ya que la última solicitud le otorgó acceso el 01/01/2024.
Así que los requisitos son para crear 3 páginas:
1) Una página en la que puede seleccionar un sistema de una segmentación de datos y ver todos los usuarios que actualmente tienen acceso a ese sistema (mi enfoque sería de alguna manera encontrar a todos los usuarios que recibieron una solicitud para ese sistema y donde el último RequestType no es "Revocar").
2) Más o menos lo mismo que el #1 pero para una fecha específica en lugar de hoy, por ejemplo, vea quién tuvo acceso en el "Sistema 1" el 05/05/2023.
3) De nuevo, lo mismo pero por un período de tiempo, como en quién tuvo acceso al "Sistema 1" en cualquier momento de 2023.
Lo que terminé haciendo fue crear una tabla, usar el asistente Agrupar como se muestra a continuación y mantener solo las filas donde el tipo no es "Revocar", lo que cubre el requisito # 1 pero no tengo idea de cómo abordar los otros 2.
Hola @MuFeR
Para el segundo requisito, puede crear la siguiente medida para determinar si se accedió al sistema en la fecha específica.
Today = IF(SELECTEDVALUE('Table'[RequestCompletionDate])=TODAY()&&SELECTEDVALUE('Table'[RequestType])="Grant access",1,0)
A continuación, puede filtrar el valor de measure en el filtro.
Resultado:
Para el tercer requisito, puede utilizar la siguiente medida para determinar quién tiene acceso al sistema durante todo un año.
Time period = IF(COUNTROWS('Table')=1 && SELECTEDVALUE('Table'[RequestType])="Grant access",1,0)
A continuación, puede filtrar los valores correspondientes en el filtro y trabajar con la segmentación para lograr los resultados que desea.
Saludos
Jayleny
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
¿Cuántos usuarios? ¿Cuántas entradas hay en la tabla de referencia de acceso?
Es posible que no necesite torturar Power Query para eso (excepto tal vez para indicar los puntos Desde/Hasta).
Alrededor de 400 usuarios y 10000 registros de acceso.
¿Se pueden refactorizar los registros de acceso en pares Conceder - Revocar (siendo la última revocación nula para el acceso activo)?
Le daré una oportunidad.
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
User | Count |
---|---|
3 | |
1 | |
1 | |
1 | |
1 |