Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!
Quiero calcular la Compra en base a la fórmula Compra = Inventario Final - Inventario Inicial + COGS và Compra TTM. He escrito algunas fórmulas DAX de la siguiente manera:
Inventarios iniciales =
CALCULAR(
[Inventarios finales],
PREVIOUSQUARTER('Fecha'[Tecla de fecha])
)
Inventarios finales =
CALCULAR(
[BalanceSheetValues],
Cuentas[Cuenta] = "Inventarios"
)
ENGRANAJE =
CALCULAR(
[Valores trimestrales],
Cuentas[Subcuenta] = "Costo de los bienes vendidos"
) * -1
Compra = Inventarios finales - Comienzo = COGS
Compra TTM =
CALCULAR(
SUMX(
Estado de Resultados,
[Compra]
),
DATESINPERIOD(
'fecha'[tecla de fecha],
max('fecha'[tecla de fecha]),
-4,
CUARTO
),
FILTRO(
Todos('Fecha'),
max('date'[tecla de fecha]) > date(2015,9,30)
)
)
He identificado el problema: la medida Purchase se refiere a dos tablas, BalanceSheet y IncomeStatement, mientras que la función SUMX solo opera en una sola tabla. Como resultado, cuando uso la función SUMX para iterar sobre el estado de resultados, el valor de TTM Purchase termina siendo el mismo que el valor de TTM COGS. Sin embargo, todavía estoy luchando por encontrar una solución.
https://www.dropbox.com/scl/fi/ib8wnknxpglr7dfrfzjrr/NFC_Company-Analysis.pbix?rlkey=f50uf91t9oih7rt...
La siguiente tabla muestra los valores que espero calcular.
Intenté un enfoque diferente para calcular la compra de TTM utilizando la fórmula: Inventario final de TTM - Inventario inicial de TTM + TTM COGS. Las fórmulas para el inventario final de TTM y el COGS de TTM funcionan perfectamente, pero la fórmula para el inventario inicial de TTM no devuelve los valores correctos. He probado varias fórmulas de la siguiente manera:
Inventario inicial TTM =
SUMX(Balance, [Inventarios iniciales])
No muestra valores.
Inventarios iniciales de TTM =
CALCULAR(
[Inventarios finales],
FILTRO(
ALL('Fecha'),
'Fecha'[Tecla de fecha] < MIN('Fecha'[Tecla de fecha])
)
)
Muestra los inventarios iniciales acumulados desde el 31/12/2014.
Inventario inicial TTM =
CALCULAR(
[Inventarios iniciales],
DATESINPERIOD(
'fecha'[tecla de fecha],
MAX('Fecha'[Tecla de fecha]),
-4,
CUARTO
),
FILTRO(
ALl(«Fecha»),
MAX('Fecha'[Clave de fecha]) > Fecha(2015,9,30)
)
)
Los inventarios iniciales de TTM a 31/12/2015 son iguales a los inventarios iniciales a 31/12/2014
Hola @ThangNT ,
Creo que su problema debería deberse a que la tabla de fechas no es continua. Aquí le sugiero que actualice su meausre como se muestra a continuación.
Beginning Inventories =
CALCULATE (
[Ending Inventories],
FILTER ( ALLSELECTED ( 'Date' ), 'Date'[Column] = MAX ( 'Date'[Column] ) - 1 )
)TTM Beginning Inventory =
IF (
MAX ( 'Date'[Date Key] ) > DATE ( 2015, 9, 30 ),
SUMX (
FILTER (
ALLSELECTED ( 'Date' ),
'Date'[Column] <= MAX ( 'Date'[Column] )
&& 'Date'[Column]
>= MAX ( 'Date'[Column] ) - 4
),
[Beginning Inventories]
)
)
El resultado es el siguiente.
Saludos
Rico Zhou
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
Tengo otra solución que parece ser más simple. Las fórmulas DAX para Purchase y TTM Purchase se han modificado de la siguiente manera:
The Power BI Data Visualization World Championships is back! It's time to submit your entry.