Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola
Tengo una tabla que para cada ocurrencia de un campo puede tener una, dos o incluso tres ocurrencias de otro campo, como se muestra a continuación:
Quiero decir, me gustaría obtener una columna para 'Local de descarga' e introducir los elementos "Local de carga", aquí identificados como "Fuente 1" y "Fuente 2" en columnas, es decir, 'Local de carga 1' y 'Local de carga 2'. Las filas serían, en este ejemplo, respectivamente "ES15-Castellon-CLH Depot"; "Refinería de Huelva" y "Refinería de Castellón".
A continuación represento lo que quiero decir, aquí creado con la ayuda de Excel:
Esto suena como el manejo de matrices, pero como soy relativamente nuevo con PowerBI no tengo idea de cómo hacer esto.
La ayuda sería muy apreciada.
Nelson
Solved! Go to Solution.
Pruebe esto en Power Query. Copie el código a partir de GroupRows y péguelo en el editor de consultas.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8ihNzSlL1A1KTcvMSy2qVNJRcg02NNV1TiwuSc3Jyc/TdfbxUEhJLcgvUYrViVZCiBOrA6bOEKLQTLcktRhVxginjDGqTCwA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Local de carga" = _t, #"Local de descarga" = _t]),
GroupRows = Table.Group(
Source,
{"Local de descarga"},
{"Local de carga group", each Table.SelectColumns(_, "Local de carga")[Local de carga]}
),
ExtractValues = Table.TransformColumns(
GroupRows,
{"Local de carga group", each Text.Combine(List.Transform(_, Text.From), "|"), type text}
),
SplitLocalDeCarga = Table.SplitColumn(
ExtractValues,
"Local de carga group",
Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv),
{"Local de carga group.1", "Local de carga group.2", "Local de carga group.3"}
),
RenameColumns = Table.RenameColumns(
SplitLocalDeCarga,
{
{"Local de carga group.1", "Local de carga 1"},
{"Local de carga group.2", "Local de carga 2"},
{"Local de carga group.3", "Local de carga 3"}
}
)
in
RenameColumns
Resultado:
Datos de muestra:
Proud to be a Super User!
Pruebe esto en Power Query. Copie el código a partir de GroupRows y péguelo en el editor de consultas.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8ihNzSlL1A1KTcvMSy2qVNJRcg02NNV1TiwuSc3Jyc/TdfbxUEhJLcgvUYrViVZCiBOrA6bOEKLQTLcktRhVxginjDGqTCwA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Local de carga" = _t, #"Local de descarga" = _t]),
GroupRows = Table.Group(
Source,
{"Local de descarga"},
{"Local de carga group", each Table.SelectColumns(_, "Local de carga")[Local de carga]}
),
ExtractValues = Table.TransformColumns(
GroupRows,
{"Local de carga group", each Text.Combine(List.Transform(_, Text.From), "|"), type text}
),
SplitLocalDeCarga = Table.SplitColumn(
ExtractValues,
"Local de carga group",
Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv),
{"Local de carga group.1", "Local de carga group.2", "Local de carga group.3"}
),
RenameColumns = Table.RenameColumns(
SplitLocalDeCarga,
{
{"Local de carga group.1", "Local de carga 1"},
{"Local de carga group.2", "Local de carga 2"},
{"Local de carga group.3", "Local de carga 3"}
}
)
in
RenameColumns
Resultado:
Datos de muestra:
Proud to be a Super User!
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |