cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Regular Visitor

Filtrado de filas en función de la secuencia en cascada

Hola

Tengo datos en el formato que se indica a continuación.

ID de muestraModeloSK
BH00345

mm23

0.0290.443
BH00345mm150.0220.018
BH00345mm140.0471.228
BH00345

gm23

0.040.669
BH00345gm150.0572.709
BH00345gm140.0420.883
BH00746

mm24

0.1130.32
BH00746mm230.0460.11
BH00746mm150.0190.658
BH00746

gm24

0.0230.129
BH00746gm230.0190.127
BH00746gm150.1440.031
BH00964mm240.1750.519
BH00964mm230.1410.513
BH00964gm240.1710.403
BH00964gm230.1670.031
BH00583mm230.0390.029
BH00583gm230.0640.115

Los ejemplos tienen datos para los tipos de modelo mm y gm y para varias iteraciones de cada modelo, tal como se indica en el número de sufijo del modelo.

Los ejemplos más recientes no contienen datos para todos los modelos más antiguos.

Las muestras más antiguas no contienen datos para todos los modelos más recientes.

Quiero condensar la tabla para que la columna Sample ID contenga valores únicos y cada fila contenga datos del modelo mm más reciente.

Eg. para la tabla anterior, me gustaría que la salida diera

ID de muestraModeloSK
BH00345

mm23

0.0290.443
BH00746

mm24

0.1130.32
BH00964mm240.1750.519
BH00583mm230.0390.029

El conjunto de datos completo contiene 3554 filas y 747 códigos de id de muestra únicos

Gracias por tu ayuda

<editar. lo siento por la mesa horrendous!! No puedo cambiar el ancho de las columnas>

1 ACCEPTED SOLUTION
Community Support
Community Support

Hola @mef47 ,

Podemos usar Power Query Editor para satisfacer sus necesidades.

1. Filtre la columna Modelo, elimine las filas que contienen "gm".

F1.jpg

2. Ordenamos el ID de muestra Ascendente y ordenamos el Modelo Descendente.

F2.jpg

3. Luego necesitamos agrupar la columna Sample ID.

F3.jpg

4. Y podemos agregar una columna personalizada para agregar una columna de índice. Cada grupo tiene una columna de índice.

F4.jpg

5. Elimine las dos primeras columnas. Y expanda la última columna.

F5.jpg

6. Por fin necesitamos filtrar la columna Rango igual a 1, luego eliminar la columna de rango.

F6.jpg

F7.jpg

La tabla de resultados solo tiene cuatro filas.

Si no cumple con sus requisitos, ¿podría mostrar el resultado esperado exacto basado en la tabla que ha compartido?

Saludos

Equipo de apoyo a la comunidad _ zhenbw

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

BTW, pbix como adjunto.

View solution in original post

3 REPLIES 3
Community Support
Community Support

Hola @mef47 ,

Podemos usar Power Query Editor para satisfacer sus necesidades.

1. Filtre la columna Modelo, elimine las filas que contienen "gm".

F1.jpg

2. Ordenamos el ID de muestra Ascendente y ordenamos el Modelo Descendente.

F2.jpg

3. Luego necesitamos agrupar la columna Sample ID.

F3.jpg

4. Y podemos agregar una columna personalizada para agregar una columna de índice. Cada grupo tiene una columna de índice.

F4.jpg

5. Elimine las dos primeras columnas. Y expanda la última columna.

F5.jpg

6. Por fin necesitamos filtrar la columna Rango igual a 1, luego eliminar la columna de rango.

F6.jpg

F7.jpg

La tabla de resultados solo tiene cuatro filas.

Si no cumple con sus requisitos, ¿podría mostrar el resultado esperado exacto basado en la tabla que ha compartido?

Saludos

Equipo de apoyo a la comunidad _ zhenbw

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

BTW, pbix como adjunto.

View solution in original post

Super User II
Super User II

Hola @mef47 -

Suponiendo que el modelo "último" será el MM con el número más alto, podemos crear las siguientes 3 medidas:

Latest Model = CALCULATE(MAX(Samples[Model]))

Latest K =
VAR __model = [Latest Model]
VAR __sample =
    SELECTEDVALUE ( Samples[Sample ID] )
RETURN
    LOOKUPVALUE (
        Samples[K],
        Samples[Model], __model,
        Samples[Sample ID], __sample
    )

Latest S =
VAR __model = [Latest Model]
VAR __sample =
    SELECTEDVALUE ( Samples[Sample ID] )
RETURN
    LOOKUPVALUE (
        Samples[S],
        Samples[Model], __model,
        Samples[Sample ID], __sample
    )

Cree un objeto visual de tabla, coloque Sample ID como el primer valor y, a continuación, las 3 medidas:

2020-08-10 11_19_53-N_and_BASE_problem (3) - Power BI Desktop.png

Espero que esto ayude,

David




Proud to be a Super User!




Hola David

No es exactamente lo que buscaba, pero lo suficientemente útil como para llevarme a donde quería ir.

La función ALLEXCEPT lo que buscaba

Terminé yendo con:

LATEST_MODEL : CALCULATE(MAX('Samples'[MODEL]),ALLEXCEPT('Samples','Samples'[Sample ID]))
Gracias

Helpful resources

Announcements
secondImage

Happy New Year from Power BI

This is a must watch for a message from Power BI!

December Update

Check it Out!

Click here to read more about the December 2020 Updates!

Community Blog

Check it Out!

Click here to read the latest blog and learn more about contributing to the Power BI blog!

Get Ready for Power BI Dev Camp

Get Ready for Power BI Dev Camp

Mark your calendars and join us for our next Power BI Dev Camp!.

Top Solution Authors