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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Transponer columnas en una tabla con varias columnas

Estoy en un aprieto tratando de transponer mi mesa que aparece como abajo y apreciaría enormemente la ayuda. Me gustaría transponer statusname y statustime para que el producto final sea como se muestra debajo de la tabla principal. De esta manera, puedo calcular las diferencias de tiempo entre los nombres de estado.

CustomerIdDeliveryIdDocumentIdShortIdStatusNameStatusTime
2255CPU6096178asignado12/3/2020 20:08
2255CPU6096178a la espera dePickup12/3/2020 20:08
2255CPU6096178íntegro12/3/2020 22:52
2255CPU6096178entregado12/3/2020 22:52
2255CPU6096178inProgress12/3/2020 20:08
2255CPU6096178Elegido12/3/2020 22:52
2255CPU6096178abastecimientoCourier12/3/2020 20:08
22560CPU1265194asignado11/10/2020 19:25
22560CPU1265194a la espera dePickup11/10/2020 19:25
22560CPU1265194íntegro11/10/2020 23:36
22560CPU1265194entregado11/10/2020 23:36
22560CPU1265194inProgress11/10/2020 19:25
22560CPU1265194inTransit11/10/2020 22:19
22560CPU1265194Elegido11/10/2020 22:19
22560CPU1265194recogida11/10/2020 22:19
22560CPU1265194abastecimientoCourier11/10/2020 19:25
62919CPU4702103asignado10/13/2020 22:27
62919CPU4702103a la espera dePickup10/13/2020 22:27
62919CPU4702103íntegro10/14/2020 0:29
62919CPU4702103entregado10/14/2020 0:29
62919CPU4702103entregado10/14/2020 0:32
62919CPU4702103Enviado10/13/2020 22:40
62919CPU4702103inProgress10/13/2020 22:27
62919CPU4702103inTransit10/13/2020 23:31
62919CPU4702103Elegido10/13/2020 23:31
62919CPU4702103recogida10/13/2020 23:31
62919CPU4702103abastecimientoCourier10/13/2020 22:27

Me gustaría que apareciera como a continuación

CustomerIdDeliveryIdDocumentIdShortIdasignadoa la espera dePickupíntegroentregadoinProgressinTransitElegidoabastecimientoCourierRecogida
2255CPU609617812/3/2020 20:0812/3/2020 20:0812/3/2020 22:5212/3/2020 22:5212/3/2020 20:08nulo12/3/2020 22:5212/3/2020 20:08nulo
22560CPU126519411/10/2020 19:2511/10/2020 19:2511/10/2020 23:3611/10/2020 23:3611/10/2020 19:2511/10/2020 22:1911/10/2020 22:1911/10/2020 19:2511/10/2020 22:19

Muchas gracias.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

hola

Puede usar la transformación Tabla dinámica en la consulta de energía.

Seleccione el nombre de estado de la columna y la hora de estado.

sayaliredij_0-1620071541253.png

Haga clic en Columna dinámica

sayaliredij_1-1620071568139.png

Seleccione Propiedades de tabla dinámica de la siguiente manera

sayaliredij_2-1620071607971.png

Obtendrá los siguientes resultados

sayaliredij_3-1620071631753.png

saludos

Sayali

Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a otros a encontrarlo más rápidamente.

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Muy simple, pero antes de su publicación me tomó horas (!) reemplazar esta función usando medidas.

Syndicate_Admin
Administrator
Administrator

Tenemos una opción en tabla de matrices, es muy fácil transponer los coloumns. no hay necesidad de opciones complejas de pivote. solo un botón de interruptor ayudaría a lograr estoHighlightedHighlightedResaltado

Syndicate_Admin
Administrator
Administrator

Simplemente agrupale filas por CustomerId/DeliveryId/DocumentId/ShortId y pivote la tabla derivada; entonces se hace.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("rdO9boMwEAfwV6mYI3F3BhN7zQswlCnKgIiVWqWADGlfv0YMYEB1jDoARuh3/rg/12tE0Smi1N7G65IXHATH7Gxfyrpuq3JQdztGillMQPBGIOEc3U5/yp9SD7p55Lr6fHbBvGq/uloNyoUkU/LAu6r1tzLrFb8gdZOb9mFU3wevtrObPDBj3z5NZc/oYp9aGd+0HKYCSDxFkazbgzHCZFFIC3x206DAAssWzZSYZNxHnSYFWrdNgWvWzbspm14Pq4lJovDZucmHYNEdoDsJ2dsxH0uI8auYKiQZEAJbRwRinONJmdduIhJYYBkRS5OJgiThk05C/oky8lLdd+VQfeycVgI+7AYz8KScYC6s/SPQZ+dgHoLFurOv0J1gbnZ8+wU=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [CustomerId = _t, DeliveryId = _t, DocumentId = _t, ShortId = _t, StatusName = _t, StatusTime = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"CustomerId", Int64.Type}, {"DeliveryId", Int64.Type}, {"DocumentId", Int64.Type}, {"ShortId", type text}, {"StatusName", type text}, {"StatusTime", type datetime}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"CustomerId", "DeliveryId", "DocumentId", "ShortId"}, {{"ar", each Table.Pivot(_, List.Distinct(#"Changed Type"[StatusName]), "StatusName", "StatusTime")}}),
    #"Expanded ar" = Table.ExpandTableColumn(#"Grouped Rows", "ar", {"allocated", "awaitingPickup", "complete", "delivered", "inProgress", "picked", "sourcingCourier", "inTransit", "pickedUp", "dispatched"}, {"allocated", "awaitingPickup", "complete", "delivered", "inProgress", "picked", "sourcingCourier", "inTransit", "pickedUp", "dispatched"})
in
    #"Expanded ar"

Screenshot 2021-05-03 215340.png

Pero hasta donde yo sé, la tabla unidimensional original funciona bien en el modelo de datos PBI en la mayoría de los casos; tales transformaciones a veces son redundantes.

Gracias @CNENFRNL por su tiempo. Esto resultó ser demasiado complejo para mí, todavía un novie en esto, y en su lugar fue con pivote descrito a continuación por @sayaliredij .

Syndicate_Admin
Administrator
Administrator

hola

Puede usar la transformación Tabla dinámica en la consulta de energía.

Seleccione el nombre de estado de la columna y la hora de estado.

sayaliredij_0-1620071541253.png

Haga clic en Columna dinámica

sayaliredij_1-1620071568139.png

Seleccione Propiedades de tabla dinámica de la siguiente manera

sayaliredij_2-1620071607971.png

Obtendrá los siguientes resultados

sayaliredij_3-1620071631753.png

saludos

Sayali

Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a otros a encontrarlo más rápidamente.

Gracias @sayaliredij. Funcionó como yo había imaginado.

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

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

Top Solution Authors