Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more
Sé que esta es una solicitud bastante común y el video de Youtube a continuación funciona como se esperaba:
https://www.youtube.com/watch?v=FnEKyhSf2mM
Sin embargo, hay una gran advertencia. En mi informe, tengo numerosos elementos visuales/medidas que SON impulsados por la segmentación de fechas en la página. Por lo tanto, si uso la tabla Dim Date no conectada en la segmentación, se rompen todos los elementos visuales y no quiero tener que volver a diseñar toda la página/medidas para resaltar la columna seleccionada para este gráfico de barras únicas. He intentado diseñar una solución que mantenga la tabla de fecha de atenuación conectada en la segmentación, pero no puedo hacer que funcione.
Tengo una medida bastante simple que está impulsando el gráfico de barras:
CALCULATE(SUM('Fact'[Val]), ALL('Prod'), 'Prod'[ID] = 1)
Así, por ejemplo, si el mes seleccionado en la segmentación de tabla Dim Date conectada es enero, la medida anterior devuelve correctamente 100 USD. Sin embargo, ahora necesito que devuelva el valor adecuado para cada mes en el gráfico de barras con el eje X establecido en el campo Mes de la tabla Dim Dates no conectada. Si lo dejo como está, simplemente devuelve $ 100 en todas las fechas en el gráfico de barras.
He intentado insertar TREATAS para filtrar en la tabla de fecha dim no relacionada:
CALCULATE(SUM('Fact'[Val]), ALL('Prod'), 'Prod'[ID] = 1, TREATAS(VALUES('UnDimDates'[Month]), 'DimDates'[Month]))
pero todo lo que obtengo es un extraño subconjunto de los valores que parece corresponder al trimestre en el que reside el mes, y en blanco para el resto de los meses.
FWIW, mi tabla de fecha de dimensión no es una tabla de fecha propiamente dicha porque este modelo de datos es solo el primero del mes, no todas las fechas, y es una consulta nativa de SQL Server. Además, el campo [Mes] es en realidad un formato personalizado del campo [Fecha] porque no soporto los formatos de fecha predeterminados en PBI. Esto, por supuesto, introduce más arrugas al hacer que PBI ordene este campo "cronológicamente" en lugar de alfabéticamente, por lo que tengo una tercera columna de ordenación. Sin embargo, no estoy seguro de si algo de eso importa.
¿Alguna idea sobre cómo modificar mi medida anterior para que funcione correctamente con la tabla de fechas de atenuación no relacionada en el gráfico de barras? ¡Gracias!
Solved! Go to Solution.
Encontré la solución:
CALCULAR(SUMA('Hecho'[Valle]), TODO('Pinchazo'), 'Pinchazo'[IDENTIFICACIÓN] = 1, ALL('DimDates'[Mes]), TREATAS(VALORES('UnDimDates'[Month]), 'DimDates'[Month]))
Encontré la solución:
CALCULAR(SUMA('Hecho'[Valle]), TODO('Pinchazo'), 'Pinchazo'[IDENTIFICACIÓN] = 1, ALL('DimDates'[Mes]), TREATAS(VALORES('UnDimDates'[Month]), 'DimDates'[Month]))
Hola@WishAskedSooner
Con respecto a la cuestión que planteaste, mi solución es la siguiente:
1.En primer lugar, debe asegurarse de que no haya una relación activa entre las tablas DimDates y UnDimDates. Esta configuración es esencial para que la función TREATAS () funcione según lo previsto, ya que en realidad aplica el contexto de filtro de una tabla a otra sin necesidad de una relación física. TREATAS () se utiliza mejor cuando no existe ninguna relación entre las tablas. Si hay varias relaciones entre las tablas implicadas, considere la posibilidad de utilizar la función USERELATIONSHIP () en su lugar.
Y si el valor devuelto en la expresión de la tabla no existe en la columna, el valor se omite.
Aquí hay una captura de pantalla del documento oficial:
Aquí está la documentación relevante:
Función TREATAS - DAX | Microsoft Learn
Función USERELATIONSHIP (DAX) - DAX | Microsoft Learn
2.En segundo lugar, de acuerdo con el caso proporcionado en la documentación oficial, puede intentar verificar su dax para asegurarse de que la función VALUES se usa en tablas conectadas a segmentación de datos (DimDates) y que el segundo argumento de TREATAS es una columna de una tabla no conectada (UnDimDates).
Gracias de nuevo por proporcionar una descripción detallada de su problema. Sin embargo, no podemos proporcionar mejores sugerencias y ayuda en la información existente que proporciona, por lo que esperamos que pueda proporcionar información de datos más detallada, como la relación entre las tablas y la composición de los datos, lo que será beneficioso para nuestro mejor servicio para usted. Y preste atención a la eliminación de información confidencial.
Saludos
Leroy Lu
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.