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

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.

Reply
Syndicate_Admin
Administrator
Administrator

Pregunta DAX: ¿Cómo resolver un total incorrecto para los valores del producto?

Hola

Necesito ayuda con cómo calcular los totales en DAX para productos YTD.

Necesito informar el último valor conocido para cada producto. Para empezar, creé un objeto visual con tres columnas:

LadyCat_0-1680166640060.png

La última fecha de informe conocida es el 31 de enero de 2023. Para todos los demás productos, la última fecha conocida de presentación de informes es el 31 de diciembre de 2022. Cada "Valor total por producto" se desglosa correctamente por producto. Sin embargo, el problema que no puedo resolver es el total de todos los productos. El total que se muestra en la parte inferior de la tabla es 20.272.531.064,53, que es solo el total de los productos para los que hay un valor al 31 de enero (es decir, productos 8, 9, 33, etc.). El total real que estoy tratando de disipar es un poco más de 40.000 millones.

Sé que Power BI tiene su propia lógica cuando se trata de calcular totales, pero no entiendo cómo solucionar esto.

¿Alguien puede ayudar? El código que estoy usando es el siguiente, usando una tabla llamada "Datos":

LastDateOfReporting = Calculate(

MAX(Data[ReportingDate]),

ALL(Data[Product.ProductID]),

VALUES(Data[ReportingDate].[ Fecha]))

Valor total por producto =

VAR SelectedPeriod = SELECTEDVALUE('Date Table'[PeriodNumber]) - comentario: hay una segmentación de datos en este objeto visual que permite a los usuarios seleccionar el último valor conocido para cada producto o los valores totales al final del año anterior.

VAR DayAnnualReporting = Dim_Dates[LastDayOfPreviousYear]

VAR LatestDateInReporting = Dim_Dates[LatestDateInReporting]

VAR LatestDateOfData =

CALCULAR(

MAX(Data[ReportingDate]),

FILTER(Data,Data[Product.ProductID]),

Data[ReportingDate]<=LatestDateInReporting

)

Devolución

INTERRUPTOR(

SelectedPeriod,

1, CALCULATE(SUMA(Datos[Valor del producto]), FILTRO(Datos, datos[ReportingDate] = DayAnnualReporting)),

2, CALCULATE(SUMX(Data,Data[Product Value]), FILTER(Data, Data[ReportingDate].[ Date] = LatestDateOfData))

)

Y con esto, el total en la parte inferior de la tabla está equivocado.

¡Cualquier ayuda será muy apreciada!

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hola

Finalmente logré arreglar esto usando los siguientes dos artículos con muchas gracias a los dos autores:

Medir totales, la última palabra - Comunidad de Microsoft Power BI

RESUMEN DE POWER BI | ¿Cómo usar la función SUMMARIZE DAX? (wallstreetmojo.com)

Estoy publicando lo que hice en caso de que pueda ayudar a alguien que está luchando con el mismo problema.

Lo que hice fue agregar una medida RESUMIR como se describe en los artículos anteriores y modificar mi código en consecuencia:

- Creé una nueva medida llamada m_Latest para obtener los totales correctos por fila, mientras que el total de todas las filas sigue siendo incorrecto:

m_Latest =

VAR LatestDateOfData =

CALCULAR(

MAX(Data[ReportingDate]),

FILTER(Data,Data[Product.ProductID])

)

Devolución

CALCULATE(SUMX(Data, Data[Product Value]), FILTER(Data, Data[ReportingDate]=LatestDateOfData)

)

- Luego creé otra medida usando RESUMIR para poner todo lo anterior en una nueva tabla:

m_TotalLatestData =

VAR __table = SUMMARIZE(Data,Data[Product.ProductID],"VLatest",'Key Measures'[m_Latest])

DEVOLUCIÓN

SI(HASONEVALUE(Datos[Valor del producto]),'Medidas clave'[m_Latest],SUMX(__table,[VLatest]))

- Agregué esto a mi código original:

Valor total por producto =

VAR SelectedPeriod = SELECTEDVALUE('Tabla de fechas'[PeriodNumber])

VAR DayAnnualReporting = Dim_Dates[LastDayOfPreviousYear]

VAR LatestDateOfData =

CALCULAR(

MAX(Data[ReportingDate]),

FILTER(Data,Data[Product.ProductID]),

)

Devolución

INTERRUPTOR(

SelectedPeriod,

1, CALCULATE(SUMA(Datos[Valor del producto]), FILTRO(Datos, datos[ReportingDate] = DayAnnualReporting)),

2, «Medidas clave»[m_TotalLatestData]

- Y ahora me está dando lo que necesito:

LadyCat_0-1680257039996.png

View solution in original post

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Hola

Finalmente logré arreglar esto usando los siguientes dos artículos con muchas gracias a los dos autores:

Medir totales, la última palabra - Comunidad de Microsoft Power BI

RESUMEN DE POWER BI | ¿Cómo usar la función SUMMARIZE DAX? (wallstreetmojo.com)

Estoy publicando lo que hice en caso de que pueda ayudar a alguien que está luchando con el mismo problema.

Lo que hice fue agregar una medida RESUMIR como se describe en los artículos anteriores y modificar mi código en consecuencia:

- Creé una nueva medida llamada m_Latest para obtener los totales correctos por fila, mientras que el total de todas las filas sigue siendo incorrecto:

m_Latest =

VAR LatestDateOfData =

CALCULAR(

MAX(Data[ReportingDate]),

FILTER(Data,Data[Product.ProductID])

)

Devolución

CALCULATE(SUMX(Data, Data[Product Value]), FILTER(Data, Data[ReportingDate]=LatestDateOfData)

)

- Luego creé otra medida usando RESUMIR para poner todo lo anterior en una nueva tabla:

m_TotalLatestData =

VAR __table = SUMMARIZE(Data,Data[Product.ProductID],"VLatest",'Key Measures'[m_Latest])

DEVOLUCIÓN

SI(HASONEVALUE(Datos[Valor del producto]),'Medidas clave'[m_Latest],SUMX(__table,[VLatest]))

- Agregué esto a mi código original:

Valor total por producto =

VAR SelectedPeriod = SELECTEDVALUE('Tabla de fechas'[PeriodNumber])

VAR DayAnnualReporting = Dim_Dates[LastDayOfPreviousYear]

VAR LatestDateOfData =

CALCULAR(

MAX(Data[ReportingDate]),

FILTER(Data,Data[Product.ProductID]),

)

Devolución

INTERRUPTOR(

SelectedPeriod,

1, CALCULATE(SUMA(Datos[Valor del producto]), FILTRO(Datos, datos[ReportingDate] = DayAnnualReporting)),

2, «Medidas clave»[m_TotalLatestData]

- Y ahora me está dando lo que necesito:

LadyCat_0-1680257039996.png

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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