Encuentre el primer valor que no esté en blanco y repítalo para el mismo ID

Un usuario Pregunto ✅

Por favor, ayude a redactar una medida de dax. TPID tiene varios administradores (MWA) y necesito repetir el primer administrador para el mismo tpid. Como se muestra abajo

Valores deseados de TPID MWA

1 Jame Jame
1 Porra Jame
1 Camy Jame
1 Porra Jame
2 Porra
2 Porra Porra
2 Camy Porra
2 Porra
3 Ammar Ammar
3 Ammar Ammar
3 Ammar
3 Camy Ammar

Hola @ahmedaldafaae,

Según tengo entendido, desea utilizar el primer valor que no esté en blanco en cada grupo de identificación como el valor del mismo grupo, ¿verdad?

Puede usar la siguiente fórmula después de agregar una columna de índice:

Measure =
VAR _firstnoblank =
    CALCULATE (
        MIN ( 'Table'[Index] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[TPID] = MAX ( 'Table'[TPID] )
                && 'Table'[MWA] <> BLANK ()
        )
    )
RETURN
    CALCULATE (
        MAX ( 'Table'[MWA] ),
        FILTER ( ALL ( 'Table' ), 'Table'[Index] = _firstnoblank )
    )

Mi visualización se ve así:
11.3.3.1.PNG

Aquí está el archivo pbix.

¿He respondido a tu pregunta? Marque mi respuesta como una solución. Muchas gracias.
De lo contrario, cargue algunas muestras de datos insensibles y resultados esperados.

Atentamente
Eyelyn Qin

Hola @ahmedaldafaae,

Según tengo entendido, desea utilizar el primer valor que no esté en blanco en cada grupo de identificación como el valor del mismo grupo, ¿verdad?

Puede usar la siguiente fórmula después de agregar una columna de índice:

Measure =
VAR _firstnoblank =
    CALCULATE (
        MIN ( 'Table'[Index] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[TPID] = MAX ( 'Table'[TPID] )
                && 'Table'[MWA] <> BLANK ()
        )
    )
RETURN
    CALCULATE (
        MAX ( 'Table'[MWA] ),
        FILTER ( ALL ( 'Table' ), 'Table'[Index] = _firstnoblank )
    )

Mi visualización se ve así:
11.3.3.1.PNG

Aquí está el archivo pbix.

¿He respondido a tu pregunta? Marque mi respuesta como una solución. Muchas gracias.
De lo contrario, cargue algunas muestras de datos insensibles y resultados esperados.

Atentamente
Eyelyn Qin

En respuesta a Eyelyn9

Gracias

¡¡Simplemente funciona !!

Fowmy

@ahmedaldafaae

Probé una solución de Power Query agregando solo una columna personalizada:

Fowmy_0-1604217490883.png

Pegue el siguiente código en una consulta en blanco en el Editor avanzado y verifique el paso agregado.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUfJKzE1VitWBcJwyc3Iq4TznxNxKLFJGQJ4CnIUqDteCUGQMZDnm5iYW4eAhVEE0xwIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [TPID = _t, MWA = _t]),
    #"Added Custom" = Table.AddColumn(Source, "New MWA", (r)=>  List.First(Table.SelectRows(Source, each [TPID]  = r[TPID] and [MWA] <> " ")[MWA]))
in
    #"Added Custom"

________________________

Si mi respuesta fue útil, considere Acéptalo como la solución para ayudar a los otros miembros a encontrarlo

Clickea en el Icono de pulgar hacia arriba si te gusta esta respuesta 🙂

YouTube LinkedIn

Allison Kennedy

¿Hay otra columna que determine el orden? Necesitamos una forma de decirle a Power BI qué valor es ‘primero’. Si no tiene una columna para esto, use Power Query Editor para agregar una columna de índice.

Entonces puede usar algo similar a esto como una columna calculada:

MWA deseado =
VAR _ThisTPID = ‘Tabla'[TPID]
VAR _tblTPIDvalues ​​= FILTER (ALL (‘Tabla’), ‘Tabla'[TPID] = _ThisTPID && NOT (ISBLANK (‘Tabla'[MWA])))
VAR _Index = MINX (_tblTPIDvalues, ‘Tabla'[Index])
REGRESO
MINX (FILTRO (_tblTPIDvalues, _Index = ‘Tabla'[Index]), ‘Tabla'[MWA])

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *