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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Syndicate_Admin
Administrator
Administrator

¿Cómo configurar filtros para mostrar solo los elementos vinculados a la tabla de hechos y también trabajar en modo cascada?

Hola

Tengo un filtro (no puedo usar segmentación) en el panel Filtro de la sesión "Filtros en todas las páginas" que apunta a una tabla de dimensiones y también a un objeto visual de tabla con algunas columnas que provienen de la tabla de hechos. El problema es que el filtro muestra todos los elementos de la tabla de dimensiones. Deseo mostrar solo los elementos que tienen valores relacionados con la tabla de hechos. Además, si hago clic en un elemento del primer filtro, el segundo filtro no está siendo filtrado por el primer filtro. Necesito que el comportamiento en cascada también funcione.

Estoy desarrollando un informe de Power BI mediante el uso de Power BI Desktop y Direct Query que apunta directamente a las vistas de Postgres. He creado manualmente las relaciones donde 1 está en el lado de la dimensión y * está en el lado de los hechos. La dirección del filtro cruzado se establece como Única y "Asumir integridad referencial" se establece como Sí.

¿Hay alguna manera de configurar los filtros (10+) para que funcionen como espero (en negrita)?

Gracias

Flavia

11 REPLIES 11
Syndicate_Admin
Administrator
Administrator

@flamcnet ,

Solo quería verificar y ver cómo van las cosas con su modelo si pudo probar las sugerencias de @hnguy71 y los consejos sobre la dirección del filtro cruzado y el filtrado con una columna auxiliar. A veces, esos pequeños ajustes, como establecer la relación en Ambos o usar una columna de marca como IsInFact, pueden marcar la diferencia cuando los filtros no se comportan como se esperaba. Si todo está funcionando ahora, increíble. Pero si todavía ve algo extraño o inesperado, no dude en compartir más detalles, siempre feliz de profundizar y ayudar más.

Saludos
Akhil.

Hola @v-agajavelly ,

Perdón por mi retraso. Estaba de baja médica.

Aún no hay progreso. Esa opción "Ambos" también se probó, pero tampoco funciona como se esperaba. Esa opción IsInFact parece funcionar con solo un caso de uso pequeño, como un hecho y solo una dimensión.

Abrí un ticket con Microsoft y dijeron que los filtros no funcionarán como necesito. Esto es por diseño. Procederé con el proceso de DCR con ellos y esperaré alguna aprobación/implementación de esta "mejora".

Como solución alternativa, llevé los datos de dimensión a la tabla de hechos y estoy apuntando los filtros al hecho, en lugar de las dimensiones. Pero creo que esta es una solución realmente fea en términos de rendimiento y diseño.

