es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

DAX – Filtrar filas por valores de tablas relacionadas

Mi modelo de datos consiste en las siguientes tablas:

  • DateTable[Date]
  • ProductTable[ID, ProductType, DateFrom, DateTo, Flag]
  • SCDTable[ID, DateFrom, DateTo, ClusterKey]
  • ClusterTable[ClusterKey, ClusterName]

Y las siguientes relaciones:

  • DateTable[Date] tiene una relación inactiva con ProductTable[DateTo] 1:n. Dirección: Hacia ProductTable
  • ProductTable[ID] tiene una relación con SCDTable[ID] 1:n. Dirección: Ambas
  • SCDTable[ClusterKey] tiene una relación con ClusterTable[ClusterKey] n:1. Dirección: Hacia SCDTable

La tabla SCDTable contiene los ID de ProductTable[ID] y los clústeres correspondientes válidos en un momento concreto. Los nombres de texto de los clústeres están disponibles en la tabla ClusterTable.

El valor de fecha proviene de la selección del usuario en el informe (a través de un slicer).

Tengo las siguientes medidas:

  • [AmtProducts] = CALCULATE(COUNTROWS(ProductTable), ProductTable[Flag] = 1, USERELATIONSHIP(DateTable[Date], ProductTable[DateTo]))
  • [Temp: LastDaySelectedMonth] = CALCULATE(MAX(DateTable[Date]), ALLSELECTED(DateTable))
  • [AmtProductsCluster] = CALCULATE([AmtProducts], [Temp: LastDaySelectedMonth] >= ‘SCDTable'[DateFrom], [Temp: LastDaySelectedMonth] < ‘SCDTable'[DateTo])

Tengo dos visualizaciones en mi informe:
1. [AmtProducts] basado en ProductTable[ProductType]
2. [AmtProductsCluster] basado en ClusterTable[ClusterName]

El problema es que:
– Los resultados están bien.
– Cuando hago clic en Power BI en cualquier valor en la visualización 1, los números en la visualización 2 se filtran en consecuencia.
– Cuando hago clic en cualquier valor en la visualización 2, los números en la visualización 1 no cambian.

¿Podrías ayudarme, por favor? ¡Gracias!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El problema con el informe parece estar relacionado con las relaciones y la dirección de los filtros. La Visualización 1 se basa en la tabla de productos que tiene una relación inactiva con la tabla de fechas, mientras que la Visualización 2 se basa en la tabla SCD que tiene una relación activa con la tabla de clúster. Cuando un usuario hace clic en un valor en la Visualización 2, se aplica el filtro del slicer a la tabla SCD, pero este filtro no se propaga a la tabla de productos debido a que no hay una relación activa entre ellas.

    Para resolver este problema, puedes intentar los siguientes pasos:

    1. Activa la relación entre ProductTable[ID] y DateTable[Fecha] para crear una relación activa. Esto permitirá que el filtro de la Visualización 2 se propague a la Visualización 1.
    2. Modifica la medida [AmtProducts] para que use la nueva relación activa en lugar de la inactiva. Por ejemplo, puedes reemplazar la función USERELATIONSHIP por la relación activa, de la siguiente manera:

    [AmtProducts] = CALCULATE(COUNTROWS(ProductTable), ProductTable[Flag] = 1, ProductTable[FechaHasta] <= MAX(DateTable[Fecha]))
    
    1. Asegúrate de que la dirección del filtro en la relación entre ProductTable y DateTable esté configurada en “Ambos”. Esto permitirá que el filtro se propague en ambas direcciones.

    2. Verifica que la dirección del filtro en la relación entre SCDTable y ClusterTable esté configurada en “Única”. Esto evitará que los filtros se propaguen en ambas direcciones, lo cual podría causar resultados inesperados.

    Después de implementar estos cambios, ambas visualizaciones deberían filtrarse correctamente cuando un usuario seleccione un valor en cualquiera de ellas.

Comments are closed.