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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Syndicate_Admin
Administrator
Administrator

regla de tres - Dynamic Dax

Hola Comunidad,

Aquí hay una muestra de mi conjunto de datos

AñoMesMarca de cochesProporciónIndexValue
20201Bmw0,55
20201Peugeot0,13
20201Dacia0,16
20201Mercedes0,38
20202Dacia0,11
20202Mercedes0,32
20203Bmw0,55
20203Peugeot0,15
20203Dacia0,16
20203Mercedes0,31
20204Bmw0,55
20204Peugeot0,13
20204Dacia0,16
20204Mercedes0,38
20205Dacia0,17
20206Bmw0,58
20206Peugeot0,15
20206Dacia0,16
20206Mercedes0,34
20207Bmw0,53
20207Peugeot0,13
20207Dacia0,15
20207Mercedes0,31
20208Dacia0,11
20209Bmw0,56
20209Peugeot0,16
20209Dacia0,16
20209Mercedes0,31
202010Bmw0,54
202010Peugeot0,14
202010Dacia0,16
202010Mercedes0,35
202011Bmw0,54
202011Peugeot0,15
202011Dacia0,18
202011Mercedes0,31
202012Bmw0,58
202012Peugeot0,13
202012Dacia0,18
202012Mercedes0,38

Hay 4 marcas de automóviles distintas y cada marca de automóviles tiene un valor de proporción que es el mismo cada mes durante todo el año.

Las 4 marcas de automóviles distintas y su proporción son las siguientes:

Bmw0,5
Peugeot0,1
Dacia0,1
Mercedes0,3

El total de la proporción de las 4 marcas juntas equivaldría al 100 por ciento (1,0).

Ahora, tengo que multiplicar la columna de proporción por la columna de valor de índice en cada fila para obtener un valor para cada mes. Esto es hasta ahora un simple dax.

CALCULATE(SUMX([Proporción]*[IndexValue])

Sin embargo, aquí es donde se vuelve complicado para mi dax: no todos los autos tienen valores de índice cada mes, por lo tanto, necesito ajustar mi fórmula dax. Por ejemplo, en febrero, solo vemos 2 marcas de automóviles.

Por lo tanto, mi fórmula sería la siguiente: (valor de marca de automóvil / (suma de los valores de marca de automóviles presentes en cada mes))* valor de índice.

Por ejemplo, para el mes de febrero, tendría

((0,1/(0,1+0,3))*1) + (0,3/(0,1+0,3))*2

Chrisjr_0-1675871468945.png

Entonces, ¿cómo puedo hacer que esta formua sea dinámica?

Gracias por la ayuda. Espero que mi explicación no haya sido desordenada.

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

@Chrisjr

Puede probar la siguiente columna.

Column = 
var a=CALCULATE(SUM('Table'[Proportion]),ALLEXCEPT('Table','Table'[Year],'Table'[Month]))
return CALCULATE(SUMX('Table',[IndexValue]*([Proportion]/a)),ALLEXCEPT('Table','Table'[Year],'Table'[Month]))

vxinruzhumsft_1-1675909695398.png

¡Saludos!

Yolo Zhu

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

@Chrisjr puedes escribir una medida como esta

Measure =
VAR propByYrMo =
    CALCULATE (
        SUM ( 'fact'[Proportion] ),
        ALLEXCEPT ( 'fact', 'fact'[Year], 'fact'[Month] )
    )
VAR ratio =
    DIVIDE ( MAX ( 'fact'[Proportion] ), propByYrMo ) * MAX ( 'fact'[IndexValue] )
RETURN
    ratio

PFA

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors