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

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.

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
Super User

@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





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

1 REPLY 1
DataInsights
Super User
Super User

@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





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.