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

Get certified in Microsoft Fabric—for free! For a limited time, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare now

Reply
NiugeS
Helper V
Helper V

Dividir columnas con valor coincidente en varias filas

Hola: soy nuevo en Power BI y no estoy seguro de si esto es posible. He buscado en el foro, pero podría estar buscando los términos equivocados.

Tengo los siguientes datos de ejemplo en columnas donde en la columna Nombre hay el nombre de familia y también subconjuntos. El tipo distingue el nombre de familia de los subconjuntos (subconjunto de nombre de familia tipo B de tipo A). Estoy tratando de encontrar una manera de obtener 'Result Wanted'. He intentado transformar datos, usar delimitadores de texto, etc. pero como hay tantas variables, no he tenido ningún éxito. Cualquier ayuda apreciada.

NombreTipoResultado buscado
AbcAAbc
ABC-TestBAbc
ABC - EjecutarBAbc
ABC - ProbadoBAbc
DEF-GADEF-G
DEF-G - ProbadoresBDEF-G
DEF-G-breakBDEF-G
DEF-G - ProbadorBDEF-G
H I J - K LAH I J - K L
H I J - K L - PruebaBH I J - K L
H I J - K L - breakBH I J - K L
H I J - K L - EjecutarBH I J - K L
1 ACCEPTED SOLUTION
Anonymous
Not applicable

Aquí está el código M para hacerlo. Pegue en el Editor avanzado en Power Query y examine los pasos.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcnRyVtJRcgRhICtWByyiG5JaXAIUckIVVtBVCCrNwyoO0pCagibl4uqm6w41HcKGi8K0FBVD9aDJ6yYVpSZmY5eD68WQ9lDwVPACSnsr+ECtRRZBU4FuDH6lyO7BrxIRRCjqYgE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Name = _t, Type = _t, #"Result Wanted" = _t]),
    #"Added Custom" = Table.AddColumn(Source, "Result Achieved", each if [Type] = "A" then [Name] & " - ARTIFICIAL" else [Name]),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Added Custom", "Result Achieved", Splitter.SplitTextByEachDelimiter({"-"}, QuoteStyle.Csv, true), {"Result Achieved.1", "Result Achieved.2"}),
    #"Removed Columns" = Table.RemoveColumns(#"Split Column by Delimiter",{"Result Achieved.2"}),
    #"Trimmed Text" = Table.TransformColumns(#"Removed Columns",{{"Result Achieved.1", Text.Trim, type text}}),
    #"Renamed Columns" = Table.RenameColumns(#"Trimmed Text",{{"Result Achieved.1", "Result Achieved"}})
in
    #"Renamed Columns"

Mejor

D

View solution in original post

7 REPLIES 7
AilleryO
Memorable Member
Memorable Member

Hola

Debería obtener el resultado que desea con Split Column.

Elija delimitador - y marque, delimitador más a la derecha.

Debería funcionar.

De lo contrario, pruebe con Columnas de ejemplo y escriba los primeros valores que desee.

Que tengas un buen día

@AilleryO Gracias sin embargo, tengo alrededor de 100k de filas con 1000s de tipo Como y no he sido capaz de obtener el resultado deseado.

Anonymous
Not applicable

Aquí está el código M para hacerlo. Pegue en el Editor avanzado en Power Query y examine los pasos.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcnRyVtJRcgRhICtWByyiG5JaXAIUckIVVtBVCCrNwyoO0pCagibl4uqm6w41HcKGi8K0FBVD9aDJ6yYVpSZmY5eD68WQ9lDwVPACSnsr+ECtRRZBU4FuDH6lyO7BrxIRRCjqYgE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Name = _t, Type = _t, #"Result Wanted" = _t]),
    #"Added Custom" = Table.AddColumn(Source, "Result Achieved", each if [Type] = "A" then [Name] & " - ARTIFICIAL" else [Name]),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Added Custom", "Result Achieved", Splitter.SplitTextByEachDelimiter({"-"}, QuoteStyle.Csv, true), {"Result Achieved.1", "Result Achieved.2"}),
    #"Removed Columns" = Table.RemoveColumns(#"Split Column by Delimiter",{"Result Achieved.2"}),
    #"Trimmed Text" = Table.TransformColumns(#"Removed Columns",{{"Result Achieved.1", Text.Trim, type text}}),
    #"Renamed Columns" = Table.RenameColumns(#"Trimmed Text",{{"Result Achieved.1", "Result Achieved"}})
in
    #"Renamed Columns"

Mejor

D

@darlove YEEKS! Muchas gracias - voy a tener una gota!

@darlove ¡Muchas gracias!


Eso funciona en los datos que proporcioné y ahora probaré con los datos que tengo. ¡Muchas gracias!

@darlove Muchas gracias creo que lo tengo funcionando. ¿Puedo confirmar que los valores nulos de Result Achieved.2 confirmarían que el tipo B no puede encontrar un tipo A? Supongo que debe haber algunos puntos a seguir en los datos.

Anonymous
Not applicable

Esto sólo puede ser nulo si Name tiene el tipo B y no tiene "-" en el nombre. Debe comprobar la calidad de sus datos.

Mejor
D

Helpful resources

Announcements
OCT PBI Update Carousel

Power BI Monthly Update - October 2024

Check out the October 2024 Power BI update to learn about new features.

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

October NL Carousel

Fabric Community Update - October 2024

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

Top Solution Authors