Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hola
Tengo un informe donde tengo múltiples tipos de "años" estoy tratando de sumar los ingresos netos a través de las divisiones de entidades - donde una división de cultivos de un año específico puede abarcar varios años calendario. Por ejemplo -2019 maíz abarca el año calendario 2018-2020. Dentro de este mismo informe - Tengo divisiones (es decir, financiamiento) donde queremos sólo los dólares representados con 2019.
En este ejemplo - Tengo los ingresos netos correctos dentro de las columnas de calendario y año de producción, pero obviamente el GRAND TOTAL es incorrecto.
Tengo una cortadora para cosechar el valor del año de ProjectGroupSetup[ProdYear] - así que si se selecciona 2019, quiero todos los cultivos de 2019 (que abarca varios años calendario) + esas divisiones con un calendario designado año año 2019.
Esta primera medida es mi intento inicial utilizando una instrucción IF para determinar qué calculate([Net Income] y filtrar en función del año seleccionado).
ExecYr NetMargin Test =
VAR SelectedYr =
SELECTEDVALUE ( ProjectGroupSetup[ProdYear] )
VAR CurrentDivisionYr =
MAX ( Division[ExecYr] )
VAR ReportValue =
IF (
CurrentDivisionYr = "CalYr",
CALCULATE (
[BS Net Income],
ALL ( ProjectGroupSetup[ProdYear] ),
'CALENDAR'[Year] = SelectedYr
),
CALCULATE (
[BS Net Income],
ALL ( 'CALENDAR' ),
ProjectGroupSetup[ProdYear] = SelectedYr
)
)
RETURN
ReportValue
Esta segunda medida fue mi intento de usar el SUMX a través de "divisiones" pensando que eventualmente podría usar este valor como total. Termino con el mismo resultado que se muestra arriba
ExecYr NetMargin Test2 =
VAR SelectedYr =
SELECTEDVALUE ( ProjectGroupSetup[ProdYear] )
VAR ReportValue =
SUMX (
Division,
VAR CurrentDivisionYr =
MAX ( Division[ExecYr] )
RETURN
IF (
CurrentDivisionYr = "CalYr",
CALCULATE (
[BS Net Income],
ALL ( ProjectGroupSetup[ProdYear] ),
'CALENDAR'[Year] = SelectedYr
),
CALCULATE (
[BS Net Income],
ALL ( 'CALENDAR' ),
ProjectGroupSetup[ProdYear] = SelectedYr
)
)
)
RETURN
ReportValue
Una vez más, los valores individuales son correctos - el total general no lo es. Mi objetivo final es eliminar la división como un encabezado de columna, reflejando un total general adecuado en la parte inferior.
Realmente aprecio el apoyo ofrecido en el foro. ¡Gracias!
@Dellis81 , Tienes que probar una nueva medida como
sumx(summarize(Division, Division[ExecYr], "_1",[ExecYr NetMargin Test]),[_1])
O
sumx(summarize(Division,Division[Division], Division[ExecYr], "_1",[ExecYr NetMargin Test]),[_1])
es posible que tenga que agregar otros bys de grupo en resumen
Gracias a ambos por responder 🙂
He probado ambas ideas, todavía no del todo. Por lo tanto, he intentado "atonar" el archivo en vivo, y tengo un ejemplo más simplificado para mostrar. Aquí hay un enlace de una unidad
https://1drv.ms/u/s!AmBVCme14p7xlVa2IR8lDSI2XNhu?e=btu7qg
La siguiente imagen ilustra los resultados de las dos medidas proporcionadas anteriormente: la línea total en amarillo debe ser de 1.264.497,44 dólares para el año 2019
PD - lo siento, mientras manipulaba los datos para atraer, no pude obtener un valor mayor en la división de financiamiento. Pero, creo que puedes trabajar con lo que yo tengo.
¡Agradezco su ayuda!
Hola @Dellis81 ,
Cree 2 medidas como se indica a continuación:
Measure = SUMX(VALUES('Division'[Division]),'CALENDAR'[ExecYr NetMargin Test])
Measure2 = SUMX(VALUES('Division'[Division]),'CALENDAR'[ExecYr NetMargin Test2])
Y verás:
Para el archivo .pbix actualizado, pls ver adjunto.
¡¡¡Sí!!! ¡Gracias!
Pude transferir con éxito su medida en el archivo en vivo más grande - IMPRESIONANTE!
Creo que estaba cerca de hacer lo mismo - excepto que estaba tratando de poner las declaraciones IF dentro de la SumX. Tomó la medida que contiene el IF - y se colocó dentro del SumX. ¿Cuál es la diferencia? A continuación se mide mi intento de tomar su medida -y reemplazar con lo que pensé que debería funcionar. No quiero tomarte mucho tiempo en esto, ¿es más mi intento de entenderlo?
¡Gracias!
ExecYr NetMargin Test3 =
VAR SelectedYr =
SELECTEDVALUE ( ProjectGroupSetup[ProdYear] )
return
SUMX(VALUES('Division'[Division]),
VAR SelectedYr =
SELECTEDVALUE ( ProjectGroupSetup[ProdYear] )
VAR CurrentDivisionYr = max(Division[ExecYr])
return IF ( CurrentDivisionYr = "CalYr",
CALCULATE([BS Net Income],ALL(ProjectGroupSetup[ProdYear]),'CALENDAR'[Year]=SelectedYr),
CALCULATE([BS Net Income],ALL('CALENDAR'),ProjectGroupSetup[ProdYear]=SelectedYr )
))
Hola @Dellis81 ,
Es un problema grandtotal que es un problema común.
Intente crear una medida como se indica a continuación:
_Sum=SUMX(ALLSELECTED([diviation]),[ExecYr NetMargin Test2])
Aquí está la referencia:
https://community.powerbi.com/t5/Desktop/SUMX-grand-total/td-p/1269630
@Dellis81 ofender, pero demasiado para leer. Será más fácil si proporciona datos de ejemplo y salida esperada.
Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!
Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo
If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤
Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.