Capítulo 6
Capítulo 6: Materialización Alterna de Tablas con Modos
de Dinamización
290 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Introducción
Las operaciones que presentaremos en breve: anulación de
dinamización y columna dinámica eclosionaron de una
fundamental: La transposición, en aras de resolver formatos de
tablas con etiquetas de jerarquías para categorizar columnas
(También las llamamos niveles de encabezados).
Por otro lado, sabemos que de la misma forma que un sumiller
puede anticipar de forma astuta los matices de una añada de
especial bouquet que pone delante del comensal, nuestro
estimado lector vislumbrara que se avecina conocimiento que
nos permitirá solventar escenarios de transformación que
otrora requerían un trabajo extenuante, y que, a partir de ahora
dotara nuestro toolkit de preparación y limpieza de datos con
«artefactos» que parecen sacados de mundos mitológicos.
— A Wizard did it! —
Pausemos un Momento
Don Gustavo exclama en voz alta: «Esto lo hizo un mago, es magia».
Es una corta anécdota de una formación que estábamos impartiendo
por allá en el año 2016, cuando uno de nuestros estudiantes (Don
Gustavo) dijo de forma inconsciente y para oídos de todos que la
anulación de dinamización (tema de este capítulo) era magia; su
primera impresión fue que dicha operación estaba materializando
datos de la nada, sin embargo, después de la explicación comprendió
que era una manera elegante de transposición.
Por ello lo parafraseamos con: A wizard did it!
[Link]
El ADN de Power Query 291
Modos de Dinamización
Para comprender esta nueva consigna es crucial recalcar que
tenemos dos operaciones:
NOTA
▪ Anulación de Dinamización
▪ Dinamización (Columna Dinámica) La dinamización en la
interfaz de Power Query se
encuentra bajo el nombre
de columna dinámica en su
comando respectivo, en
Una operación es la inversa de la otra y en ambos casos
referencia directa a lo que
consiste en formas convenientes de transposición de los pasaría con la columna a
seleccionada si se agrega un
datos, que en términos generales es una invariancia área de colocación distinta a
traslacional. valores en una tabla
dinámica
Acaparamos las dos operaciones bajo la sombrilla: Modos de
dinamización, en esencia una manera «cool» de nombrarlas al
unísono.
Técnicas de Segundo Grado
En nuestro esquema de acciones y operaciones, todo aquello
que implique los modos de dinamización aderezado con otras
técnicas, métodos y trucos con el objeto de abrazar el formato
tabular, las englobaremos con la etiqueta: técnicas de segundo
grado.
Materialización Alterna: Si bien en Power Query tenemos la Re-Materialización
tabla visible de forma material, estas técnicas nos permitirán
pasar de un formato con etiquetas de jerarquías en columnas
al tabular, re-materializando la tabla con un aspecto alterno.
[Link]
292 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Anulación de Dinamización (Unpivot)
La operación de la cual nos ocuparemos enseguida lleva por
nombre anulación de dinamización, que en resumidas cuentas
fue bautizada con tan florido nombre para hacer hincapié en
NOTA
que permite pasar del formato generado por una tabla
Llamamos tabla dinámica
sencilla a aquella que solo dinámica sencilla al formato al tabular en la brevedad de un clic.
tiene un campo en el área
de columnas y puede tener
uno o más campo en el área En lugar de explicarte que realiza esta operación al son de
de filas.
palabra escrita, lo cual destacaría por su poco tino, optaremos
por mostrártelo con una ilustración:
Formato Tabular
(Formato) Tabla Dinámica
Iniciamos con la tabla de datos con un formato
semejante al de una tabla dinámica. Llegamos al ideal del formato
Figura 6. 1 – Esquema del Input y Output de Anulación de Dinamización
¡Toma Nota!
Es ineludible dejar claro que la operación de anulación de
dinamización consiste en revertir o anular el proceso natural que
ocurre cuando se crea un reporte de tabla dinámica.
[Link]
El ADN de Power Query 293
Ahora que entendemos el fin último de la operación que nos
atañe, es propicio comprender el funcionamiento interno o
mecánica que sigue para llegar el resultado deseado, esto nos
permitirá desarrollar una lógica exclusiva para resolver
escenarios más complejos.
Mecánica de Anulación de Dinamización
La operación de anulación de dinamización gravita en Power Query
en 3 versiones, cada uno expresado en su propio comando,
estos son:
▪ Anulación de Dinamización de Columnas (A.D.C)
▪ Anulación de Dinamización de Otras Columnas (A.D.O.C)
▪ Anulación de Dinamización de Columnas Seleccionadas únicamente (A.D.S.U)
Pausemos un Momento
¡En realidad solo son dos versiones!
En la interfaz de Power Query contaremos con tres comandos, a pesar
de esto, dos de ellas:
▪ Anulación de Dinamización de Columnas
▪ Anulación de Dinamización de Otras Columnas
Detrás de cámaras resulta siendo lo mismo, pero la interfaz de Power
Query nos brinda dos opciones para eficiencia en el trabajo según nos
convenga.
A continuación, describiremos la mecánica de funcionamiento de las
3 versiones, pero desde el punto de vista visual y no netamente interno
del motor M.
[Link]
294 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Entremos en materia desentrañando la mecánica de la primera
vertiente:
Mecánica A.D.C. Mecánica de Anulación de Dinamización de Columnas
La anulación de dinamización de columnas ejecuta los siguientes
NOTA
pasos:
La explicación también la
1. Gira las etiquetas de las columnas seleccionaadas a
puedes estudiar de forma
visual, gracias a que la valores, es decir, se transponen para pasar a ser
lección del vídeo curso
Laboratorio de Datos con elementos de una nueva columna que tendrá por
Power Query se encuentra nombre Atributo, sin embargo, esto ocurre n veces en
disponible en YouTube.
la misma columna, donde n es el número de filas en la
tabla inical.
2. Los elementos de las columnas seleccionadas a anular
dinamización, se toman fila a fila y de forma completa
para ser trasnpuestas una única vez uno debajo de otro
[Link]
en una columna nueva cuyo nombre será valor.
3. Las casillas vacías en las columnas que no se anula
dinamización siguen la operación rellenar abajo.
¡Lo sabemos! es más fácil entender el lenguaje alien de la
película arrival que la descripción anterior, sin emargo, apoyate
del vídeo y del esquema siguiente para esclarecer:
[Link]
El ADN de Power Query 295
Versión: A.D.C
Inicio
Recordar remover: totales,
subtotales, filas en blanco,
columnas en blanco y
errores en primer lugar.
Proceso / Mecánica
Final
Los nombres de columnas
Atributos y Valor siempre se
los asigna por defecto la
operación, ya que no tiene
manera de saber cuáles son
los nombres originales de
dichos campos.
[Link]
296 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
La mecánica de la segunda versión es descaradamente intuitiva
una vez etendemos plenamente la mecánica de
funcionamiento de Anulación de Dinamización de Columnas, a
pesar de ello, no esta demás dejar su descripción y esquema.
Mecánica A.D.O.C Mecánica de Anulación de Dinamización de Otras Columnas
Es valido recalar que: La A.D.O.C es para todos los fines identica a
A.D.C, de hecho su función M como resultado es la misma, sin
embargo, la diferencia radica en la selcción de columnas en la
interfaz. Esos son los pasos:
1. Gira las etiquetas de las columnas no seleccionadas a
valores, en otras palabras, toma los nombres de los
campos de aquellas columnas que no se seleccionaron
y las transpone para pasar a ser elemntos de una nueva
columna que tendrá por nombre: Atributo, esto se
replicara n veces una debajo de otra en la misma
columna, donde n es el número de filas en la tabla inical.
2. Los elementos de las columnas no seleccionadas, se
toman como filas completa para ser trasnpuestas en
una columna nueva que será denominada valor.
3. Las casillas vacías en las columnas seleccionadas siguen
la operación rellenar abajo.
El esquema será más explicativo:
[Link]
El ADN de Power Query 297
Versión: A.D.O.C
Inicio
No Olvidar Quitar: totales,
subtotales, filas en blanco,
columnas en blanco y
errores.
Proceso / Mecánica
Final
Los nombres de columnas
Atributos y Valor siempre se
los asigna por defecto la
operación, ya que no tiene
manera de saber cuáles son
los nombres originales de
dichos campos.
[Link]
298 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Podremos ser insistentes pero no queremos el mas minimo
vestigio de duda, por ello recordemos:
Las dos versiones de la operación anulación de dinamización
anteriores son exactamente iguales internamente, esto es tan
crucial que debemos tomar nota:
¡Toma Nota!
Las versiones de la operación de anulación de dinamización: A.D.C y
A.D.O.C. al final del día internamente desembocan en lo mismo, en
otras palabras, el motor del lenguaje M arroja la misma función M,
que sería algo del siguiente estilo:
=
[Link]
( NombreTabla , {"País"} , "Atributo" , "Valor" )
Se debe destacar que las columnas a no anular dinamización en
nuestro ejemplo es solo una: País y si representa en el segundo
argumento como {“País”}, si son más de dos columnas se representa
como {“Columna1”,”Columna2”, …})
De lo anterior podemos ver que la columna País es la queda fija en la
función, por lo tanto, cada vez que se agreguen nuevas columnas en
nuestro origen de datos a estas inexorablemente también se les anulará
la dinamización.
[Link]
El ADN de Power Query 299
Nuestro lector más espabilado en el recorrido de estas páginas
le saltará a la vista la diferencia entre las dos vertientes
anteriores y A.D.S.U.
— ¿En qué se sustenta la diferencia?
Cuando se aplica el comando Anulación de Dinamización de
Columnas Seleccionadas Únicamente (A.D.S.U) y luego llegan
nuevos campos a la tabla original por actualización, a estas no se
les anulara la dinamización, de donde se infiere que, las
columnas a anular dinamización quedan fijas.
Mecánica de A.D.S.U Mecánica A.D.S.U
El funcionamiento visual cotiza en el mismo ramo que el de
Anulación de Dinamización de Columnas sin ninguna contraste
aparante, en consecuencia, el esquema gráfico es el mismo. No
obstante, sabemos que intermanete con el motor M su
diferencia estriva en la actualización.
¡Riesgo: Advertencia!
Ofreciendo una sonrisa bajos cero y gesto de despreocupación un
desarrollador del equipo de Microsoft para Power Query han
manifestado que el comando A.D.C será erradicado.
Es perfectamente válido traer a colación que si llega a suceder sabrás
que en realidad con el comando A.D.O.C es suficiente. (En nuestra
opinión tenemos reservas de que ocurra)
[Link]
300 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Recomendaciones y Buenas Prácticas
Antes de utilizar esta poderosa funcionalidad debemos
percatarnos en una primera instancia de ciertas características
en la tabla que alimentará a Power Query, específicamente de:
Totales, subtotales, filas y columnas en blanco, así como de
filas y columnas de error.
Ley 0
Limpieza Inicial La cuestión es simple, lo primero a realizar es remover:
▪ Totales generales (Si aplica)
▪ Subtotales (Si aplica)
▪ Filas en blanco (Si aplica)
▪ Columnas blanco (Si aplica)
▪ Filas de error (Si aplica)
▪ Columnas de error (Si aplica)
▪ Filas Duplicadas (Si aplica)
▪ Columnas Duplicadas (Si aplica)
▪ Etiquetas no congruentes en el contexto de los datos
(Si aplica)
El archivo de trabajo que utilizaremos es el siguiente:
¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 6 puedes encontrar el archivo de Excel con nombre:
CAP6EJ1 - IngSemestreI y extensión xlsx.
[Link]
El ADN de Power Query 301
El archivo es el siguiente:
Figura 6. 2 – Ingresos Semestre I para limpieza inicial
Es bueno observar el formato desde su origen para conocer y
entender que limpieza inicial necesitan.
4. Abrimos un archivo nuevo de Power BI.
5. Vamos al grupo Datos Externos y desplegamos las
opciones comando Obtener datos, para allí seleccionar
Excel.
6. Navegamos en nuestro PC y seleccionamos el
cargamos el archivo CAP6 EJ1 - Ing [Link].
7. En el cuadro de dialogo Navegar seleccionamos el
elemento Ingresos Semestre I 2015 y clic en el botón
Editar.
[Link]
302 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Antes de ir a la ventana de Power Query queremos destacar
desde el formato de Excel la limpieza inicial que se debe
ejecutar.
Etiquetas no congruentes: • Año, • Semestre, • Encabezado Global,
filas en blanco …
Filas en blanco
Columna en blanco
Totales
Al no tener toda la fila Fila en blanco
completamente vacía no es una
fila en blanco, en realidad se
Columna en blanco debe filtrar el gran total
Figura 6. 3 – Limpieza Inicial a Ejecutar
Estructurando y resumiendo, encontramos en este formato lo
siguiente:
1. Remover columnas y filas en blanco
2. Remover totales
3. Remover etiquetas no congruentes
[Link]
El ADN de Power Query 303
Ahora si observemos como ha cargado Power Query la tabla de
datos:
Figura 6. 4 – Fragmento de la Tabla Ingresos Semestre 2015 en Power Query
A destacar con prontitud es que la etiqueta general: Ingresos
Generados por Países Suramericanos fue promovida como
encabezados de columna, dejando a su paso de las columnas
2 en adelante con la etiqueta genérica Column.
¡Toma Nota!
En algunas versiones de Power Query y sobre todo en otras
tecnologías: Excel, MS Flow, etc. puede que no promueva la primera
fila como encabezado.
[Link]
304 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Quitar Paso: Inicialmente procederemos a quitar los encabezados y
Encabezado ponerlos como una fila normal de datos.
Promovido
Si bien podemos optar por ir a la pestaña Transformar y en el
grupo Tabla ubicar las opciones Usar la Primera Fila como
Encabezado para desplegar y finalmente utilizar el comando
Usar encabezados como primera fila.
Figura 6. 5 – Comando Usar Encabezados como Primera Fila
Lo mejor será remover el paso en el panel de Configuración de la
Consulta pulsando clic encima de la «x» en el extremo izquierdo
del paso con nombre Encabezados Promovidos, así lo
dinamitamos.
Figura 6. 6 – Eliminar Paso Encabezados Promovidos
[Link]
El ADN de Power Query 305
Con lo anterior no solo logramos ahorrar un paso, sino que
restamos uno. (Con fines económicos de líneas M esto es ideal)
Primero quitemos filas en blanco, esto es algo muy sencillo que Quitar filas en
ya conocemos, por lo tanto, teniendo cualquier columna Blanco
seleccionada vamos a la pestaña Inicio grupo Reducir Filas,
desplegamos las opciones de Quitar Filas para finalmente
pulsar clic encima del comando Quitar Filas en Blanco.
Figura 6. 7 – Quitar Filas en Blanco
Procedamos a remover ahora etiquetas no congruentes y las Aplicar
etiquetas totales para columnas, todo ello también en un Filtros
mismo paso, tal tarea la podemos conseguir con el filtro de la
columna numero 1 deseleccionado los elementos:
▪ (nulo)
▪ Ingresos Generados …
▪ Año 2015
▪ Semestre 2015
La imagen siguiente lo muestra:
[Link]
306 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Figura 6. 8 – Elementos de Filtros a Desactivar
— ¿Qué hace falta?
Remover las columnas en blanco, concretamente las columnas
2 y 10.
Para ello seleccionamos la columna 2 y a continuación con la
tecla «Ctrl» sostenida seleccionamos la columna 10, luego de
ello pulsamos clic derecho, en el menú que emerge ubicamos
el comando Quitar pulsamos clic.
La tabla hasta este punto debe lucir.
[Link]
El ADN de Power Query 307
Figura 6. 9 – Tabla de Datos Después de Limpieza Inicial
Es menester hacer énfasis en que: Promover
Encabezado
Un punto crítico consiste en utilizar la primera fila
como encabezados, después de la limpieza inicial.
En ocasiones se puede pasar por alto algo tan importante y
posteriormente dar con un resultado extraño, por lo previo
debemos ir a la pestaña Transformar grupo Tabla y pulsar en el
comando Usar la Primera Fila como Encabezado.
Figura 6. 10 – Tabla de Datos con Fila Promovida
[Link]
308 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Pausemos un Momento
Tratar de utilizar operaciones como anulación de dinamización y
columna dinámica sin haber realizado la limpieza inicial, que en
realidad consisten en técnicas de primer grado y por ello el orden del
presente libro, es una lucha propia de necios, peor aún si se deja total
y subtotales para la parte de análisis.
Unpivot: Un Nivel de Encabezado de Columna
¡Ha llegado la hora de la verdad!
Las tres vertientes de la operación de anulación de dinamización se
pueden encontrar en la pestaña Transformar grupo Cualquier
Columna y opciones Anula dinamización de Columnas.
Figura 6. 11 – Variaciones de la Operación Anulación de Dinamización
Los comandos también pueden encontrarse fácilmente gracias
a la sutil magia del clic derecho.
— ¿Cuál de las tres utilizar?
[Link]
El ADN de Power Query 309
Depende del caso …
En nuestra situación descartamos la vertiente Anulación de
Dinamización de Columnas Seleccionadas Únicamente por que a
medida que aparezcan más meses: Julio, agosto, septiembre,
octubre, etc., etc. Queremos que se vaya anulando la
dinamización de dichas columnas también.
Entre los comandos Anulación de Dinamización de Columnas y
Anulación de Dinamización de Otras Columnas que al fin de
cuentas es lo mismo, pero en nuestro escenario lo más
económico sería el comando Anulación de Dinamización de Otras
Columnas debido a que solo debemos seleccionar la columna
País en contraste con Anulación de Dinamización de Columnas
donde se deben seleccionar seis de ellas, esta diferencia sutil
pero de micro productividad nos hace decantarnos por
Anulación de Dinamización de Otras Columnas.
— Ejecutemos la operación:
Seleccionamos la columna País, luego pulsamos clic derecho y
ejecutamos el comando Anulación Dinamización de Otras
Columnas.
Y como por arte de mágica llegamos al formato tabular, sin
mayor trabajo adicional que renombrar los campos con
nombre Atributo y Valor.
[Link]
310 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Figura 6. 12 – Fragmento de Formato Después de A.D.O.C
Inicialmente procederemos a quitar los encabezados y
ponerlos como una fila normal de datos.
Unpivot: Dos Niveles de Encabezados Columna
Aunque el caso anterior es extremadamente sorprendente ya
que en días pretéritos lograr darle el formato indicado a este
tipo de tablas requería de un trabajo riguroso, no obstante, las
posibilidades que se derivan de la operación de anulación de
dinamización van muchísimo más allá, debido a que con el
apoyo de otras operaciones y una buena lógica podremos
resolver escenarios más complejos y formatos enrevesados, no
en su lector, sino en su cantidad de variables para llegar al
formato tabular.
[Link]
El ADN de Power Query 311
El subsiguiente caso de estudio nace de manera natural,
hablamos de: formato con dos niveles de encabezados en Dos Niveles de
Encabezado
columnas.
Un nivel de encabezado de columna, como ya hemos
mencionado antes, agrupa varios campos bajo una categoría.
Un nivel de encabezado de columna, como ya hemos mencionado
antes, agrupa varios campos bajo una categoría.
Esta categoría se indica en una fila que cobija una o más columnas
mediante etiquetas. Generalmente los usuarios de Excel utilizan el
comando Combinar y Centrar para vincularlas entre sí, otros
usuarios conscientes de las implicaciones y posibles dolores de
cabeza (que puede devenir con dicho comando) prefieren la opción
de Centrar en la selección.
Lo anterior nos da entender que al tener otro nivel existirá una
categoría que agrupa otros campos.
A todas luces, una imagen dejara claro como agua de que va
lo de niveles de encabezados de columnas, así que vamos al
archivo:
¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 6 puedes encontrar el archivo de Excel con nombre:
CAP6, [Link].
[Link]
312 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
El segundo nivel de encabezado vemos que agrupa varias columnas, es decir, enero cobija las
columnas Ingresos, Presupuesto y Variación.
El primer nivel de encabezado será siempre la etiqueta natural de la columna o nombre del
campo, este caso únicamente agrupa una única columna, por ejemplo: Ingresos.
Figura 6. 13 – Formato con Dos Niveles de Encabezados
— ¿Cómo llevar la tabla anterior al formato tabular?
Lista de Para estar todos 100% en sintonía, listamos las columnas que
Columnas debe tener al final nuestra tabla con el formato tabular:
▪ País
▪ Medida (Los elementos indican si es ingreso, presupuesto o
variación)
▪ Mes
▪ Valor
[Link]
El ADN de Power Query 313
Si nuestra tabla no tuviera la etiqueta de los meses, es decir, el
nivel de encabezado de mes la solución sería muy sencilla, pues
como ya hemos estudiado antes bastaría con anular
dinamización, a pesar de ello, lo peliagudo del escenario es que
debemos pasar tanto mes a elementos de columnas como las
medidas, que corresponde a ingresos, presupuesto y variación.
— ¡He aquí el truco!:
Combinar las dos primeras filas de la tabla de la siguiente
forma:
Figura 6. 14 – Objetivo con los dos niveles de encabezados de columnas
Manos a la obra:
1. Abrimos un archivo nuevo de Power BI.
2. Vamos al grupo Datos Externos y desplegamos las
opciones comando Obtener datos, para allí seleccionar
Excel.
3. Navegamos en nuestro PC y seleccionamos el archivo
CAP6, [Link] y lo cargamos.
4. En el cuadro de diálogo Navegar seleccionamos el
elemento IPV y clic en el botón Editar
[Link]
314 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Así se verá nuestra tabla en la interfaz de Power Query en Power
BI:
Figura 6. 15 – Fragmento de la Tabla con Dos Niveles de Encabezados de Columnas
Primero, lo primero: la limpieza incial:
(1) Limpieza Inicial 1. Seleccionamos la primera columna, vamos a la pestaña
Inicio, mostramos las opciones de Quitar Filas para luego
pulsar clic en Quitar filas en blanco.
2. Nos desplazamos al extremos derecho de la tabla en la
interfaz de Power Query para observar que las columnas
8 y 9 estan en blanco, las selccionamos con la tecla Ctrl
sostenida, clic derecho para luego pulsar en el comando
Quitar Columnas.
3. En la Columna 1 (Column1) desplegamos los filtros y
deshabilitamos TOTAL.
[Link]
El ADN de Power Query 315
Podremos notar que Power Query nos situó el encabezado de
NOTA
Mes como encabezados de campos, sin embargo, necesitamos
que sea una fila normal, para ello vamos a el panel de Es válido recordar que
dependiendo de la
Configuración de la Consulta y seleccionamos el paso tecnología o la versión de
Power Query puede que
Encabezados Promovidos, posteriormente pulsamos clic en la x
automáticamente no añada
en su extremo izquierdo para remover el paso. el paso: Encabezados
Promovidos
automáticamente, puede
ocurrir especialmente en
Excel y Microsoft Flow.
Figura 6. 16 – Remover Paso: Encabezados Promovidos
Al hacerlo Power Query arrojara en la interfaz un error
inevitable:
Figura 6. 17 – Error al Eliminar Paso Encabezados Promovidos
[Link]
316 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
La solución al problema anterior consiste en eliminar todos los
pasos Tipo Cambiado, en nuestro caso particular solo tenemos
uno.
Figura 6. 18 – Eliminar Paso Tipo Cambiado
¡Riesgo: Advertencia!
Cada vez que eliminemos un paso de Encabezados Promovidos y
existan pasos ulteriormente, con toda seguridad la interfaz nos
arrojara un error.
Esto ocurre porque al pasar a lo nombres genéricos Column1,
Column2, Column3, etc. Los siguientes pasos, y en concreto el paso
siguiente de Tipo Cambiado no encuentra los nombres de Columnas
Enero ni Febrero.
Para zanjar el inconveniente basta con eliminar todos los pasos tipo
cambiado, sin importar si es el inmediatamente siguiente o alguno más
adelante. (Recordemos, que una buena práctica que recomendamos
consiste en asignar los formatos de cada columna al final - siempre
que sea posible -)
[Link]
El ADN de Power Query 317
A este punto nuestra tabla debe estar así:
Figura 6. 19 – Tabla con dos niveles de encabezados después de limpieza inicial
El siguiente paso, y el principal para este escenario, reside en
tratar de combinar las dos primeras filas, empero: En Power
Query no se pueden combinar filas, solamente columnas.
Para abordar este desafío debemos pensar un poco por fuera
de la caja, justamente transponer la tabla para combinar las (2) Transponer la
Tabla
dos primeras columnas, esto nos da indicar que, debemos ir la
pestaña Transformar y en el grupo Tabla para ubicar el
comando Transponer y pulsar clic encima de este.
Figura 6. 20 – Fragmento de la Tabla Transpuesta
[Link]
318 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Antes de combinar las dos primeras columnas, es menester
rellenar abajo, ya que si no lo hacemos al combinar los
elementos Presupuesto y Variación quedarían sin el mes
correspondiente
(3) Rellenar Abajo Para ello seleccionamos la primera columna 1, para ir a la
pestaña Transformar y en el grupo Cualquier Columna desplegar
las opciones de Rellenar, allí oprimimos Abajo.
Figura 6. 21 – Fragmento de la Tabla luego de Rellenar Abajo
(4) Combinar Por fin, combinaremos nuestras dos columnas, esto es simple:
Columnas seleccionamos las dos columnas (Columns1 y Columns2), luego
clic derecho y pulsamos clic encima del comando Combinar
Columnas.
Con lo anterior aparecerá el cuadro de diálogo: Combinar
Columnas.
[Link]
El ADN de Power Query 319
Figura 6. 22 – Cuadro de Diálogo Combinar Columnas
Lo primero es seleccionar un separador que después nos
permita dividir sin ninguna dificultad las columnas en sus partes
principales, puesto que, si los elementos de las columnas NOTA
tienen, por ejemplo: coma (,) y seleccionamos precisamente Es bueno escoger un
carácter que sea fácil de
esta como separador, más temprano que tarde tendremos que sacar con nuestro teclado,
dividir nuevamente y se tornara pesadamente complicado; muchas veces, las
combinaciones Alt en los
esto quiere decir que lo mejor será seleccionar un separador computadores portátiles no
funcionan correctamente
poco común. por la ausencia del teclado
numérico en la parte
derecha, por ello, la pleca es
La siguiente tabla listas caracteres de uso poco probable: una opción universal.
Combinaciones:
Tabla 6. 1 Caracteres Poco Comunes ideales como separadores
También es perfectamente
válido utilizar cualquier
combinación de caracteres
como separador, por
ejemplo: Excel, Power
Query, asdjasd, todas son
opciones buenas.
[Link]
320 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Entonces, procedemos a mostrar la lista desplegable y escoger
la opción Personalizado, con lo previo se habilita una caja de
texto para digitar nuestro carácter especial, en nuestro caso,
utilicemos la barra vertical: |
La última parte nos ofrece la posibilidad de señalar el nombre
de la nueva columna, por defecto es Combinada, dejemos
intacto el nombre y clic en aceptar.
(4) Transponer Si bien han quedado combinados, es propicio recordar que las
necesitamos como filas, por lo tanto, transponemos la tabla
nuevamente.
Figura 6. 23 – Fragmento de Tabla con columnas combinadas y posteriormente transpuesta
— ¿Puedes indicarnos cuál paso hace falta?
Genial: Utiliza la primera fila como encabezados. La tabla de
mostrarse así:
[Link]
El ADN de Power Query 321
Figura 6. 24 – Fragmento de Tabla, Transpuesta y Fila Promovida
Nuestro amigo(a) lector(a) ya podrá inferir que el comando a
utilizar de las tres opciones de Anulación de Dinamización debe
ser; A.D.O.C, por lo tanto, seleccionamos la columna número 1,
clic derecho y comando Anulación de Dinamización de Otras
Columnas.
Figura 6. 25 – Fragmento de la Tabla después de anular dinamización
[Link]
322 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Nos restan unos finos detalles, puntualmente dividir la
columna Atributo por el separador (|) y luego renombrar las
columnas por nombres más descriptivos, así como asignar los
formatos si es necesario.
1. Seleccionamos la columna Atributo, clic derecho y
vamos a las opciones de Dividir y allí nos decantamos
por Dividir Columna por Delimitador y aceptamos
2. Renombramos las columnas como: País, Mes, Medida y
Valor
¡Y voilá!
Figura 6. 26 - Tabla con dos Niveles de Encabezado en Formato Tabular
[Link]
El ADN de Power Query 323
Un Pivot: Dos Niveles de Rótulo de Fila
Visiblemente más niveles de encabezados de columnas son
perfectamente lícitos, en el caso previo teníamos dos niveles
(los nombres de los campos los contamos como el primer nivel de
encabezado), sin embargo, otra posibilidad es tener una
etiqueta o rótulo que agrupe varias filas.
La imagen a continuación muestra un nivel de rótulo de fila:
El rótulo Alta Población agrupa las tres primeras filas mientras que el rótulo de Baja Población
agrupa de la 4 fila en adelante.
Figura 6. 27 – Tabla con un Niel de Rótulo de Fila
[Link]
324 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
A las filas naturales de la base de datos las contamos como el
primer rótulo de fila, en dicho caso será evidente que cada
rótulo ocupa una sola fila.
¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 6 puedes encontrar el archivo de Excel con nombre:
CAP6, [Link].
1. Abrimos un archivo nuevo de Power BI.
2. Vamos al grupo Datos Externos y allí desplegamos las
opciones de Obtener Datos para finalmente pulsar clic
en Excel.
3. Navegamos en nuestro computador para seleccionar y
cargar el archivo CAP6, EJ [Link]
4. Eliminamos los pasos: Promover encabezado y Tipo
cambiado.
5. Quitamos filas en blanco y columnas en blanco (de
forma idéntica en cómo se hizo en la sección previa)
6. Desplegamos los filtros de la columna 2 (Column2) y
deshabilitamos el elemento TOTAL.
Hasta este punto, en esencia es lo mismo, pero la
diferencia marcada radica en el paso siguiente:
[Link]
El ADN de Power Query 325
7. Seleccionamos la primera columna y rellenamos abajo.
Figura 6. 28 – rellenar Abajo Primera Columna que corresponde al primer nivel de Rótulo
8. Transponer la tabla.
9. Seleccionar la primera columna y rellenar abajo
10. Seleccionamos las columnas 1 y 2 y las combinamos,
en esta oportunidad podemos utilizar el carácter: «¶»
para variar
11. Transponemos la tabla nuevamente y utilizamos la
primera fila como encabezados
12. Seleccionamos columnas 1 y 2 y aplicamos A.D.O.C
[Link]
326 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Figura 6. 29 – Fragmento de la Tabla Después de A.D.O.C con un nivel de rótulo de fila
13. Dividir Columna Atributo por delimitador: ¶
14. Renombrar Columnas, así: Densidad de Población, País,
Mes, Medida y Valor.
Figura 6. 30 – Fragmento de la Tabla con nivel de rótulo después de separar columnas y renombrar
[Link]
El ADN de Power Query 327
¡Toma Nota!
¡Nomenclatura NxM!
La nomenclatura NxM informa que podemos encontrar tablas con
formatos donde existen N rótulos de filas y M niveles de encabezados
de columnas. Como se ha podido apreciar en los casos anteriores (1x1,
1x2 y 2x2) se entrevén patrones de transformación, el objetivo es llegar
al “algoritmo” para cualquier caso, sin embargo, la generalidad de esta
situación será tratada en el próximo capítulo (capítulo 7) y la
automatización total en el capítulo 19.
Columna Dinámica (Pivot)
Es hora de fijar el foco del capítulo en el segundo hijo de la
transposición: La columna dinámica. Así como lo son los
integrales a las derivadas o la resta a la suma, la operación de
columna dinámica es la inversa de la anulación de
dinamización.
Una ilustración para mayor claridad:
Formato Tabular
(Formato) Tabla Dinámica
Figura 6. 31 - Esquema del Input y Output de la Operación de Columna Dinámica
[Link]
328 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Como ya es costumbre a estas alturas daremos paso al estudio
de la:
Mecánica de Columna Dinámica (Versión Simple)
La operación de columna dinámica realiza lo siguiente:
Toma cada valor único de los elementos de la columna
seleccionada y los convierte en encabezados de columnas;
para las demás columnas excluyendo una especifica llamada
Funcionamiento: Columna de Valor, deja la lista de elementos únicos o la
Lógico de Columna combinación de elementos únicos si son varias columnas.
Dinámica
Para la columna especial denominada Columna de Valor,
realiza el agregado que indiquemos, es decir: Suma, Promedio,
recuento, etc. - Dependiendo del caso -.
Este proceso de columna dinámica o dinamización de
columnas (Pivot) se puede ver cómo crear una «tabla dinámica»
(su formato) en Power Query, donde en el área de columnas sólo
puede ir un campo (que sería la columna dinámica) y varios en el
área de filas.
¡Toma Nota!
Una diferencia notable con la analogía de tablas dinámicas respecto al
resultado de la operación de Columna Dinámica es que esta última no
incluye ni totales ni subtotales.
[Link]
El ADN de Power Query 329
Versión: Simplificada
Inicio
¡Información!
La tabla inicial debe ser
idealmente una tabla con
formato tabular óptimo,
es decir, aplicar la
limpieza de datos inicial.
Proceso / Mecánica
Final
Recordemos que este proceso de columna
dinámica o dinamización de columnas (Pivot
Column) se puede ver cómo crear una “tabla
dinámica” (su formato) en Power Query,
donde en el área de columnas solo puede ir
un campo (que sería la columna dinámica).
Además, este formato no incluye ni totales ni
subtotales.
[Link]
330 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Recomendaciones y Buenas Prácticas
El requisito para antes orquestar al tempo de la operación de
columna dinámica es la limpieza, entonces, se infiere que:
Regla General Lo primero a realizar es remover:
▪ Totales generales y subtotales (Si aplica)
▪ Filas y columnas en blanco (Si aplica)
▪ Filas y columnas de error (Si aplica)
▪ Filas y columnas Duplicadas (Si aplica)
▪ Etiquetas no congruentes en el contexto de los datos
(Si aplica)
Estamos viviendo un Déjà vu. Ni de cerca, puesto que a estas
alturas ya debe ser 100% claro que lo primero siempre a
ejecutar es la limpieza de datos inicial.
Veamos, ahora sí, la operación de columna dinámica directamente
en la interfaz de Power Query:
¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 6 puedes encontrar el archivo de Excel con nombre:
CAP6EJ4 – ColumnaDiná[Link].
[Link]
El ADN de Power Query 331
7. Abrir un archivo nuevo de Power BI
8. Inicio → Datos Externos → Obtener Datos → Excel
9. Navegamos en nuestro computador para ubicar,
seleccionar y cargar el archivo: CAP6EJ4 – Columna
Diná[Link]
10. En el cuadro de diálogo Navegador seleccionamos el
elemento Ejemplo11 y clic en el botón Editar.
Nuestra tabla tiene un aspecto inofensivo, de hecho, se
concluye de primer vistazo que no es necesario la limpieza de
datos inicial.
Figura 6. 32 – Tabla para Dinamizar Columna
Pivot (Columna Dinámica): Versión Simplificada
Si queremos aplicar la operación de Columna Dinámica a la
tabla previa, lo primero que demos preguntarnos es: de cuál de
los campos apetecemos extraer los elementos únicos para que
pasen a ser encabezados de columnas, visto de otra forma,
cuál sería el campo que llevaríamos al área de columnas si el
objetivo fuera crear una tabla dinámica.
[Link]
332 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
La respuesta varía dependiendo en cómo se desee mostrar la
información, de donde se infiere que, la columna Año o Mes son
respuestas legales; para este ejemplo, vamos a darle los
honores a la columna Mes, por todo esto, esta será la columna
dinámica la cual debemos seleccionar en la interfaz de Power
Query.
Figura 6. 33 – Tabla para Dinamizar Columna, con la Columna a Dinamizar Seleccionada
Ahora ponemos rumbo a la pestaña Transformar, grupo
Cualquier Columna y pulsamos clic encima del comando
Columna Dinámica.
Figura 6. 34 – Cuadro de Diálogo Columna Dinámica
[Link]
El ADN de Power Query 333
Nótese en la imagen preliminar que el cuadro de diálogo
NOTA
enseña la columna dinámica mediante el texto: Use los nombres
La temática de tablas
de la columna “Mes” para crear columnas nuevas. dinámicas la hemos tratado
ampliamente en nuestro
canal de YouTube, por lo
— ¡Momento de decidir la columna de valores! que si necesitas un repaso
he aquí el material.
Esta sería la «columna que arrastraríamos al área de valores en
una tabla dinámica», a menudo una columna numérica, para
nosotros coincide con la columna: Tx.
Luego, mostramos las Opciones avanzadas, allí seleccionamos
[Link]
el tipo de agregado que queremos que se aplique en la
columna valor. Otros recursos para
alcanzar la maestría en una
de las funcionalidades más
importantes en el catálogo
de un profesional son:
▪ El ADN de las Tablas
Seleccionamos la columna Tx. Dinámicas (2019)
▪ El Arte Marcial de las
Tablas Dinámicas (2018)
Tipo de Agregado
▪ Tablas Dinámicas La
Quinta Dimensión
(2015)
Figura 6. 35 – Parametrización Completa para Columna Dinámica
¡Riesgo: Advertencia!
Para el ejemplo previo, independientemente del tipo de agregado
aplicado, el resultado de la operación proporcionará el mismo
resultado, puesto que, la intersección fila-columna siempre tendrá un
único valor.
[Link]
334 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Finalmente, oprimimos el botón Editar.
Figura 6. 36 – Tabla con Columna Dinámica Aplicada
Veamos el símil con Excel:
Figura 6. 37 – Símil Dinamización de Columna con Tabla Dinámica
¡Toma Nota!
Podemos concluir que todos los campos restantes, es decir,
exceptuando el campo de columna dinámica y el de valor, van
directamente al área de filas de la tabla dinámica, situación que se
cumple a cabalidad con la operación de columna dinámica.
[Link]
El ADN de Power Query 335
Trazar una línea es adecuado, a causa de que la operación de
columna dinámica hasta aquí es la versión simplificada, entre
otras cosas porque sola hay tres campos.
Esto nos lleva a profundizar, y si bien, la mecánica de la
operación de columna dinámica debatida páginas atrás es
buena, el funcionamiento lógico de la versión expandida
explícitamente dará paso a claridad absoluta.
Mecánica de Columna Dinámica (V. Expandida)
1. Extrae la lista de elementos únicos y cada elemento lo
convierte en encabezado de columna.
Funcionamiento:
Lógico Versión
2. Para la(s) columna(s) no seleccionadas y excluyendo la
Expandida
columna de valor y la columna dinámica, deja la lista de
elementos únicos para esa columna o la combinación
de elementos únicos de las columnas.
3. Para la Columna de valor: realiza el agregado señalado.
a. Si para cada intersección fila(s)-columna(s) en
lo que sería la tabla resultado existe un único
elemento en la tabla inicial, entonces, se puede
indicar: No agregado.
b. Si al buscar en la tabla inicial según los
parámetros de intersección de lo que sería la
tabla resultado no encuentra ninguna fila que
cumpla, entonces retorna null.
[Link]
336 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Versión: Expandida
Inicio Proceso / Mecánica
• C.D: Columna Dinámica
• C.V: Columna de Valor
¡Atención!
Los pasos se pueden leer con claridad en
la página anterior.
Final
Repasemos que este proceso de columna
dinámica se asemeja a crear una “tabla
dinámica” (su formato) en Power Query,
donde en el área de columnas solo puede
ir un campo (que sería la columna
dinámica). Además, este formato no
incluye ni totales ni subtotales.
[Link]
El ADN de Power Query 337
Pivot (Columna Dinámica): Versión Extendida
Saltemos inmediatamente a la acción, para ello tengamos
presente que el archivo a utilizar es el siguiente:
¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 6 puedes encontrar el archivo de Excel con nombre:
CAP6EJ4 – Columna Diná[Link].
1. En esta oportunidad utilicemos el mismo archivo de
Power BI que ya hemos creado del ejercicio anterior.
2. En la interfaz de Power Query posicionamos el cursor de
nuestro ratón en el extremo izquierdo encima del Panel
de Consultas en un área “gris” y pulsamos clic derecho,
luego se muestra un pequeño menú en donde vamos a
seleccionar: Nueva consulta, para finalmente dar clic en
Excel.
Figura 6. 38 – Nueva Consulta de Panel de Consultas
[Link]
338 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
3. Buscamos en nuestro computador el archivo CAP6EJ4
– Columna Diná[Link] para seleccionarlo y cargarlo
4. Inmediatamente emerge el cuadro de diálogo
NOTA
Navegador, allí apreciaremos en su extremo izquierdo 4
Una característica clara de elementos, seleccionamos el elemento con nombre
la consulta Ejemplo 22 que
estamos trabajando se Ejemplo 22 y clic en el botón Aceptar.
cimenta en que no hace
falta la limpieza de datos
inicial, porque no tiene filas
ni columnas en blanco.
Por el motivo descrito del
paso 4 al 5 se va
directamente a ejecutar el
comando Columna
Dinámica (Pivot)
Figura 6. 39 – Elemento Ejemplo 22
5. Saltamos directamente a seleccionar la columna Mes
para ir a la pestaña Transformar y pulsar clic en el
comando Columna Dinámica que se ubica en el grupo
Cualquier Columna.
6. Para el cuadro de diálogo Columna Dinámica no está de
más cerciorarnos que el texto diga: Use los nombres de
columnas “Mes” para crear columnas nuevas, en la
siguiente instancia seleccionamos la columna «Tx» en
la lista desplegable Columna de Valores. Mostramos las
Opciones Avanzadas y en la lista desplegable
correspondiente Función de Valor Agregado vamos a
inclinarnos por No Agregar.
[Link]
El ADN de Power Query 339
Figura 6. 40 – Configuración del Cuadro de Diálogo Columna Dinámica
7. Como paso concluyente solo nos resta presionar encima del
botón Aceptar.
A lo mejor el resultado incite estupor, a consecuencia de los
errores que se visualizan por doquier en las columnas Enero y
Febrero.
Figura 6. 41 – Errores en Columna de Valores en la Operación Pivot
— ¿Puedes explicar por qué?
Si es así excelente, en todo caso, acompáñanos en las
siguientes páginas para esclarecer el porqué de los errores.
[Link]
340 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Sigamos los tres pasos del esquema:
A: Columna Dinámica (C.D)
B: Columna de Valor (C.V)
C.D: Extrae la lista de
1 elementos únicos y cada uno
lo convierte en encabezado de
columna.
Excluyendo C.D y C.V, deja
2 la combinación de
elementos únicos de las
columnas restantes
Figura 6. 42 – Esquema de Columna Dinámica con Ejemplo
[Link]
El ADN de Power Query 341
Arribamos al quid de la cuestión, el paso número 3:
Columna de valor: Realiza el agregado señalado.
Si para cada intersección fila-columna en lo que sería la tabla
resultado existe un único elemento en la tabla inicial, entonces, se
puede indicar: No agregado.
Si al buscar en la tabla inicial según los parámetros de intersección
de lo que sería la tabla resultado no encuentra ninguna fila que
cumpla, entonces retorna null
En suma, nos hace falta analizar las partes de la tabla donde
están los errores, de resto sabemos con exactitud como han
surgido:
Elementos de Fila
Figura 6. 43 – Analizando Columnas de Error
En particular el análisis se hace casilla a casilla (de ahí la aparte Sub Paso 1
de: para cada intersección fila-columna), por lo que vamos a
tomar la encerrada en la figura anterior en (1).
Luego empareja los elementos “sobrantes” de dicha fila, es
decir, los que no provienen de la columna dinámica.
[Link]
342 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Sub Paso 2 Y “filtra” la tabla de inicio con dichos elementos “sobrantes” en
las columnas correspondientes
Elaboremos un esquema de “zoom” de esta parte final por mor
de una explicación más exquisita.
1 Empareja los elementos “sobrantes” de la fila y los utiliza como filtros en
las columnas correspondientes.
El problema es que no puede
mostrar una columna de valores
en una sola casilla.
Ten presente que la columna de valor es «Tx» y el tipo
de agregado que seleccionamos fue: «No Agregar».
2 Toma los elementos del campo de valor, que para la situación específica es
«Tx» y lo retorna a la posición equivalente, que en este caso se corresponde
con la casilla de análisis
Figura 6. 44 – Zoom del Paso en la Mecánica de Columna Dinámica
[Link]
El ADN de Power Query 343
Es claro ahora: el Error se presenta porque al indicarle No
Agregado no tiene manera de presentar una columna en una
sola casilla, de hecho, si pulsamos clic encima de unas de las
palabras de Error…
Figura 6. 45 – Clic en el Error
La interfaz muestra un mensaje diciendo precisamente eso,
con otras palabras, pero en conclusión señalando que son
demasiados elementos.
Tabla 6. 2 – Error de Demasiados elementos
¡Toma Nota!
Al presionar en la palabra Error se agrega un paso más en el Panel de
Pasos Aplicados con el nombre de la columna, para el caso Enero, por
lo tanto, si pretendemos realizar una nueva manipulación no
olvidemos en eliminar este último.
— Será transparente ahora la parte que reza:
[Link]
344 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Si para cada intersección fila-columna en lo que sería la tabla
resultado existe un único elemento en la tabla inicial, entonces,
se puede indicar: No agregado.
El Siguiente Paso
Los lindes de las operaciones de Columna Dinámica y Anulación
de Dinamización no concluyen aquí, es más, sus bondades e
infinitas posibilidades demandan, aunque sea un par de
capítulos adicionales, debido a que el poder que subyacen en
ellas puede continuar en explotación, es por esto por lo que
entre otras cosas el siguiente capítulo seguirá tratando el
tema, pero con algo más de picante.
[Link]