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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
Syndicate_Admin
Administrator
Administrator

Power Query: separar una columna en varias columnas

Hola

Actualmente tengo varios puntos de datos ubicados dentro de una celda de fila en una columna (consulte la parte 'Datos actuales' en el fragmento).

En el Editor de Power Query me gustaría transformar esta columna 'AllData' en 5 columnas diferentes (según el ejemplo 'Cómo deberían verse los datos').

Ejemplo de problema en Excel:

MartynasBI_0-1681907272254.png

Datos reales en Power BI:

MartynasBI_1-1681907291828.png

He probado varios escenarios, donde puedo extraer ciertos datos con éxito, pero no todos.

Muchas gracias de antemano,

Martynas

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

@sam_gift

El objetivo es hacer que parezca un formato de registro y, a continuación, hacer un Expression.Evaluate para convertirlo en un registro y expandir los registros. Los registros tienen el aspecto de [ nombre de columna = valor, nombre de columna 2, valor2 ]. Sin embargo, dado que algunos de los valores tenían comas, tuve que poner todos los valores alrededor de las comillas en el ejemplo.

spinfuzer_0-1702103497673.png

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("dcuxDoMgEADQX7nczKCULqy4mDgouhhgMPUG0ngQi/X36+jS/T3nsEaBY1nK8dEwHjmnvXg2baPhWSnluac9plWDlIPCIBzKW7D0jXT+8bP13KTXxXrbCTBGwGw7z1PcCMryJtZQPyrYImMIPw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Rows = _t, AllData = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Rows", Int64.Type}, {"AllData", type text}}),
    #"Replaced Value" = Table.ReplaceValue(#"Changed Type",": ","= """,Replacer.ReplaceText,{"AllData"}),
    #"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","#(lf)",""",#(lf)",Replacer.ReplaceText,{"AllData"}),
    #"Added Suffix" = Table.TransformColumns(#"Replaced Value1", {{"AllData", each _ & """", type text}}),
    #"Added Custom" = Table.AddColumn(#"Added Suffix", "Records", each Expression.Evaluate("[" & [AllData] & "]")),
    #"Expanded Records" = Table.ExpandRecordColumn(#"Added Custom", "Records", {"Status", "CID", "Period", "Docs", "Time taken"}, {"Status", "CID", "Period", "Docs", "Time taken"})
in
    #"Expanded Records"

Syndicate_Admin
Administrator
Administrator

Hola, ¿encontraste la solución? Tengo un requisito similar e investigando al respecto

Syndicate_Admin
Administrator
Administrator

¿Temo que no funcionó, tal vez porque tengo columnas adicionales en el conjunto de datos? después de dividir la columna por #(Si) en filas en lugar de columnas, no se produjeron cambios

Syndicate_Admin
Administrator
Administrator

Una opción, puede intentar dividir la columna por # (lf) en filas en lugar de columnas, luego usar dividir columna por delimitador : para separar el nombre del punto de datos antes de los dos puntos del punto de datos. Luego pivote esas dos columnas.

Syndicate_Admin
Administrator
Administrator

@halfglassdarkly ,

Lo he probado, pero como actualmente algunas filas tienen 3 puntos distintos (Estado, CID y Período según el fragmento anterior) mientras que otras tienen 5 (Estado, CID, Período, Documentos, Tiempo empleado), después de la división usando un delimitador personalizado, las columnas se vuelven inconsistentes.
Por favor, refiérase a lo siguiente a lo que me refiero

MartynasBI_0-1681908168896.png

Syndicate_Admin
Administrator
Administrator

Hola, si sus puntos de datos siempre aparecen en el mismo orden, entonces debería poder usar Dividir columna por delimitador con # (lf) como delimitador personalizado. Eso dividirá el valor de la columna utilizando el avance de línea como delimitador.

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors