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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Caclulaciones de índices de Paasche y Laspeyres con DAX

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?

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

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.

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors