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:
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:
Featured Session: Drive Data Culture with Power BI- Vision, Strategy & Roadmap. Register here https://myignite.microsoft.com #MSIgnite #PowerPlatform #Power BI
Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!