Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
PowerBI123456
Post Partisan
Post Partisan

Comprobación de si se eliminó el código correcto

Hola, necesito ayuda y espero que esto tenga sentido. Tengo 2 tablas diferentes a continuación. La primera tabla son los datos. La segunda tabla indica la combinación de códigos que no pueden existir juntos para el mismo identificador y el código de columna 2 tendría que eliminarse, no el código de columna 1.

Por ejemplo, el ID A tiene los códigos 22222 y 33333. Dado que el código 22222 está en la columna 2, se eliminó y se mantuvo el código 33333. Cuando se elimina algo, los datos estarán en blanco, pero puede saber cuáles son los datos mirando la línea de pedido original.

Sin embargo, el siguiente ejemplo no es correcto. El ID B tiene los códigos 44444 y 11111. Pero en lugar de eliminar el código 11111, se eliminó el código 44444.

Tengo 100.000 filas que necesito revisar, ¿alguien sabe cómo hacerlo fácilmente en Power BI? Sólo estoy tratando de ver si el código correcto se eliminó o no.

PowerBI123456_0-1593639427018.png

PowerBI123456_1-1593639452280.png

16 REPLIES 16
v-diye-msft
Community Support
Community Support

Hola @PowerBI123456

No estoy seguro de si mi entendimiento es correcto.

Para el ID A, los datos deben compararse con la columna 2 de la tabla 2, si los datos existen en la columna 2, se deben eliminar. como 22222

Para el ID B, los datos deben compararse con la columna 1 de la tabla 2, si los datos existen en la columna1, entonces se deben eliminar. como 44444

Si la lógica anterior es correcta, puede referirse a mi siguiente medida:

Measure = 
SWITCH(SELECTEDVALUE('Table'[ID]),"A",IF(SELECTEDVALUE('Table'[Data]) in VALUES('Table (2)'[Column2]),BLANK(),MAX('Table'[Data])),"B",IF(SELECTEDVALUE('Table'[Data]) in VALUES('Table (2)'[Column1]),BLANK(),MAX('Table'[Data])
))

004.PNG

Pbix unido.

Community Support Team _ Dina Ye
If this post helps, then please consider Accept it as the solution to help the other members find it more
quickly.

@v-he-msft gracias!

Por lo tanto, los datos deben examinar ambas columnas. Desea ver si un identificador tiene la combinación de códigos (columna y columna 2), y si lo hace, su eliminación del código de columna 2, no el código de columna 1. Espero que tenga sentido.

Hola @PowerBI123456

¿Quiere decir que si hay ID tiene los códigos de la columna 1 y la columna 2, elimine el de la columna 2?

Pero, ¿por qué eliminar el 44444 en esta descripción a continuación? es de la columna 1.

" Sin embargo, el siguiente ejemplo no es correcto. El ID B tiene los códigos 44444 y 11111. Pero en lugar de eliminar el código 11111, se eliminó el código 44444. "

Community Support Team _ Dina Ye
If this post helps, then please consider Accept it as the solution to help the other members find it more
quickly.

@v-diye-msft Lo siento, debería haber sido más claro. Eso sería una constatación/excepción. Estoy tratando de encontrar casos donde se eliminó el código incorrecto. Espero que tenga sentido. ¡Gracias!

Hola - sólo ver si alguien tenía alguna idea, gracias de nuevo!

Un poco confundido en su escenario, pero creo que esto hace lo que usted está buscando. Suponiendo que tiene una relación entre la columna Datos y column1 de la segunda tabla, puede crear una columna calculada con esta expresión para identificar las eliminaciones perdidas.

Missed Deletion =
VAR __badcode =
    IF ( Codes[Item] = "Code1", RELATED ( BadCombos[Column2] ) )
RETURN
    IF (
        CALCULATE (
            COUNTROWS ( Codes ),
            ALLEXCEPT ( Codes, Codes[ID] ),
            Codes[Data] = __badcode,
            Codes[Item] <> "Code1"
        ) > 0,
        "Missed Deletion"
    )

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita

@mahoneypat gracias!! ¿Dónde tiene en cuenta el código los códigos de columna 1 y por qué el código item-"código 1"?

Los códigos de columna 1 se tienen en cuenta a través de la relación. Además, vi en el primer ejemplo las filas tenían Code1 en el primer valor y para la eliminación, y luego Code2 para el nuevo/correcto. Asumí (tal vez incorrectamente) que era un error tipográfico en el segundo conjunto de filas de ejemplo no tenía 1 o 2 junto a los códigos. Por favor, confirme que mi suposición era incorrecta, y puedo proponer una medida diferente.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


@mahoneypat ¡Gracias! Olvidé mencionar que será una relación de muchos a muchos si lo hago de esa manera. Vea a continuación.

PowerBI123456_0-1594053555374.png

Entonces, ¿los datos tienen Code1, Code2? Si no es así, ¿hay alguna manera de diferenciar el código inicial frente al código de reemplazo? ¿Columna DateTime? ¿O alguna combinación de los dos códigos en cualquiera de los dos ordenes siempre es un error?

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


@mahoneypat no los datos no tienen código 1, código 2. Creo que tu código es correcto, pero no puedo crear una relación ya que son muchos a muchos.

Asumo que hay alguna columna DateTime o algo para diferenciar qué código fue primero (una secuencia es correcta, la otra incorrecta). Si es así, puede usar esa columna. Si no es así, hice una columna Index en el editor de consultas de la tabla y pude detectar la eliminación perdida con esta expresión de columna. No se requiere ninguna relación con la otra tabla.

Missed Deletion =
VAR __index =
    MIN ( Codes[Index] )
VAR __badcode =
    CALCULATE (
        MIN ( BadCombos[Column2] ),
        BadCombos[Column1] = EARLIER ( Codes[Data] )
    )
RETURN
    IF (
        NOT ( ISBLANK ( __badcode ) ),
        IF (
            CALCULATE (
                COUNTROWS ( Codes ),
                ALLEXCEPT ( Codes, Codes[ID] ),
                Codes[Index] > __index,
                Codes[Data] = __badcode
            ) > 0,
            "Missed Deletion"
        )
    )

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


@mahoneypat ¿Sería capaz de proporcionar un archivo de ejemplo para que pueda echar un vistazo?

@mahoneypat Quiero ver la columna de índice que ha creado.

No hice la columna de índice con DAX. Lo hice en el editor de consultas usando el botón de la pestaña Agregar columna. Aquí está el código M, pero es simplemente la adición simple de columna de índice.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUXLOT0k1BNL+RZnpmXmJOUCmEQgoxeqgKnBJzUktSQUyUGSMULUagwBYgRN2s01AAEMBqtlO2M02BAGl2FgA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t, Item = _t, Operation = _t, Data = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", type text}, {"Item", type text}, {"Operation", type text}, {"Data", Int64.Type}}),
    #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 1, 1)
in
    #"Added Index"

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


@mahoneypat Hola - lo siento por la respuesta retrasada, pero su código está teniendo en cuenta la operación? Por ejemplo, quiero ver eliminado.

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors