Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Hola chicos, estoy tratando de crear un cálculo del índice de Paasche para saber cómo evolucionan los precios en %. https://corporatefinanceinstitute.com/resources/economics/paasche-price-index/
Mi fórmula es esta:
Precio Paasche =
VAR _CurrentYear = SELECTEDVALUE( DIM_Datetable[Año] )
VAR _LastYear = _CurrentYear - 1
var _PriceLastYear =
CALCULAR(
SUMX(
VALORES( FCT_Orders[ArticleNR] ) ,
CALCULAR(
SUMA( FCT_Orders[Precio]))),
DIM_Datetable[Año] = _LastYear
)
VAR _PriceCY =
CALCULAR(
SUMX(
VALORES( FCT_Orders[ArticleNR] ) ,
CALCULAR(
SUMX(FCT_Orders, FCT_Orders[Precio] ) )),
DIM_Datetable[Año] = _CurrentYear
)
VAR _QtyCurrentYear =
CALCULAR(
SUMX(
VALORES( FCT_Orders[ArticleNR] ) ,
CALCULAR(
SUMX(FCT_Orders, FCT_Orders[Cantidad] ) )),
DIM_Datetable[Año] = _CurrentYear
)
var _res =
_PriceCY * _QtyCurrentYear
var _res2 = _PriceLastYear * _QtyCurrentYear
DEVOLUCIÓN
DIVIDIR(
_res, _res2)
El problema al que me enfrento es que estoy obteniendo los mismos resultados con la fórmula del índice de laspeyres y esto no debería ser así, supongo que esto está sucediendo porque la iteración en mi dax no está sucediendo normalmente para obtener los resultados correctos, la fórmula debería suceder en cada artículo, por lo que debería estar sucediendo una iteración correcta, ¿Qué estoy haciendo mal?
Hola@DAX_Machine
Estaré encantado de ayudarte.
En función de la descripción, piense que la iteración en dax no se está produciendo correctamente.
Creo que el problema podría estar en el código de los parámetros _PriceCY y _QtyCurrentYear
VAR _PriceCY =
CALCULATE(
SUMX(
VALUES( FCT_Orders[ArticleNR] ) ,
CALCULATE(
SUMX(FCT_Orders, FCT_Orders[Price] ) )),
DIM_Datetable[Year] = _CurrentYear
)
VAR _QtyCurrentYear =
CALCULATE (
SUMX (
VALUES ( FCT_Orders[ArticleNR] ),
CALCULATE ( SUMX ( FCT_Orders, FCT_Orders[Quantity] ) )
),
DIM_Datetable[Year] = _CurrentYear
)
Debe modificarlo para que se vea así:
VAR _PriceCY =
SUMX (
VALUES ( FCT_Orders[ArticleNR] ),
CALCULATE ( SUM ( FCT_Orders[Price] ), DIM_Datetable[Year] = _CurrentYear )
)
VAR _QtyCurrentYear =
SUMX (
VALUES ( FCT_Orders[ArticleNR] ),
CALCULATE ( SUM ( FCT_Orders[Quantity] ), DIM_Datetable[Year] = _CurrentYear )
)
Aquí está mi entendimiento, puedes referirte a él:
El cálculo de la función calculate devuelve un escalar y esta función cambia el entorno de cálculo interno de un contexto de fila (que itera) a un contexto de filtro (que no itera)
Esta función cambia el contexto de cálculo interno del contexto de fila (que itera) al contexto de filtro (que no itera). Por lo tanto, si usa la función de iteración SUMX en la función de cálculo, cancelará la operación de iteración.
Espero que mis sugerencias le den buenas ideas, si tiene más preguntas, por favor aclare en una respuesta de seguimiento.
Saludos
Carson Jian,
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Ask questions in Eventhouse and KQL, Eventstream, and Reflex.