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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
maqsud
Helper III
Helper III

Calcular correlación entre varias columnas

Tengo el nombre de la tabla Datos importados en PowerBI

IdIMPTEXT1IMPTEXT2A
1454.5
2544.3
3444.7

Quiero Tabla en PowerBI que puede calcular la correlación entre IMPTEXT1 con A e IMPTEXT2 con A.

Algún nombre de columnaA
IMPTEXT10.78 (algún valor de correlación)
IMPTEXT20.85 (algún valor de correlación)

Intenté seguir, pero esta medida me da un solo valor de correlación. Y estoy buscando Table en PowerBI que se puede calcular a través de algunos DAX.

Correlation Coefficient = 
VAR Correlation_Table =
    FILTER (
        ADDCOLUMNS (
            VALUES ( Data[ID] ),
            "Value_X", CALCULATE ( SUM ( Data[IMPTEXT1] ) ),
            "Value_Y", CALCULATE ( SUM ( Data[IMPTEXT2] ) )
        ),
        AND (
            NOT ( ISBLANK ( [Value_X] ) ),
            NOT ( ISBLANK ( [Value_Y] ) )
        )
    )
VAR Count_Items =
    COUNTROWS ( Correlation_Table )
VAR Sum_X =
    SUMX ( Correlation_Table, [Value_X] )
VAR Sum_X2 =
    SUMX ( Correlation_Table, [Value_X] ^ 2 )
VAR Sum_Y =
    SUMX ( Correlation_Table, [Value_Y] )
VAR Sum_Y2 =
    SUMX ( Correlation_Table, [Value_Y] ^ 2 )
VAR Sum_XY =
    SUMX ( Correlation_Table, [Value_X] * [Value_Y] )
VAR Pearson_Numerator =
    Count_Items * Sum_XY - Sum_X * Sum_Y
VAR Pearson_Denominator_X =
    Count_Items * Sum_X2 - Sum_X ^ 2
VAR Pearson_Denominator_Y =
    Count_Items * Sum_Y2 - Sum_Y ^ 2
VAR Pearson_Denominator =
    SQRT ( Pearson_Denominator_X * Pearson_Denominator_Y )
RETURN
    DIVIDE ( Pearson_Numerator, Pearson_Denominator )

Gracias por el tiempo y la consideración.

3 REPLIES 3
v-easonf-msft
Community Support
Community Support

Hola , @maqsud

El Dax que proporcionó es solo para calcular la correlación entre IMPTEXT1 e IMPTEXT2, por lo que le proporciona un único valor de correlación.

Creo que lo que quieres es calcular la correlación entre IMPTEXT1 y A

Correlation Coefficient_IMPTEXT1 = 
VAR Correlation_Table =
    FILTER (
        ADDCOLUMNS (
            VALUES ( Data[ID] ),
            "Value_X", CALCULATE ( SUM ( Data[IMPTEXT1] ) ),
            "Value_Y", CALCULATE ( SUM ( Data[A] ) )
        ),
        AND (
            NOT ( ISBLANK ( [Value_X] ) ),
            NOT ( ISBLANK ( [Value_Y] ) )
        )
    )
VAR Count_Items =
    COUNTROWS ( Correlation_Table )
VAR Sum_X =
    SUMX ( Correlation_Table, [Value_X] )
VAR Sum_X2 =
    SUMX ( Correlation_Table, [Value_X] ^ 2 )
VAR Sum_Y =
    SUMX ( Correlation_Table, [Value_Y] )
VAR Sum_Y2 =
    SUMX ( Correlation_Table, [Value_Y] ^ 2 )
VAR Sum_XY =
    SUMX ( Correlation_Table, [Value_X] * [Value_Y] )
VAR Pearson_Numerator =
    Count_Items * Sum_XY - Sum_X * Sum_Y
VAR Pearson_Denominator_X =
    Count_Items * Sum_X2 - Sum_X ^ 2
VAR Pearson_Denominator_Y =
    Count_Items * Sum_Y2 - Sum_Y ^ 2
VAR Pearson_Denominator =
    SQRT (ABS( Pearson_Denominator_X * Pearson_Denominator_Y ))
RETURN
    DIVIDE ( Pearson_Numerator, Pearson_Denominator )

y la correlación entreIMPTEXT2and A .

Correlation Coefficient_IMPTEXT2 = 
VAR Correlation_Table =
    FILTER (
        ADDCOLUMNS (
            VALUES ( Data[ID] ),
            "Value_X", CALCULATE ( SUM ( Data[IMPTEXT2] ) ),
            "Value_Y", CALCULATE ( SUM ( Data[A] ) )
        ),
        AND (
            NOT ( ISBLANK ( [Value_X] ) ),
            NOT ( ISBLANK ( [Value_Y] ) )
        )
    )
VAR Count_Items =
    COUNTROWS ( Correlation_Table )
VAR Sum_X =
    SUMX ( Correlation_Table, [Value_X] )
VAR Sum_X2 =
    SUMX ( Correlation_Table, [Value_X] ^ 2 )
VAR Sum_Y =
    SUMX ( Correlation_Table, [Value_Y] )
VAR Sum_Y2 =
    SUMX ( Correlation_Table, [Value_Y] ^ 2 )
VAR Sum_XY =
    SUMX ( Correlation_Table, [Value_X] * [Value_Y] )
VAR Pearson_Numerator =
    Count_Items * Sum_XY - Sum_X * Sum_Y
VAR Pearson_Denominator_X =
    Count_Items * Sum_X2 - Sum_X ^ 2
VAR Pearson_Denominator_Y =
    Count_Items * Sum_Y2 - Sum_Y ^ 2
VAR Pearson_Denominator =
    SQRT ( ABS(Pearson_Denominator_X * Pearson_Denominator_Y ))
RETURN
    DIVIDE ( Pearson_Numerator, Pearson_Denominator )

Si malinterpreta lo que quieres decir, por favor siéntete libre de hacérmelo saber.

Saludos
Equipo de soporte de la comunidad _ Eason

harshnathani
Community Champion
Community Champion

Hola @maqsud ,

Por favor, compruebe si esto ayuda.

https://www.youtube.com/watch?v=xtRXakHARZg

saludos

Harsh Nathani

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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