cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Eliminación de duplicados, mantenimiento de filas en las que un campo contiene un valor determinado

Obtuve una tabla calculada de 3 columnas. Hay más de un millón de filas y unos pocos miles de teclas principales en la tabla.

Para simplificar, las ocho filas superiores solo se muestran a continuación.

Challange: Para la clave mayor = K-1 hay dos de Color = Verde.
Quiero eliminar una de las filas del color verde dentro de la tecla principal K-1, asegurándome de mantener la fila con una X en la columna Bandera.
¿Es posible usar DAX?
Soy nuevo en DAX, así que por favor disculpe si esto fue demasiado trival.

¡Gracias!

Tabla actual:

Clave principalBanderaColor
K-1XRojo
K-1 Azul
K-1XVerde
K-1 Verde
K-1XBlanco
K-1XAmarillo
K-2 Negro
K-2XBlanco

Resultado deseado, Major key + Color se han convertido en únicos:

Clave principalBanderaColor
K-1XRojo
K-1 Azul
K-1XVerde
K-1XBlanco
K-1XAmarillo
K-2 Negro
K-2XBlanco
2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

Hay @rjoha ,

Cree una nueva tabla:

Table 2 =
VAR tab =
    ADDCOLUMNS (
        'Table',
        "column",
            COUNTROWS (
                FILTER (
                    'Table',
                    'Table'[Major key] = EARLIER ( [Major key] )
                        && 'Table'[Colour] = EARLIER ( [Colour] )
                        && 'Table'[Flag] > EARLIER ( [Flag] )
                )
            )
    )
RETURN
    CALCULATETABLE (
        DISTINCT ( 'Table' ),
        FILTER (
            tab,
            'Table'[Flag] <> BLANK ()
                || (
                    'Table'[Flag] = BLANK ()
                        && [column] = BLANK ()
                )
        )
    )

image.png

Si el problema aún no se resuelve, proporcione información detallada sobre el error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.

Saludos
Winniz

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

View solution in original post

Eventualmente, consiguió que este simple RESUMEN funcionara:

tab2 = RESUMIR(
ficha1,
tab1[Clave principal],
tab1[Color],
"Flag", CALCULATE(MAX(tab1[Flag]))
)

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Hay @rjoha ,

Cree una nueva tabla:

Table 2 =
VAR tab =
    ADDCOLUMNS (
        'Table',
        "column",
            COUNTROWS (
                FILTER (
                    'Table',
                    'Table'[Major key] = EARLIER ( [Major key] )
                        && 'Table'[Colour] = EARLIER ( [Colour] )
                        && 'Table'[Flag] > EARLIER ( [Flag] )
                )
            )
    )
RETURN
    CALCULATETABLE (
        DISTINCT ( 'Table' ),
        FILTER (
            tab,
            'Table'[Flag] <> BLANK ()
                || (
                    'Table'[Flag] = BLANK ()
                        && [column] = BLANK ()
                )
        )
    )

image.png

Si el problema aún no se resuelve, proporcione información detallada sobre el error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.

Saludos
Winniz

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

View solution in original post

Eventualmente, consiguió que este simple RESUMEN funcionara:

tab2 = RESUMIR(
ficha1,
tab1[Clave principal],
tab1[Color],
"Flag", CALCULATE(MAX(tab1[Flag]))
)

View solution in original post

Syndicate_Admin
Administrator
Administrator

Esto es fácilmente posible en el Editor de consultas

Ordene los datos usando KeyFlag para que todas las "X" estén en la parte superior.

Ahora el código generado automáticamente será algo así como

Table.Sort(#'STEPNAME',{{keyFlag,Order.Descending}}) <-- No estoy seguro de si esto será descendente o descendente, pero solo obtengo "X para estar en la cima"

Modificar el código agregar Table.Buffer

to be =Table.Buffer (Table.Sort(#'STEPNAME',{{keyFlag,Order.Descending}}))

ahora elimine los duplicados seleccionando la columna "Mayor" y "Color"

Esto debería obtener el resultado.

Saludos

Moiz

Si esta publicación ayuda, por favor "Aceptarla" como Solución para ayudar a otros miembros a encontrarla.

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

November Power BI Update 768x460.png

Check it Out!

Click here to read more about the November 2021 Updates!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Top Solution Authors