Entonces, ¿nunca tuviste que aplicar mi caso de uso a ningún cliente? (¿Apuntar los filtros a las dimensiones y tener en los elementos de filtro solo los valores que tienen datos relacionados con las tablas de hechos para evitar que los usuarios seleccionen filtros que no traen datos?

Gracias

Flavia

Syndicate_Admin
Administrator
Administrator

@flamcnet ,

Gracias por la gran pregunta y por compartir tu modelo.

@hnguy71 sugerencia es una técnica de depuración útil: las pruebas con una medida básica ayudan a verificar si la propagación del filtro está funcionando a través del modelo. Es un gran primer paso para diagnosticar cualquier problema con tus relaciones.

Pruebe esto para que funcione como lo requiera.

  • Asegúrese de que la dirección del filtro cruzado esté configurada en AMBOS para que los filtros en cascada funcionen.
  • Use una columna auxiliar de DAX (IsInFact) para filtrar los valores de atenuación no relacionados del panel de filtro si es necesario.

Espero que eso ayude y muchas gracias a ambos Súper Usuarios por sus valiosas sugerencias. Pruebe las sugerencias anteriores y háganos saber si resuelve su problema.

Saludos
Akhil.

Syndicate_Admin
Administrator
Administrator

@flamcnet Eh
Voy a sugerir
Puede llevar la columna de filtro requerida de su dimensión a la tabla de hechos mediante la combinación izquierda y, de esta manera, coincidirá con el registro de su otra tabla.

Puede usar el siguiente código

escoger

a.columna1

a.columna2

....

b.columna1

b.columna2

* De la Tabla 1 a

Unir Tabla 2 B

en a.id = b.id

Gracias

Harish M

Por favor, acepte esto como una solución si es resolver su problema y felicite también

Hola @HarishKM,

Entendí su solución, pero algo que no entendí es: ¿cuál es la razón de tener tablas de dimensiones y hechos en el modelo si traigo todos los valores a la tabla de hechos en una consulta?

Gracias

Flavia

Syndicate_Admin
Administrator
Administrator

@flamcnet

De forma predeterminada, los filtros deben devolver solo la información a la que se les han aplicado filtros. ¿Es posible que los campos de relación y/o agregados no los tengan en cuenta? ¿Puedes compartir una captura de pantalla de tu modelo (con relaciones?)

@flamcnet

Ahora creo que estoy entendiendo su problema. Lo que está diciendo es que cuando selecciona la columna de dimensión en el panel de filtro, muestra todos los valores disponibles, independientemente de si la tabla de hechos contiene datos para ese par de valores.

Porque una dimensión, por diseño, está pensada para mostrar todos los atributos disponibles para ayudar a complementar la tabla de hechos. La dirección de su relación es la dimensión, de hecho, > lo tanto, no podrá filtrar los valores que no contengan ningún dato.

Lo que @v-agajavelly sugirió es muy válido y, si puede, cree una columna personalizada en su(s) tabla(s) de dimensiones para comprobar si hay algún valor en la tabla de hechos. Por ejemplo, si vamos a llamar a esta nueva columna como "IsInFact" con una salida de "Sí" o "No", una vez que haya creado la evaluación correcta, agregue ese campo al panel de filtro y fíltrelo para "Sí". Oculte y bloquee ese filtro y su dimensión debe propagarse y solo mostrar valores tiene algunos datos.

Hola @hnguy71 - Sí, ahora lo tienes completamente. 🙂

Intenté implementar la solución propuesta por @v-agajavelly y funcionó bien para 1 tabla Dim. Seguí adelante y apliqué la solución a las otras 6 mesas Dim. Pude ver los filtros que enumeraban los valores correctos, pero la propia página del informe "murió" cargando datos para un objeto visual de tabla simple con dos columnas y menos de 1000 filas. Probablemente se debió a todas las otras 6 fusiones que tuve que hacer para crear esa columna "IsInFact" Sí/No.

Otra solución que "funcionó" fue llevar todos los valores tenues a la vista de hechos y usarlos en los filtros, pero realmente creo que esta no es una buena solución.

Sigo tratando de encontrar alternativas... 😞

@flamcnet ,

Su modelo se ve bien. ¿Tiene una medida para probar los valores que provienen de su tabla de hechos? Cualquier medida básica servirá.

Por ejemplo

Base.Total = SUM(FACT_TABLE_IN_QUESTION[Amount])

Y luego, para depurar, usar esa medida en un objeto visual de tabla junto con un campo que provenga de la tabla de dimensiones que muestra todos los datos. Solo debería ver las sumas agregadas de esos campos en el ámbito.

A continuación, una vez que haya confirmado que es bueno, agregue el filtro que planea usar en el mismo objeto visual y verifique si solo se muestra la información requerida.

Hola @hnguy71,

Sí.

Es un conteo simple: Controls_Count = DISTINCTCOUNT(Fact[Control]), lo he agregado como tarjeta.

He creado un objeto visual de tabla, con una columna (control) procedente de la tabla de hechos y otra columna (torre) procedente de la dimensión relacionada.

Tanto las pruebas de "filtros en este objeto visual" como de "filtros en todas las páginas", para los casos en los que el elemento del filtro con elementos de dimensión no tiene un respectivo en el hecho de que vuelve en blanco. Mi objetivo es evitar que el usuario haga clic en un elemento de filtro que no aporta ningún dato.

Parece que los filtros en el panel de filtros van a traer todos los valores de la tabla de dimensiones, pase lo que pase. 😞

¿Ves alguna otra alternativa que no sea optar por el uso de cortadoras?

Hola, gracias por responder.

¿Cómo puedo comprobar si "los campos de relación y/o agregados no los tienen en cuenta"? Ya tengo restricciones en las tablas DIM para asegurarme de que no tengan valores duplicados. Creo que la relación está en buena forma porque esto refleja exactamente lo que se ve a continuación. También ejecuté algunas consultas para asegurarme de que si no tengo ningún problema de integridad de datos y parece que todo está bien.

Aquí hay una captura de pantalla de mi modelo:

flamcnet_0-1752603936927.png

Solo para explicarlo, tengo un hecho principal en el centro y otros dos hechos con diferentes tipos de nivel de granularidad.

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Top Solution Authors