cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Nelson_Marquez
Regular Visitor

Obtener lista o matriz de valores de campo dependiendo de otro campo

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:

Nelson_Marquez_0-1604420951210.png

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:

Nelson_Marquez_1-1604421480119.png

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

1 ACCEPTED SOLUTION
DataInsights
Super User II
Super User II

@Nelson_Marquez,

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:

DataInsights_0-1604432461073.png

Datos de muestra:

DataInsights_1-1604432480095.png

View solution in original post

1 REPLY 1
DataInsights
Super User II
Super User II

@Nelson_Marquez,

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:

DataInsights_0-1604432461073.png

Datos de muestra:

DataInsights_1-1604432480095.png

View solution in original post

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

April Update

Check it Out!

Click here to read more about the April 2021 Updates!

MBAS Carousel

Sign up for our May 4th event!

May the fourth be with you, join us online!

secondImage

The largest Power BI virtual conference

100+ sessions, 100+ speakers, Product managers, MVPs, and experts. All about Power BI. Attend online or watch the recordings.

Top Kudoed Authors