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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Resaltado de la columna seleccionada en un problema de gráfico de barras

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!

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Encontré la solución:

CALCULAR(SUMA('Hecho'[Valle]), TODO('Pinchazo'), 'Pinchazo'[IDENTIFICACIÓN] = 1, ALL('DimDates'[Mes]), TREATAS(VALORES('UnDimDates'[Month]), 'DimDates'[Month]))

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Encontré la solución:

CALCULAR(SUMA('Hecho'[Valle]), TODO('Pinchazo'), 'Pinchazo'[IDENTIFICACIÓN] = 1, ALL('DimDates'[Mes]), TREATAS(VALORES('UnDimDates'[Month]), 'DimDates'[Month]))

Syndicate_Admin
Administrator
Administrator

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:

vlinyulumsft_0-1718591204008.png

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.

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

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

Top Solution Authors