Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
4 years ago

indefinido

Quiero reemplazar el valor nulo en la columna con el valor promedio del valor anterior y el valor siguiente ,. ¿Cómo puedo lograrlo?

2 Replies

  • hola @YasserGaber : con Power Query, puede agregar 3 columnas de índice. el 1º comienza en cero, el 2º comienza en 1, y luego el 3º comienza en 2. En este punto, utilice Table.Buffer(). Esta tabla almacenada en búfer se puede unir dos veces. La primera unión está entre el 2º índice ( fila x ) y el 1º índice (es decir, la fila x +1 ), la segunda unión está entre el 2º índice ( fila x ) y el 3º índice (es decir, la fila x - 1). Ahora puede expandirse para tener 3 columnas de cantidad: Valor de fila actual, Valor de fila siguiente y Valor de fila anterior. Luego tenga una declaración If como:

     if [Current Row Value] <> null then [Current Row Value] else List.Average( { [Next Row Value] , [Previous Row Value] } )  

  • @YasserGaber ,

    Si no hay valores nulos consecutivos, pruebe esta columna calculada.

    Column = 
    VAR _value = 'Table'[Value]
    VAR _avg =
        AVERAGEX (
            FILTER (
                'Table',
                'Table'[Index]
                    >= EARLIER ( 'Table'[Index] ) - 1
                    && 'Table'[Index]
                        <= EARLIER ( 'Table'[Index] ) + 1
            ),
            'Table'[Value]
        )
    VAR _result =
        IF ( 'Table'[Value] <> BLANK (), 'Table'[Value], _avg )
    RETURN
        _result

    Archivo PBIX adjunto como referencia.

    Saludos
    Gao

    Equipo de soporte de la comunidad

    Si hay alguna publicación que ayude, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente. Si no entiendo bien sus necesidades o todavía tiene problemas, no dude en hacérnoslo saber. ¡Muchas gracias!

    Cómo obtener respuestas rápidas a sus preguntas -- Cómo proporcionar datos de muestra