The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event: Join us in Stockholm, September 24-27, 2024.
Save €200 with code MSCUST on top of early bird pricing!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
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.
El rendimiento acumulado de este índice se calcula de la siguiente manera:
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:
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
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é:
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.
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the August 2024 Power BI update to learn about new features.