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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Problema con el filtro de ticker

Llevo varios días intentando calcular las medidas para determinar cuánto "contribuye" una empresa (ticker) al índice. Por ejemplo, si un índice creció un 30% en un año, ¿cuánto proviene de cada empresa? 4% para ABCD, 10% para XYZW y 16% para XPTO.

Tengo una tabla con las siguientes columnas:

reference_date, teletipo, peso value_variation

El rendimiento diario del índice compuesto por estas empresas se calcula de la siguiente manera:
Sería la suma (value_variation * peso) dividida por la suma (peso) en esa fecha.

daily_return_index =

FUERON _promedio =
DIVIDIR(
SUMX(
COMPOSICAO_DIARIA_INDICES,
COMPOSICAO_DIARIA_INDICES[value_variation] * COMPOSICAO_DIARIA_INDICES[peso]
),
SUMX(
COMPOSICAO_DIARIA_INDICES,
COMPOSICAO_DIARIA_INDICES[peso]
)
)
DEVOLUCIÓN 1 + _promedio

El rendimiento acumulado de este índice se calcula de la siguiente manera:

cumulative_return_index =
CALCULAR(
PRODUCTOX(
VALORES(Calendario[Fecha]),
[daily_return_index]
),
FILTRO(
TODOS SELECCIONADOS(Calendario[Fecha]),
Calendario[Fecha] <= MÁXIMO(Calendario[Fecha])
)
)

Lo que me gustaría calcular es cuánto contribuye cada ticker a este rendimiento acumulado. La fórmula para calcularlo en una fecha determinada sería:

(rendimiento acumulado hasta esa fecha) * (value_variation del ticker en esa fecha * peso del ticker en esa fecha dividido por el peso total en esa fecha) / (rendimiento del índice en esa fecha).

Luego, la suma de todas estas contribuciones en cada fecha es la contribución total de ese ticker.

El cual calculo de la siguiente manera:

contribution_index =
CALCULAR (
SUMX (
VALORES ( Calendario[Fecha] ),
CALCULAR (
[cumulative_return_index],
TODOSEXCEPTO ( COMPOSICAO_DIARIA_INDICES, Calendario[Fecha] )
)
* (
CALCULAR (
SUMX (
COMPOSICAO_DIARIA_INDICES,
COMPOSICAO_DIARIA_INDICES[value_variation] * COMPOSICAO_DIARIA_INDICES[weight_index]
)
)
)
/ (
CALCULAR (
[daily_return_index],
TODOSEXCEPTO ( COMPOSICAO_DIARIA_INDICES, Calendario[Fecha] )
)
)
)
)

weight_index es esta medida:

weight_index =
VAR TotalWeight = CALCULATE(SUM('COMPOSICAO_DIARIA_INDICES'[weight]), ALLEXCEPT('COMPOSICAO_DIARIA_INDICES', 'Calendario'[Date]))
RETURN DIVIDE(SUMA('COMPOSICAO_DIARIA_INDICES'[peso]), PesoTotal)

Lo que estoy haciendo parece funcionar si no aplico ningún filtro por ticker. Pero si uso un filtro por ticker, los valores no cambian. Por ejemplo, si selecciono solo un ticker y su rendimiento durante el período fue del 20%, entonces su contribución también debería ser del 20%, ya que es el único seleccionado, pero el valor calculado es el mismo con todos los tickers

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Hola

Comparta algunos datos con los que trabajar y muestre el resultado esperado en formato de tabla. Comparta datos en un formato que se pueda pegar en un archivo de MS Excel. Si es posible, muestre los encabezados de las columnas en inglés.

Por supuesto, aquí hay un archivo de Excel con 5 días de datos:
https://docs.google.com/spreadsheets/d/19Lpfi-RaovDqNgOCzi58mjzDl6YJdj5f/edit?usp=drive_link&ouid=11...

Además, este es el resultado esperado:
https://docs.google.com/spreadsheets/d/1oz8CxdVENIoDobdXbzOceM7u5tU00_MI/edit?usp=drive_link&ouid=11...

Si te ayuda, este es el código Python que utilicé:

gsamenezes_0-1721004133651.png

Hola

En el propio archivo same_data, muestre el resultado controlado por la fórmula en Tab2. Traduciré esas fórmulas de Excel a fórmulas DAX.

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.

AugPowerBI_Carousel

Power BI Monthly Update - August 2024

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

August Carousel

Fabric Community Update - August 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors