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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Debround
Frequent Visitor

Dar forma a los datos: obtenga encabezados de columna en filas, cuando haya encabezados de fila existentes

Hola

Espero poder explicarme de una manera comprensible. Tengo una tabla como la de abajo para registrar el número de horas trabajadas en diferentes proyectos.

EneroEneroFebreroFebreroMarzoMarzoAbrilAbrilMayoMayoJunioJunioJulioJulioAgostoAgostoSeptiembreSeptiembreOctubreOctubreNoviembreNoviembreDiciembreDiciembre
año ProyectoPapelOficina 1Oficina 2Oficina 1Oficina 2Oficina 1Oficina 2Oficina 1Oficina 2Oficina 1Oficina 2Oficina 1Oficina 2Oficina 1Oficina 2Oficina 1Oficina 2Oficina 1Oficina 2Oficina 1Oficina 2Oficina 1Oficina 2Oficina 1Oficina 2
2010Columbiadirector3 2 1 13 3 1 2 2 1 1 3
2010EndevourTécnico 51 5939 98 541312 2 2 1
2011Endevourdirector3 2 1 13 3 1 2 2 1 1 3
2011DescubrimientoTécnico 51 5939 98 541312 2 2 1

Obviamente, el original tiene muchos más de años, proyectos y roles, pero tiene los mismos meses y oficinas (2 divididos en meses). Este formato era bastante conveniente en el momento en que se creó, ya que se imprimió directamente. Pero lo que quiero ahora es transformar todos estos años de Excels, en solo una tabla como la siguiente; donde tengo los datos que necesito, con forma de una manera que puedo representarlo y filtrarlo fácilmente.

añoProyectoPapelMesOficinaHoras
2010ColumbiadirectorEnero13
2010ColumbiadirectorFebrero12
2010ColumbiadirectorAbril11
2010EndevourTécnicoEnero25
2010EndevourTécnicoFebrero11
2010EndevourTécnicoMarzo15

He intentado transponer y otros comandos en Excel o Power Query, sin el resultado deseado. Le agradeceré cualquier ayuda con respecto a este asunto, gracias de antemano.

1 ACCEPTED SOLUTION
HotChilli
Super User
Super User

4 REPLIES 4
HotChilli
Super User
Super User

Gracias, @HotChilli y @C4YNelis por sus respuestas.

Es un único, pero tengo que decir que la función personalizada me atrajo más, y es más rápido!

@HotChilli La función unpivot es definitivamente la mejor manera si insiste en usar Power BI para abordar este problema (y una gran función para saber de todos modos).

Sin embargo, imho, si es sólo una transformación de una sola vez (y esto es especialmente cierto si está planeando usar estos mismos datos más a menudo en el futuro), creo que es mejor simplemente limpiar la estructura de los datos de origen tanto como sea posible (si tiene esa oportunidad), en lugar de usar consultas pesadas para hacerlo repetidamente para cada actualización en el futuro. Es como matar a un mosquito con un cañón.

Sólo mis dos centavos. 🙂

C4YNelis
Advocate III
Advocate III

Hola @Debround,

en realidad hay muchas maneras en que podría "fácilmente" hacer esto en Excel (entiendo que necesita esta tabla transformada una sola vez)? En ese caso, no me preocuparía demasiado por las fórmulas y las formas complejas.

Si solo tiene veinticuatro columnas con meses y oficinas, la forma más fácil que veo es copiar sus datos en doce o trece (dependiendo del resultado final deseado) copiar y pegar acciones a una nueva tabla en una hoja diferente. Simplemente copie cada mes (incluidas las primeras columnas con años, proyectos y roles) con ambas oficinas en una nueva hoja de destino y en su archivo de origen (recomiendo encarecidamente que haga una copia de seguridad de este archivo antes de empezar), elimine las dos columnas con las oficinas durante el primer mes que copió (por lo que sería la columna para enero (Oficina 1 y 2). Después de esto, copie los datos de nuevo, péguelos debajo del conjunto anterior (que tenía dos columnas más en el lado derecho) y de nuevo, elimine un mes (dos columnas) a la izquierda en el archivo de origen (febrero (Office 1 y 2)). Continúe con esto hasta que haya copiado su último conjunto.

Al final, puede desasider si desea que las oficinas estén una al lado de la otra en columnas separadas, o que cree una columna adicional (por ejemplo, titulada "Oficina") donde copie su valor (oficina 1 u oficina 2). Si eso es lo que desea, tendrá que copiar una última vez y agregar manualmente los valores de esa última columna (nombres de oficina).

Después de que haya terminado, debe tener un archivo de destino que se parece un poco a un triángulo al revés. Ahora elimine todas las columnas adicionales de mes / oficina en el lado derecho (excepto las de la izquierda que desea conservar) y ya está listo.

Si lo haces de la manera correcta, estoy bastante seguro de que es un método más rápido que hacer esto de cualquier manera automatizada (siempre y cuando sea una cosa de una sola vez).

¡Buena suerte!

Salud

Niels

(editado, porque me acabo de dar cuenta de que cometí un pequeño error en mi explicación, sin tener en cuenta dos columnas por mes.)

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

April Fabric Community Update

Fabric Community Update - April 2024

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