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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Transponer fila a columnas dinámicas

Hola a todos

Tengo un requisito en el que necesito mostrar los valores de Modelo y # de serie en columnas para cada número de referencia

Datos brutos:

Número de referenciaFechaModeloSerial #
927161/14/2020 8:08HyundaiGHFK88FKGF
927161/14/2020 8:08HondaYJGFH6868GNS
927451/14/2020 8:08Honda163212980
927451/14/2020 8:08MazdaM91348SA0DPW
927491/14/2020 8:08TeslaD55LG9LJ110856
927491/14/2020 8:08ChevyX62VA0EP002262
927491/14/2020 8:08ToyotaD93LD3MY303322

Resultado esperado:

Número de referenciaFechaModelo 1*Serie # 1*Modelo 2*Serie # 2*Modelo 3*Serie # 3*
927161/14/2020 8:08HyndaiGHFK88FKGFHondaYJGFH6868GNS
927451/14/2020 8:08Honda163212980MazdaM91348SA0DPW
927491/14/2020 8:08TeslaD55LG9LJ110856ChevyX62VA0EP002262ToyotaD93LD3MY303322

Soy capaz de lograr esto implementando los pasos mencionados en la publicación a continuación

https://community.fabric.microsoft.com/t5/Desktop/converting-rows-into-column-in-powerquery/td-p/295...

Sin embargo, el problema se produce cuando el recuento de modelos y series aumenta/disminuye de 3 a partir de los datos de muestra.

En primer lugar, es posible que para un nuevo número de referencia haya 5 valores de Modelo y serie. En este caso, estas 2 columnas adicionales (para 4 y 5) no se extrajeron en la tabla del informe, nunca aparecerán en el informe.

En segundo lugar, puede ser posible que para un conjunto de datos dado, el valor de recuento de Model & series sea solo 2. En este caso, el informe dará un error ya que la columna Model 3 no existe en el modelo de datos.

Entonces, ¿hay alguna forma disponible para superar las limitaciones anteriores? ¿Se puede lograr este requisito mediante el uso de funciones DAX en el nivel de informe?

Gracias por la ayuda.

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hola @kaustubhgh ,

De acuerdo con ryan_mayu ,
Para lograrlo:

Firstly, it is possible that for a new reference number there will be 5 values of  Model & series. In this case these these 2 extra columns (for 4 & 5 were not pulled in the report table, they will never apper in the report.

Secondly, it may be possible that for a given dataset count value of Model & series is 2 only. In this case report will give error as column Model 3 doesnot exist in the data model.

Debe tener una tabla que contenga todos los nombres de columna posibles, ya que Power Query no puede agregar o eliminar columnas automáticamente ni modificar los nombres de columna en función del número existente de columnas cuando se escriben o eliminan nuevos datos. Debe tener una tabla para corregir todos los nombres de columna posibles.

Entonces, si la respuesta de ryan_mayu puede ayudarlo, recuerde aceptar la respuesta de ryan_mayu como solución para ayudar a los otros miembros a encontrarla más rápidamente. ¡Gracias!

Saludos
Dino Tao

Syndicate_Admin
Administrator
Administrator

@kaustubhgh

Necesita crear dos tablas de asistencia que contengan suficientes nombres de columna.

Por favor, vea el attachemnt a continuación

Syndicate_Admin
Administrator
Administrator

@kaustubhgh,

Pruebe esta solución. En Power Query, realice los pasos siguientes:

1. Agregue una columna de índice que se restablezca para cada número de referencia.

2. Cree una columna personalizada que concatene el # de modelo y el # de serie.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("hc1LC4JAFAXgvxKzFrxzx5nutJNsRnyEYFQiLoSEgshFD7Bf3yTUKmx1LpfzceqaaZxzxTzGfR74CAgzWgC5RzzcL4f25C4bm5TIpNawxpsSvQMuq8SaWJEiuy4/IpBTgiuBHDXBdD1vn2M911wEVIYQFbuv0L/Eprue3yKSMrM6SzgHkmraLI/dY3C5V7gNYVUAICr8s9MP/W0c0iKLRF4JEAIdal4=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Reference Number" = _t, Date = _t, Model = _t, #"Serial #" = _t]),
    GroupRows = Table.Group(Source, {"Reference Number"}, {{"Count", each _, type table [Reference Number=nullable number, Date=nullable datetime, Model=nullable text, #"Serial #"=nullable text]}}),
    AddIndex = Table.AddColumn(GroupRows, "Custom", each Table.AddIndexColumn([Count], "Index", 1)),
    RemoveColumns = Table.SelectColumns(AddIndex,{"Custom"}),
    ExpandColumn = Table.ExpandTableColumn(RemoveColumns, "Custom", {"Reference Number", "Date", "Model", "Serial #", "Index"}, {"Reference Number", "Date", "Model", "Serial #", "Index"}),
    AddConcatenatedColumn = Table.AddColumn(ExpandColumn, "Model #  Serial #", each [Model] & " " & [#"Serial #"]),
    ChangeType = Table.TransformColumnTypes(AddConcatenatedColumn,{{"Reference Number", Int64.Type}, {"Date", type datetime}, {"Model", type text}, {"Serial #", type text}, {"Index", Int64.Type}, {"Model #  Serial #", type text}})
in
    ChangeType

Crear medida:

Model Serial = MAX ( 'Table'[Model #  Serial #] )

Crear matriz:

DataInsights_0-1734096568214.png

DataInsights_1-1734096588733.png

Hola @DataInsights ,

Gracias por proporcionar la solución. En su colución, ha concatinado Modelo y Serie para mostrarlos en una columna. Sin embargo, mi requisito es mostrar el modelo y la serie en dos columnas separadas.

¿Hay alguna forma de lograrlo?

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors