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

Encontrar la mediana y el cuartil superior de una categoría en función de las cifras de otra medida del DAX

Contexto

Tengo una tabla que contiene una lista de carteras, sus rendimientos mensuales y categoría.

Tabla 1

Cartera FechaRentabilidad mensualCategoría
A31-ene-241.00%X
A29-feb-240.50%X
B31-ene-240.20%X
B29-feb-240.30%X
C31-ene-242.00%Y
C29-feb-242.50%Y
D31-ene-24-0.10%Y
D29-feb-24-0.80%Y

Utilizando los datos de la Tabla 1, calculo dinámicamente la rentabilidad anualizada de cada cartera según las fechas seleccionadas en mi segmentación de datos con la siguiente medida DAX:

Return_Annualised = 
VAR DateSlicerStart = MIN('Table 1'[Date])
VAR DateSlicerEnd = MAX('Table 1'[Date])
VAR AnnualisationFactor = DIVIDE(DateSlicerEnd - EOMONTH(DateSlicerStart, -1), 365)

RETURN
    POWER(PRODUCTX('Table 1', 1 + 'Table 1'[Monthly Return]), 1/AnnualisationFactor)-1

Esto me da el siguiente resultado:

spart_1337_1-1716094461541.png

Mi pregunta

A partir de este resultado, ¿cómo puedo gy té:

1) ¿Rentabilidad media anualizada para cada categoría?

2) Rentabilidad anualizada del cuartil superior (si hay 4 o más puntos de datos) para cada categoría, si es inferior a 4 puntos de datos, ¿devolución en blanco?

Ejemplo de salida deseada:

spart_1337_2-1716095598344.png

Agradezco cualquier ayuda.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Se resuelve utilizando lo siguiente para la mediana:

Median_Annualised_Return = 
CALCULATE(
    MEDIANX(
        SUMMARIZE(
            'Table 1',
            'Table 1'[Portfolio],
            'Table 1'[Category],
            "AnnualisedReturn", [Return_Annualised]
        ),
        [AnnualisedReturn]
    ),
    ALLEXCEPT('Table 1', 'Table 1'[Category])
)

Para el cuartil superior:

TopQuartile_Annualised_Return = 
VAR AnnualisedReturns = 
CALCULATETABLE(
    ADDCOLUMNS(
        SUMMARIZE(
            'Table 1',
            'Table 1'[Portfolio],
        ),
        "AnnualisedReturn",[AnnualisedReturn]
    ),
    ALLEXCEPT('Table 1', 'Table 1'[Category])
)
VAR ReturnCount = COUNTROWS(AnnualisedReturns)
VAR TopQuartileReturn =
IF(
    ReturnCount >=4,
    PERCENTILE.EXC(AnnualisedReturns, [Annualised_Return], 0.75),
    BLANK()
)

RETURN TopQuartileReturn

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Se resuelve utilizando lo siguiente para la mediana:

Median_Annualised_Return = 
CALCULATE(
    MEDIANX(
        SUMMARIZE(
            'Table 1',
            'Table 1'[Portfolio],
            'Table 1'[Category],
            "AnnualisedReturn", [Return_Annualised]
        ),
        [AnnualisedReturn]
    ),
    ALLEXCEPT('Table 1', 'Table 1'[Category])
)

Para el cuartil superior:

TopQuartile_Annualised_Return = 
VAR AnnualisedReturns = 
CALCULATETABLE(
    ADDCOLUMNS(
        SUMMARIZE(
            'Table 1',
            'Table 1'[Portfolio],
        ),
        "AnnualisedReturn",[AnnualisedReturn]
    ),
    ALLEXCEPT('Table 1', 'Table 1'[Category])
)
VAR ReturnCount = COUNTROWS(AnnualisedReturns)
VAR TopQuartileReturn =
IF(
    ReturnCount >=4,
    PERCENTILE.EXC(AnnualisedReturns, [Annualised_Return], 0.75),
    BLANK()
)

RETURN TopQuartileReturn

Syndicate_Admin
Administrator
Administrator

Hola

Comparta el enlace de descarga del archivo PBI.

Hola @Ashish_Mathur estaría más que feliz de compartir el archivo si hubiera una opción para adjuntarlo directamente a la publicación. Si alguno de ustedes en Microsoft está leyendo esto, sería genial si pudiera agregar esta función.

Helpful resources

Announcements
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.