cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Comportamiento errático con totales de fila

Como no puedo compartir el archivo .pbix aquí, intentaré explicar lo más detallado posible cuál es el escenario y el problema al que me enfrento.

Utilizo varias funciones de inteligencia de tiempo para obtener valores por M, Q, YTD y FY. Sin embargo, el cálculo no es tan simple. Para obtener el valor M, mi cliente tiene una lógica donde debemos hacer lo siguiente:

M = Valor mensual

YTD = Valor del año hasta la fecha

PM = Mes anterior

LC = Moneda local

GC = Moneda global (€)

FX = Tipo de cambio


M GC = (YTD LC * FX) - (YTD PM LC * FX PM) -> (Valor del año hasta la fecha mes actual * tipo de cambio del mes actual) - (valor del año hasta la fecha del mes anterior * tipo de cambio del mes anterior)

Para calcular eso, tuve que crear algunas funciones, que son:
YTD GC:

YTD GC = 
VAR Result = SUMX(SUMMARIZE('Fact Data', 'Currency Exchange Rate'[CurrencyCode], 'Date'[Year], 'Date'[Month Number]),
CALCULATE([YTD LC] * SELECTEDVALUE('Fact Data'[FX Rate]))
)
RETURN Result


YTD PM GC:

YTD PM GC =
VAR MM = MAX('Date'[Month Number])
VAR Result = SUMX(SUMMARIZE('Fact Data', 'Currency Exchange Rate'[CurrencyCode], 'Date'[Year], 'Date'[Month Number]),
CALCULATE([YTD LC] * SELECTEDVALUE('Fact Data'[ExchangeRate_EURY]), PREVIOUSMONTH('Date'[Date]))
)
RETURN IF(MM=1, 0, Result)


Tenga en cuenta que hay una trampa aquí: Para evitar traer un número incorrecto en enero (como tomaría el YTD de diciembre del año anterior, y no quiero eso), aplico una condición que asigna 0 si el mes seleccionado es enero. Eso parece estar funcionando perfectamente para mis valores de fila, como se puede ver en la imagen de abajo. Sin embargo, el total de filas sigue teniendo en cuenta el valor de enero (creé una función ficticia para mostrar el valor) al resumir todas las filas.

Ale_2-1660315464066.png

El número correcto del total de filas debe ser 72.144 en lugar de 129.857, ya que el valor de enero (57.713) se eliminó de mi código.

No puedo encontrar una razón por la que el total de filas siga sumando el valor de enero, incluso si en mi fórmula asigné 0 a ese mes. ¿Cómo puedo asegurarme de que el total de la fila tendrá en cuenta el RETURN IF(MM=1, 0, Result) al calcular el subtotal?

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Resolví el problema agregando el condicional dentro del CALCULATE en la función SUMX:

YTD PM GC:

YTD PM GC =
VAR YYYY = MAX('Date'[Year])

VAR Result = SUMX(SUMMARIZE('Fact Data', 'Currency Exchange Rate'[CurrencyCode], 'Date'[Year], 'Date'[Month Number]),
CALCULATE(IF(SELECTEDVALUE('Date'[Year])< ode="">

With that, every data from previous year will be 0, so I keep only data from current year.

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Resolví el problema agregando el condicional dentro del CALCULATE en la función SUMX:

YTD PM GC:

YTD PM GC =
VAR YYYY = MAX('Date'[Year])

VAR Result = SUMX(SUMMARIZE('Fact Data', 'Currency Exchange Rate'[CurrencyCode], 'Date'[Year], 'Date'[Month Number]),
CALCULATE(IF(SELECTEDVALUE('Date'[Year])< ode="">

With that, every data from previous year will be 0, so I keep only data from current year.

Syndicate_Admin
Administrator
Administrator

Los totales de columna se calculan en todas las filas individuales. su función MAX() tiene un resultado diferente en el total de la columna, es 6,no 1.

En su lugar, debe usar funciones de iterador.

Ya estoy usando la función iteradora para calcular los valores. Pero para el total necesito esta verificación solo para evitar traer diciembre del año anterior allí. No encontré una manera de hacer eso dentro del SUMX, ya que se necesita fila por fila para calcularlo.

¿Tendrías alguna idea de lo que podría hacer allí?

Proporcione datos de muestra desinfectados que cubran completamente su problema. Solo puedo ayudarlo con datos de muestra significativos.
Pegue los datos en una tabla en su publicación o use uno de los servicios de archivos como OneDrive o Google Drive. Las capturas de pantalla de los datos de origen no son útiles.


https://community.powerbi.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-...

Helpful resources

Announcements
September Update

Check it Out!

Click here to learn more about the September 2022 updates!

Power BI Show episode 9

The Power BI Community Show

Watch the playback when Priya Sathy and Charles Webb discuss Datamarts! Kelly also shares Power BI Community updates.

Power BI Dev Camp Session 25

Ted's Dev Camp - August 25, 2022

Watch Session 25 of Ted's Dev Camp.

Top Solution Authors