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

Asignar valor de medida en Columna calculada

Quiero asignar debajo del valor de medida como columna calculada

Al colocar la fórmula de Medir en la columna Calculado. Estoy recibiendo una columna en blanco.

A_B_ = 
VAR Correlation_Table =
    FILTER (
        ADDCOLUMNS (
            VALUES ( Demo_NumericalData[Access code] ),
            "Value_X", CALCULATE ( SUM ( Demo_NumericalData[A] ) ),
            "Value_Y", CALCULATE ( SUM ( Demo_NumericalData[B] ) )
        ),
        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 )
6 REPLIES 6
amitchandak
Super User
Super User

@maqsud, cualquier medida no tomará el valor predeterminado del parámetro, también Sumx aquí significa total general. Así que si no es necesario total general no utilice suma / mínimo máximo, etc.

tal vez así

A_B_ = 
VAR Correlation_Table =
    FILTER (
        ADDCOLUMNS (
            VALUES ( Demo_NumericalData[Access code] ),
            "Value_X", CALCULATE ( SUM ( Demo_NumericalData[A] ) ),
            "Value_Y", CALCULATE ( SUM ( Demo_NumericalData[B] ) )
        ),
        AND (
            NOT ( ISBLANK ( [Value_X] ) ),
            NOT ( ISBLANK ( [Value_Y] ) )
        )
    )
VAR Count_Items =
    COUNTROWS ( Correlation_Table )
VAR Sum_X =
     ( Correlation_Table, [Value_X] )
VAR Sum_X2 =
     ( Correlation_Table, [Value_X] ^ 2 )
VAR Sum_Y =
     ( Correlation_Table, [Value_Y] )
VAR Sum_Y2 =
     ( Correlation_Table, [Value_Y] ^ 2 )
VAR Sum_XY =
     ( 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 )

@amitchandak, Esto me da Operador o la expresión '( )' no se admite en este error de contexto.

Y también me da error como tupla no espuesta en la línea VAR SUM_X, SUM_X2, SUM_Y, SUM_Y2, SUM_XY.

@amitchandak, Aquí, estoy tratando de calcular la correlación de Pearson de la columna A y la columna B.

AntrikshSharma
Community Champion
Community Champion

¿Puede cargar el archivo? También creo que puedes reescribir el código de la siguiente manera:

A_B_ =
VAR Correlation_Table =
    FILTER (
        ADDCOLUMNS (
            VALUES ( Demo_NumericalData[Access code] ),
            "Value_X", CALCULATE ( SUM ( Demo_NumericalData[A] ) ),
            "Value_Y", CALCULATE ( SUM ( Demo_NumericalData[B] ) )
        ),
        [Value_X] > 0
            && [Value_Y] > 0
    )
VAR Count_Items =
    COUNTROWS ( Correlation_Table )
VAR Sum_X =
    SUMX ( Correlation_Table, [Value_X] )
VAR Sum_X2 = Sum_X ^ 2
VAR Sum_Y =
    SUMX ( Correlation_Table, [Value_Y] )
VAR Sum_Y2 = Sum_Y ^ 2
VAR Sum_XY =
    SUMX ( Correlation_Table, [Value_X] * [Value_Y] )
VAR Pearson_Numerator = Count_Items * Sum_XY - Sum_XY
VAR Pearson_Denominator_X = Count_Items * Sum_X2 - Sum_X2
VAR Pearson_Denominator_Y = Count_Items * Sum_Y2 - Sum_Y2
VAR Pearson_Denominator =
    SQRT ( Pearson_Denominator_X * Pearson_Denominator_Y )
RETURN
    DIVIDE ( Pearson_Numerator, Pearson_Denominator )

@AntrikshSharma, Esto también me está dando Columna en blanco.

Sí, el comportamiento es el mismo que la medida original que acabo de hacer menos detallado, ya que una medida se llama en un contexto de fila creado por la columna calculada hay una transición de contexto sucediendo y sin mirar los datos es imposible saber por qué la medida devuelve en blanco.

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.