Cómo separar texto con comas y diferentes textos ordenados

Un usuario Pregunto ✅

Anónimo

Hola amigos,

Tengo el siguiente problema y no estoy seguro de cómo debo solucionarlo. Lo que estoy tratando de hacer es básicamente separar el texto por comas de una sola columna. Intenté usar la opción Agregar columna> Extraer, pero como hay mucho texto y no sigue a un usuario, estoy luchando con él.

Tengo el siguiente texto como ejemplo:

MichaelP8989_0-1615397116096.png

Y a veces la Columna A el patrón no es el mismo, por ejemplo, podría ser solo Esfuerzo, otro y necesito tener todos los esfuerzos en la misma columna y todos los Otros en la misma columna.

Básicamente, estoy tratando de clasificar estos textos. Realmente agradecería su ayuda, si alguien me puede sugerir alguna idea?

Muchas gracias.

Hola, @Anónimo

Según su descripción, supongo que desea alinear el texto dividido a la derecha. Creé datos para reproducir tu escenario. El archivo pbix se adjunta al final.

Tabla:

a1.png

Puede aplicar las siguientes transformaciones en el ‘Editor avanzado’.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8s7LL89JTUlPTUzKSdVxzS1ILMlILclM1nFNS8tMzkzNK9FxzkksyiypBInkF5Xo+AMVFCnF6kQrkaiasBLsErEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Column A" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column A", type text}}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Column A", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Column A.1", "Column A.2", "Column A.3", "Column A.4", "Column A.5", "Column A.6"}),
    #"Added Custom" = Table.AddColumn(#"Split Column by Delimiter", "Custom", each List.RemoveNulls( Record.ToList(_) )),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each List.Count([Custom])),
    Custom1 = Table.TransformColumns(#"Added Custom1",{"Custom",each let
l=List.Max(#"Added Custom1"[Custom.1]),
res=List.Combine({ List.Repeat({null},l-List.Count(_)),_})
in 
res

}),
    #"Removed Columns" = Table.RemoveColumns(Custom1,{"Column A.1", "Column A.2", "Column A.3", "Column A.4", "Column A.5", "Column A.6", "Custom.1"}),
    Custom2 = Table.TransformColumns(#"Removed Columns",{"Custom",each Record.FromList(_,Table.ColumnNames(#"Split Column by Delimiter") )}),
    #"Expanded Custom" = Table.ExpandRecordColumn(Custom2, "Custom", {"Column A.1", "Column A.2", "Column A.3", "Column A.4", "Column A.5", "Column A.6"}, {"Column A.1", "Column A.2", "Column A.3", "Column A.4", "Column A.5", "Column A.6"})
in
    #"Expanded Custom"

Resultado:

a2.png

Atentamente

Alano

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

Hola, @Anónimo

Según su descripción, supongo que desea alinear el texto dividido a la derecha. Creé datos para reproducir tu escenario. El archivo pbix se adjunta al final.

Tabla:

a1.png

Puede aplicar las siguientes transformaciones en el ‘Editor avanzado’.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8s7LL89JTUlPTUzKSdVxzS1ILMlILclM1nFNS8tMzkzNK9FxzkksyiypBInkF5Xo+AMVFCnF6kQrkaiasBLsErEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Column A" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column A", type text}}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Column A", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Column A.1", "Column A.2", "Column A.3", "Column A.4", "Column A.5", "Column A.6"}),
    #"Added Custom" = Table.AddColumn(#"Split Column by Delimiter", "Custom", each List.RemoveNulls( Record.ToList(_) )),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each List.Count([Custom])),
    Custom1 = Table.TransformColumns(#"Added Custom1",{"Custom",each let
l=List.Max(#"Added Custom1"[Custom.1]),
res=List.Combine({ List.Repeat({null},l-List.Count(_)),_})
in 
res

}),
    #"Removed Columns" = Table.RemoveColumns(Custom1,{"Column A.1", "Column A.2", "Column A.3", "Column A.4", "Column A.5", "Column A.6", "Custom.1"}),
    Custom2 = Table.TransformColumns(#"Removed Columns",{"Custom",each Record.FromList(_,Table.ColumnNames(#"Split Column by Delimiter") )}),
    #"Expanded Custom" = Table.ExpandRecordColumn(Custom2, "Custom", {"Column A.1", "Column A.2", "Column A.3", "Column A.4", "Column A.5", "Column A.6"}, {"Column A.1", "Column A.2", "Column A.3", "Column A.4", "Column A.5", "Column A.6"})
in
    #"Expanded Custom"

Resultado:

a2.png

Atentamente

Alano

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

ImkeF

Hola @Anónimo,
No entiendo tu solicitud.

Consulte estos consejos para obtener respuestas a sus preguntas rápidamente:

ayuda sobre cómo obtener una respuesta rápida a sus preguntas – Comunidad de Microsoft Power BI

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *