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.
Tengo un informe que estoy usando para resumir los hightlights de tres tablas de datos.
Quería poder segmentar los datos de las tres tablas al mismo tiempo y, ya que tienen valores comunes, los he configurado en un modelo relacional:
Las tres tablas tienen 2 columnas en común que se utilizan para formar 2 uniones. Hay un número 'Set' y un código 'Type'.
Esto funciona bien y con dos segmentaciones de datos que puedo cortar por 'Set' y 'Type' y funciona según lo esperado.
Sin embargo, no todos los 'Tipos' son aplicables a todos los 'Sets' por lo que las segmentaciones de datos muestran valores para los tipos que no existen en determinados conjuntos.
Así que el problema que estoy teniendo es cómo hacer que los valores de la segmentación de datos cambien dinámicamente en función de la selección de otra segmentación de datos.
Por ejemplo, el conjunto 1 solo tiene los tipos ABC1, DEF y ABC2, sin embargo, la segmentación muestra TODOS los tipos de los otros conjuntos también y no solo los que son pertenientes al conjunto 1.
Del mismo modo, el conjunto 3 sólo tiene los tipos AB1, AB2, AZ1, AZ2, DEF pero muestra TODOS los tipos:
Básicamente, cuando selecciono un 'Set' de la segmentación, esperaría que el 'Tipo' cambie dinámicamente para mostrar solo los tipos relacionados con ese 'Set'. Actualmente todos los tipos se muestran para todos los conjuntos.
¿Hay alguna manera de que la segmentación de datos 'Type' pueda cambiar dinámicamente para mostrar solo los tipos que son relevantes para el 'Set' seleccionado?
Cualquier puntero sería muy apreciado.
PS Tengo un pbix de muestra preparado con las relaciones formadas y una segmentación de ejemplo con datos muestreados, pero no pude ver una manera de cargarlo.
Solved! Go to Solution.
Gracias por compartir el archivo.
Como se sospecha: el uso de filtros bidireccionales para las 3 rutas de filtro no funcionará. Introduce ambiguedad.
El patrón de crossfilter puede funcionar para usted. Aquí hay una fórmula de muestra:
Table1CrossFilter = Calculate(countrows('Table 1'),crossfilter('UNION TABLE ON TYPE'[TYPE],'Table 1'[TYPE],BOTH))
Cuando esto se introduce como filtro para la segmentación - (donde value > 0 ) filtrará los resultados visibles de la segmentación de datos como desee.
El desafío con este método - es determinar cómo manejar situaciones donde Table1, Table2 o Table3 están vacíos (por ejemplo, con el conjunto 4.) El uso del método crossfilter como se muestra esencialmente 'en blanco' la segmentación de datos, ya que está propagando una tabla en blanco a la segmentación de tipos.
Para resolver este problema: deberá introducir algún DAX que establecerá condicionalmente qué tablas propagar la relación en función de si hay resultados. Así, por ejemplo, si se selecciona el conjunto 4 - solo la Tabla 2 tiene resultados, por lo que esta es la única relación que se debe propagar al filtro de tipo. Si las 3 tablas tienen resultados, los 3 filtros se pueden propagar.
Espero que esto te ayude a empezar.
Para compartir el archivo PBIX (¡muy útil!), subirlo a un servicio en la nube (Onedrive, Google Drive, Dropbox...) y compartirlo desde allí
Proud to be a Super User!
Paul on Linkedin.
Gracias por compartir el archivo.
Como se sospecha: el uso de filtros bidireccionales para las 3 rutas de filtro no funcionará. Introduce ambiguedad.
El patrón de crossfilter puede funcionar para usted. Aquí hay una fórmula de muestra:
Table1CrossFilter = Calculate(countrows('Table 1'),crossfilter('UNION TABLE ON TYPE'[TYPE],'Table 1'[TYPE],BOTH))
Cuando esto se introduce como filtro para la segmentación - (donde value > 0 ) filtrará los resultados visibles de la segmentación de datos como desee.
El desafío con este método - es determinar cómo manejar situaciones donde Table1, Table2 o Table3 están vacíos (por ejemplo, con el conjunto 4.) El uso del método crossfilter como se muestra esencialmente 'en blanco' la segmentación de datos, ya que está propagando una tabla en blanco a la segmentación de tipos.
Para resolver este problema: deberá introducir algún DAX que establecerá condicionalmente qué tablas propagar la relación en función de si hay resultados. Así, por ejemplo, si se selecciona el conjunto 4 - solo la Tabla 2 tiene resultados, por lo que esta es la única relación que se debe propagar al filtro de tipo. Si las 3 tablas tienen resultados, los 3 filtros se pueden propagar.
Espero que esto te ayude a empezar.
Muy útil, gracias!
Las segmentaciones de datos se desconectan entre sí y los filtros solo fluirán en 1 dirección en función del diseño del modelo. Puede considerar algunas opciones:
1. Intente usar relaciones bidireccionales para insertar los cambios de las tablas de datos modificadas a la otra segmentación de datos. Sin embargo, esto puede llevar a la ambiguedad en el modelo, ya que todo está vinculado.
2. Cree una medida con CROSSFILTER y aplíquela como filtro visual a sus segmentaciones.
También puede compartir un enlace a su archivo PBIX (si lo pone en la nube).
Gracias por la respuesta.
CROSSFILTER suena como que podría ser el camino a seguir, pero no estoy seguro de cómo estructurar esto para agregarlo en una medida.
He subido un archivo pbix de muestra a Dropbox. Enlace aquí.
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 |