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 a todos,
Estoy intentando crear una medida que contará el número de valores únicos en una columna específica de una tabla después de que se haya filtrado en función de los valores de otra tabla. Ambas tablas están vinculadas. La dificultad es que quiero que esa medida no se vea afectada por las rebanadoras que pueda tener.
Traté de adjuntar un .pbix que contiene un modelo de datos que se parece al que tengo, pero no parece funcionar.
Básicamente, tengo mi tabla F Group que tiene la colum Variable1 (que toma los valores "Sí" o "No"). Esta tabla está vinculada a la tabla Ing Group (a través de varias otras tablas) que tiene el colum Ing-ID. Quiero crear una medida que cuente el número de valores únicos en la columna Ing-ID cuando Variable1 de la tabla Grupo F es "Sí", y quiero que esa medida no se vea afectada por las segmentaciones de datos.
Hasta ahora, se me ocurrió
Nb_IngID = COUNTX(SUMMARIZE(ALL('Ing Group'), 'Ing Group'[Ing-ID]), 'Ing Group'[Ing-ID])
que no se ve afectado por las segmentaciones de datos, pero cuenta todos los valores de Ing-ID,incluso aquellos para los que Variable1 es "No". No puedo encontrar una manera de introducir una función FILTER dentro de esa medida.
Además, sé que probablemente sería más fácil crear otra tabla, pero desafortunadamente no es una opción ya que no puedo crear/cambiar el modelo.
¡Gracias si puedes ayudarme!
Solved! Go to Solution.
No @Twelve
No se puede adjuntar el archivo, tienes que compartir la URL al archivo alojado en otro lugar: Dropbox, Onedrive... o simplemente cargue el archivo en un sitio como tinyupload.com (no se requiere registro).
Suponiendo que hay relaciones para propagar los filtros en F hasta ING:
Nb_IngID =
CALCULATE ( DISTINCTCOUNT ( 'Ing Group'[Ing-ID] ), 'F Group'[Variable] = "No" , ALL( ))
Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.
Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
El ALL( ) es porque usted declaró que no quería ninguna interferencia de ninguna cortadora, que es un poco de un requisito impar / inusual. Si exige un argumento en DQ, puede usar ALL( ) con las tablas/columnas que espera que tengan segmentaciones de datos activadas. O tal vez:
Nb_IngID =
CALCULATE (
DISTINCTCOUNT ( 'Ing Group'[Ing-ID] ),
'F Group'[Variable] = "No",
ALL ( 'Ing Group' ),
ALL ( 'F Group' )
)
Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.
Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
El ALL( ) es porque usted declaró que no quería ninguna interferencia de ninguna cortadora, que es un poco de un requisito impar / inusual. Si exige un argumento en DQ, puede usar ALL( ) con las tablas/columnas que espera que tengan segmentaciones de datos activadas. O tal vez:
Nb_IngID =
CALCULATE (
DISTINCTCOUNT ( 'Ing Group'[Ing-ID] ),
'F Group'[Variable] = "No",
ALL ( 'Ing Group' ),
ALL ( 'F Group' )
)
Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.
Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
@AlB,
Hice exactamente lo que sugeriste: ¡Utilicé ALL() con las mesas que tenían rebanadoras y funcionó exactamente como necesitaba!
Estoy aceptando su respuesta como solución, ya que me da exactamente lo que quería y es claro y elegante. Muchas gracias por su ayuda, realmente lo agradezco.
¡Ten un buen día!
@Twelve , Puede agregar filtro como un ejemplo
Nb_IngID - COUNTX(SUMMARIZE(Filter(ALL('Ing Group'), 'Ing Group'[Ing-ID] á "X" ), 'Ing Group'[Ing-ID]), 'Ing Group'[Ing-ID])
Puede utilizar treatas para filtrar valores de otra tabla
https://docs.microsoft.com/en-us/dax/treatas-function
No @Twelve
No se puede adjuntar el archivo, tienes que compartir la URL al archivo alojado en otro lugar: Dropbox, Onedrive... o simplemente cargue el archivo en un sitio como tinyupload.com (no se requiere registro).
Suponiendo que hay relaciones para propagar los filtros en F hasta ING:
Nb_IngID =
CALCULATE ( DISTINCTCOUNT ( 'Ing Group'[Ing-ID] ), 'F Group'[Variable] = "No" , ALL( ))
Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.
Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
Gracias por tomarse el tiempo para ayudar!
Cuando probé su fórmula, funcionó como se pretendía en el modelo de datos falsos que creé, pero no en el real. Para el real, dijo que la función ALL() requiere al menos un parámetro. No estoy seguro de por qué funcionó en uno, pero no en el otro. La única diferencia es que en la real utilizo una conexión DirectQuery.
¿Hay alguna manera de ajustar la fórmula para que funcione con una conexión de DirectQuery?
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 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |