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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

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
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors