Hace algunos días enfrenté este problema: cargar una tabla a partir de un listado de nombres de campo y valores. Todos los campos y sus valores estaban listados hacia abajo (de manera “vertical”), solo dejando un espacio en blanco entre lo que correspondería a cada registro. Algo así como la siguiente figura:

Screen Shot 2017-07-10 at 5.15.20 PM

A partir de esta información, se quiere reconstruir la tabla “original” para que quede como se observa a continuación:

Screen Shot 2017-07-10 at 5.27.05 PM

Bueno, manos a la obra. Pueden descargar el archivo original desde aquí: Codigos. Acto seguido, abramos Power BI Desktop y cargamos los datos desde dicho Excel con la opción siguiente:

screen-shot-2016-11-14-at-12-16-50-am

Luego de seleccionar el archivo y darle “Abrir”, aparece la ventana siguiente:

Screen Shot 2017-07-10 at 5.41.44 PM

Indudablemente, seleccionamos “Editar” (no sin antes haber seleccionado la hoja “Codigos” en el panel de la izquierda). Hecho esto, aparece la pantalla del Editor de Consultas (“Query Editor”) como a continuación:

Screen Shot 2017-07-10 at 5.48.01 PM

Ahora viene la magia de Power Query. Como primer paso, vamos a eliminar las líneas en blanco con la opción “Remove Blank Rows” que se muestra a continuación como penúltima opción del menú desplegable:

Screen Shot 2017-07-10 at 5.53.22 PM

Luego tenemos que agregar una columna que determine qué filas pertenecen a qué registro. Para eso notamos que cada vez que aparece la palabra “Codigo” en la columna de la izquierda, se inicia un nuevo registro. Para indicar ello, creamos una columna condicional que refleje ese cambio. Esto sucede en dos pasos: primero seleccionamos “Columna Condicional (“Conditional Column”) en el menú “Agregar Columna” (“Add Column”)…

Screen Shot 2017-07-10 at 5.56.35 PM

… luego llenar las opciones según la pantalla siguiente. Ojo que debajo de “Salida” (“Output”), hay que seleccionar la opción “Seleccionar una columna” (“Select a column”) para que se pueda escoger “Column2” como valor del ultimo recuadro. Acto seguido, dar “OK”.

Screen Shot 2017-07-10 at 6.03.29 PM

La tabla nos queda así:

Screen Shot 2017-07-10 at 6.09.49 PM

En la nueva columna creada (la de más a la derecha), se debe rellenar los números para que no existan nulos (“null”), repitiendo el número de más arriba hasta que cambie el valor. Esta funcionalidad se llama “Rellenar hacia abajo” (“Fill down”) y la encontramos haciendo clic derecho sobre esta columna, tal como se muestra a continuación:

Screen Shot 2017-07-10 at 6.11.54 PM.png

La tabla nos queda como a continuación (¡ya estamos cerca del final!)

Screen Shot 2017-07-10 at 6.13.20 PM

Ahora tenemos que seleccionar la columna que contiene los nombres de los campos (“Column1”) y en el menú “Transformar” (“Transform”) seleccionar la opción de “Pivot Column” (me parece que se llama “Dinamización de columnas” en castellano)

Screen Shot 2017-07-10 at 6.16.00 PM

Aparece una pantalla con opciones. Seleccionemos las que se muestran a continuación y le damos OK.

Screen Shot 2017-07-10 at 6.22.31 PM

Voilà! Tenemos esta tabla ahora:

Screen Shot 2017-07-10 at 6.23.36 PM

Solo queda eliminar la columna de la izquierda (clic derecho sobre el nombre de la columna y seleccionar “Remover”) y tenemos lo que deseamos.

¿Qué les pareció? Espero sus comentarios.