Forum Discussion

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

extraer todo excepto...

Tengo una lista delimitada de artículos. Quiero poder crear una nueva columna y extraer una parte específica de la lista. Quiero extraer los 'otros' comentarios, de las constantes. La lista de constantes es:

programa de bonificación

esfuerzos de regonición

programa de bienestar

Aniversarios

otro (esta es la parte que quiero extraer)

Así que en la línea uno, a continuación, quiero extraer : más opciones de vending

en la línea dos, quiero extraer - más tiempo libre

en la línea tres, no quiero extraer nada (tal vez un valor nulo a la nueva columna)

programa de bonificación;esfuerzos de reconocimiento;programa de bienestar;aniversarios;más opciones de venta;
esfuerzos de reconocimiento;programa de bonificación;más tiempo libre;programa de bienestar;
programa de bienestar;programa de bonificación;aniversarios;

  • Hay @pbrainard

    Descargue PBIX de ejemplo con el siguiente código

    Puede hacerlo en Power Query con este código

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("bY5BCsMwDAS/InzOD/wU44PTro0gloLkpt8vzSWY5LrszmxKYVX5OO2mzUqPhpc24cEqhFrVhscvtk3gV6mI8AHzYgyPXQ10QN4sjXT/Tz2GvKTwBJt153ZwB2mtd9FJuaUzYj4Tcv4B", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Comments = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Comments", type text}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each Text.Combine(List.RemoveItems(Text.Split([Comments], ";"), {"bonus program", "recognition efforts", "wellness program", "anniversaries"})))
    in
        #"Added Custom"

    comments.png

    Saludos

    Phil

2 Replies

  • Hay @pbrainard

    Necesitas alguna forma de saber qué extraer. Los datos deben estar en un formato coherente para que sepa (por ejemplo) extraer el cuarto elemento de la lista.

    En los datos de ejemplo que ha proporcionado, todo está delimitado por punto y coma. En la primera línea desea el texto después del 4º punto y coma. En la 2ª línea desea el texto después del segundo punto y coma.

    La estructura de datos no es coherente, por lo que no puede escribir código/pasos para extraer lo que desea. ¿Se pueden reorganizar los datos en una estructura consistente?

    Saludos

    Phil

  • Hay @pbrainard

    Descargue PBIX de ejemplo con el siguiente código

    Puede hacerlo en Power Query con este código

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("bY5BCsMwDAS/InzOD/wU44PTro0gloLkpt8vzSWY5LrszmxKYVX5OO2mzUqPhpc24cEqhFrVhscvtk3gV6mI8AHzYgyPXQ10QN4sjXT/Tz2GvKTwBJt153ZwB2mtd9FJuaUzYj4Tcv4B", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Comments = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Comments", type text}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each Text.Combine(List.RemoveItems(Text.Split([Comments], ";"), {"bonus program", "recognition efforts", "wellness program", "anniversaries"})))
    in
        #"Added Custom"

    comments.png

    Saludos

    Phil