Está en la página 1de 638

EL ADN de Power

Query
EL ADN de
Power Query

Miguel Caballero Sierra


Consultor, Formador y Autor en Business Intelligence

Fabian Torres Hernández


Consultor, Formador y Autor en Business Intelligence
Datos de Catalogación Bibliográfica

MIGUEL CABALLERO & FABIAN TORRES


El ADN de Power Query. Primera Edición
COLECCIÓN ADN, Colombia 2019.
ISBN: 978-958-46-8524-7
Área: Software de Oficina
Formato: 21.50 cm x 27.94 cm Páginas: 638

Versión digital e impresa autorizada por la marca Excel Free Blog en excelfreebymcs@gmail.com, Titulada:
El ADN de Power Query. 1 ra ed., (Capítulo 1 al 13 + 2 Anexos) por: Ing. Miguel A. Caballero Sierra e Ing.
Fabian E. Torres Hernández, autores de la Obra. Perteneciente a www.excelfreeblog.com en su Colección ADN
y distribuido por los mismos, sus afiliados y aliados de comercio electrónico.

El ADN de Power Query © Copyright por Excel Free Blog.


Todos los Derechos Reservados │ Publicado: 23/5/2019
ISBN: 978-958-46-8524-7

PRIMERA DISTRIBUCIÓN DE LA VERSIÓN DIGITAL, PRIMERA IMPRESA.


23/05/2019.

Edición en Español
Autores: Miguel Caballero Sierra Editor: Miguel Caballero Sierra
Fabian Torres Hernández Diseño de Portada: María Alejandra Ramírez

Ninguna parte de este producto puede ser reproducida, almacenada, por ningún sistema de obtención de
información o transmitido en ninguna forma: electrónica, mecánica, fotocopia, fotoquímica, grabación,
escaneo o ninguna relacionada sin el permiso previo de los autores o autorización mediante el pago previo
de impuestos y adjudicación de derechos de autor.

DECLARACIÓN DE GARATÍA: LOS AUTORES, EDITORES DISTRIBUIDORES NO INCLUYE NINGUNA GARANTÍA O CONVENIENCIA RESPECTO A LA PRECISIÓN O
INTEGRIDAD DEL CONTENIDO DE ESTE TRABAJO Y ESPECIFICAMENTE RENUNCIAN A TODA GARANTÍA, INCLUIDAS LAS GARNATÍAS DE LIMITACIÓN DE
ADECUACIÓN PARA UN PROPOSITO PARTICULAR. NINGUNA GARANTÍA PUEDE SER CREADA O AMPLIADA POR VENTTAS O MATRIALES PROMOCIOANALES. LOS
CONSEJOS Y ESTRATEGIAS AQUÍ CONTENIDO PUEDEN NO SER CONFORMES PARA CADA SITUACIÓN. ESTE TRABAJO SE VENDE CON EL ENTENIDMIENT DE
QUE LOS AUTORES, EDITORES Y DISTRIBUIDORES NO ESTAN INVOLUCRADOS EN LA PRESTACIÓN DE SERVIOOS LEGALES, CONTABLEES U OTROS SERVICIOS
PROFESIONALES. SI UN SERVICIO PROFESIONAL ES REQUERIDO, EL SERVICIO DE UNA PERSONA PROFESIONAL DEBERÍA SER BUSCADO. NI LOS EDITORES
NI LOS AUTORES SERÁN RESPONSABLES DE LOS DAÑOS Y PERJUICIOS QUE DEREIVEN DE ELLO. El HECHO DE QUE UNA ORGANIZACIÓN O SITIO WEB SEA
REFEREIDA EN ESTE TRABAJO COMO CITA O POTENCIAL FUENTE DE INFORMACIÓN NO SIGNIFICA QUE LOS AUTORES O EDITORES RESPALDEN LA
INFORMACIÓN QUE LA ORGANIZACIÓN O SITIO WEB PUEDAN PROPRCIONAR O RECOMENDAR. ADEMÁS, LOS LECTORES DEBEN TENER EN CUENTA QUE LOS
SITIOS EN INTERNET LISTADOS EN ESTE TRABAJOL INTERVALO DE TIEMPO EN QUE ESTE TRABAJO ES REALIZADO Y CUANDO ES LEEIDO.
Para información general o de nuestros otros productos por favor contactar a: excelfreebymcs@gmail.com
ISBN: 978-958-48-3993-0 │ Edición 1, Distribución 1: 26/05/2019.
Contenido Breve

Introducción …………………………………………………………………………….. xxi

Parte I: Conocimiento Esencial en Power Query

1 Fundamentos y Preparación de Datos Inteligente ……………………………………. 46

2 Ingredientes Esenciales para Trabajar con Power Query……………………………... 70

3 Conectores que Pueblan Power Query ……………………………………………….. 98

Parte II: Limpieza y Adecuación de Datos

4 Limpieza de Datos de Primer Grado, Técnicas de Depuración ……………………….116

5 Aplicaciones Superiores con Técnicas de Depuración ……………………………….192

6 Materialización Alterna de Tablas con Modos de Dinamización …………..………… 286

7 Grados de Libertad y Pseudo Generalización NxM ………………………………...…344

8 Transformaciones Superiores con Modos de Dinamización ……………………….... 368

Parte III: Integración de Datos

9 Anexar ……………………………………………………………………………....404

10 Combinar (Tipos de Joins) …………………………………….………………….... 466


Contenido Breve

Parte IV: Lenguaje de Funciones de Power Query: M

11 Elementos y Herramientas Primordiales para Trabajar en M…………………………546

12 Expresiones, Declaración de Variables y Literales………………………………...….566

13 Tipos de Datos sus Operadores y Valores Intrínsecos……...………………….…..…582

14 Ambiente ………………………………………………………………….…………….

15 Librería de Funciones Atómicas …………………………………………………………

16 Librería de Funciones Estructuradas …………………………………..……..…………

17 Funciones Personalizadas y Función Anónima ……………..………………………...…

18 Bucle "Do-While" y/o "While-End" en M…………………………………..……………....

19 Aplicaciones con el Lenguaje M ………………………………………………………....

Epílogo ………………………………………………………………………...……dcxxii

Anexos

A. Anexo A: Topología de Tablas ………………………………...……........………….627

B. Anexo B: Intellisense para Excel……………………………....………...…...………631

→ ←
ix

Contenido Detallado

Contenido Detallado ............................................................................................................. ix


Introducción ......................................................................................................................... xxi
Acerca de Este Libro ........................................................................................................................ xxii
Es Este Libro Para Ti ........................................................................................................................ xxiii
Versiones de Software ................................................................................................................... xxiv
Convenciones Utilizadas en el Libro .............................................................................................. xxv
Cómo Está Organizado Este Libro ................................................................................................. xxx
Descripción de Capítulos ............................................................................................................... xxxi
Acerca de la Colección ADN ....................................................................................................... xxxvii
Perfila Tu Viaje Por Power Query................................................................................................. xxxix
Archivos de Trabajo....................................................................................................................... xxxix
Programa de Actualización de Contenido .......................................................................................xl

PARTE I: Conocimiento Esencial en Power Query........................... 43


Capítulo 1: Fundamentos y Preparación de Datos Inteligente ........................................ 45
El Binomio Perfecto ............................................................................................................................... 46
La Distorsión Innegable .................................................................................................................... 46
Prólogo del Final y el Inicio .............................................................................................................. 48
Ejemplificación y Casos Comunes....................................................................................................... 49
Formato de Tabla Dinámica a Formato Tabular ............................................................................ 49
Eliminar Filas en Blanco y Según Criterio ....................................................................................... 53
Power Query .......................................................................................................................................... 56
¿Qué es Power Query?...................................................................................................................... 56
Proceso ETL........................................................................................................................................ 59
Inteligencia de Negocios ...................................................................................................................... 60
El Proceso de Inteligencia de Negocios.......................................................................................... 61
El Lugar de Power Query .................................................................................................................. 62
Crónicas Power Query .......................................................................................................................... 63
Data Explorer ..................................................................................................................................... 63
x Contenido Detallado

Power Query ...................................................................................................................................... 63


Power BI Designer ............................................................................................................................. 64
Obtener y Transformar ..................................................................................................................... 64
SSDT, SSAS, CDS y MS Flow............................................................................................................ 65
El Siguiente Paso ......................................................................................................................... 66
Capítulo 2: Ingredientes Esenciales para Trabajar con Power Query ............................. 69
Conceptos Fundamentales .................................................................................................................. 70
Preparación de Datos ....................................................................................................................... 70
Entendimiento de Datos .................................................................................................................. 71
El Proceso ETL.................................................................................................................................... 72
Consulta: La Esencia de Power Query ............................................................................................ 75
El Gran Objetivo: Formato Tabular ................................................................................................. 77
El Editor de Power Query...................................................................................................................... 80
¿Cómo ir al Editor de Power Query? ................................................................................................. 80
La Interfaz de Power Query: ¡El lugar donde la Magia Ocurre! ...................................................... 83
Metodología Jerárquica A/O ................................................................................................................. 90
Acciones y Operaciones ................................................................................................................... 91
El Siguiente Paso ......................................................................................................................... 94
Capítulo 3: Conectores que Pueblan Power Query (Orígenes & Categorías) ................ 97
Introducción ........................................................................................................................................... 98
Orígenes de Datos Estándar ................................................................................................................ 99
Conector Excel: Pros, Con y Consideraciones ............................................................................... 99
Conector Texto o CSV ................................................................................................................... 109
Otros Orígenes ................................................................................................................................... 110
Orígenes de Bases de Datos Relacionales .................................................................................. 110
Orígenes de Datos en Línea .......................................................................................................... 110
El Siguiente Paso ....................................................................................................................... 110

PARTE II: Limpieza y Adecuación de Datos .................................... 113


Capítulo 4: Limpieza de Datos de Primer Grado, Técnicas de Depuración ..................115
El Primer Paso ..................................................................................................................................... 116
Entendimiento de los Datos ............................................................................................................. 117
Perfil de Datos ................................................................................................................................ 122
Transformación de Datos (Técnicas de Primer Grado) ..................................................................... 128
xi

Reducción: Exclusión de Filas ......................................................................................................... 130


Reducción: Promover Encabezados ............................................................................................... 143
Reducción: Quitar Columnas .......................................................................................................... 144
Formateo de Datos: Dividir Columnas........................................................................................... 150
Formateo de Datos: Reemplazar los Valores ................................................................................ 160
Formateo de Datos: Transformación a Nivel de Columna ............................................................ 164
Formateo de Datos: Asignación de Nombres ................................................................................ 176
Transposición ................................................................................................................................. 184
El Siguiente Paso ....................................................................................................................... 188
Capítulo 5: Aplicaciones Superiores con Técnicas de Depuración ................................191
Introducción ........................................................................................................................................ 192
Agregar Columnas .............................................................................................................................. 193
Columnas a Partir de Ejemplos..................................................................................................... 194
Columna Condicional .................................................................................................................... 204
Columna Personalizada ................................................................................................................. 208
Otras Columnas ............................................................................................................................. 213
Operación de Rellenar: Uso y Consideraciones ................................................................................. 218
Limpieza de Datos Inicial............................................................................................................... 220
Rellenar: Aplicación y Consideraciones ........................................................................................... 229
Zipped Table: Manipulación de Datos Comprimidos .......................................................................... 234
Bonus: Agrupar Por ........................................................................................................................ 258
División de Columnas con Múltiples Criterios Dinámicos ............................................................ 261
El Siguiente Paso ....................................................................................................................... 282
Capítulo 6: Materialización Alterna de Tablas con Modos de Dinamización ...............285
Introducción ........................................................................................................................................ 286
Modos de Dinamización................................................................................................................ 287
Técnicas de Segundo Grado ......................................................................................................... 287
Anulación de Dinamización (Unpivot) ............................................................................................. 288
Mecánica de Anulación de Dinamización ................................................................................... 289
Recomendaciones y Buenas Prácticas ........................................................................................ 296
Unpivot: Un Nivel de Encabezado de Columna ......................................................................... 304
Unpivot: Dos Niveles de Encabezados Columna ....................................................................... 306
Un Pivot: Dos Niveles de Rótulo de Fila ...................................................................................... 319
xii Contenido Detallado

Columna Dinámica (Pivot) ................................................................................................................ 323


Mecánica de Columna Dinámica (Versión Simple) .................................................................... 324
Recomendaciones y Buenas Prácticas ........................................................................................ 326
Pivot (Columna Dinámica): Versión Simplificada ...................................................................... 327
Mecánica de Columna Dinámica (V. Expandida) ....................................................................... 331
Pivot (Columna Dinámica): Versión Extendida .......................................................................... 333
El Siguiente Paso ....................................................................................................................... 340
Capítulo 7: Grados de Libertad y Pseudo Generalización NxM ......................................343
Preámbulo ........................................................................................................................................... 344
Grados de Libertad ............................................................................................................................. 345
Entendiendo Grados de Libertad ................................................................................................. 345
Perdida de Información y Flexibilidad .......................................................................................... 348
Pseudo Generalización ...................................................................................................................... 353
3 encabezados y 3 Rótulos ........................................................................................................... 353
Pseudo Generalización NxM ......................................................................................................... 363
El Siguiente Paso ....................................................................................................................... 364
Capítulo 8: Transformaciones Superiores con Modos de Dinamización .....................367
Prefacio ................................................................................................................................................ 368
Stacked Table: Tratamiento de Tablas Apiladas................................................................................. 369
Nombre de campos coincidentes ................................................................................................ 370
Nombre de campos no coincidentes (Tabla de conversión) ....................................................... 380
Bulky Table: Posibles Manejos a Tablas Abultadas............................................................................. 390
Patrón Claro en los Nombres de Campos ................................................................................... 391
No Hay Patrón en los Nombres de Campos ............................................................................... 395
El Siguiente Paso ....................................................................................................................... 398

PARTE III: Integración de Datos ...................................................... 401


Capítulo 9: Anexar ..............................................................................................................403
Introducción ........................................................................................................................................ 404
¿Qué es la Integración de Datos?................................................................................................. 404
¿Qué es Anexar?.................................................................................................................................. 405
Anexar Consultas................................................................................................................................ 409
Anexar dos o Más Consultas ........................................................................................................ 409
Anexar Varias Hojas de un Archivo de Excel ............................................................................... 424
xiii

Anexar desde una Carpeta ................................................................................................................ 434


Anexar desde una Carpeta –Archivos únicos en la Carpeta ..................................................... 435
Anexar desde Carpeta – con Archivos Extra .............................................................................. 445
El Siguiente Paso ....................................................................................................................... 462
Capítulo 10: Combinar y Tipos de Joins............................................................................465
Preámbulo ........................................................................................................................................... 466
¿Qué es Combinar? ........................................................................................................................ 466
Combinar Dos Tablas ..................................................................................................................... 468
Combinar Dos Tablas: Relación Muchos a Muchos ................................................................... 480
Combinar con Múltiples Columnas Coincidentes ..................................................................... 489
Tipos de Uniones / Types of Joins ..................................................................................................... 498
Tabla Izquierda / Tabla Derecha.................................................................................................... 503
Externa Izquierda (Todas de la Primera, Coincidencias de la Segunda) ................................. 505
Externa Derecha (Todas de la Segunda, Coincidencias de la Primera) ................................... 508
Externa Completa (Todas las Filas de Ambas)............................................................................ 512
Interna (Todas las Filas Coincidentes)......................................................................................... 516
Anti Izquierda (Solo Filas de la Primera) ..................................................................................... 520
Anti Derecha (Solo Filas de la Segunda) ..................................................................................... 524
Bonus: Coincidencia Difusa .......................................................................................................... 530
El Siguiente Paso ....................................................................................................................... 540

PARTE IV: Lenguaje M....................................................................... 543


Capítulo 11: Elementos y Herramientas para Trabajo con el Lenguaje M ....................545
Interfaz y Vías de Acceso................................................................................................................... 546
UI para Programar en M ................................................................................................................ 547
Entorno del Editor Avanzado ............................................................................................................ 550
Opciones de Presentación ............................................................................................................ 552
Reglas de Formato ......................................................................................................................... 554
Debugging (Depuración de Programa) ........................................................................................... 556
Depuración integrada .................................................................................................................... 557
Post-mortem debugging ............................................................................................................... 559
Consideraciones ................................................................................................................................. 561
El Siguiente Paso ....................................................................................................................... 562
Capítulo 12: Expresiones, Declaración de Variables y Literales ....................................565
xiv Contenido Detallado

Introducción ........................................................................................................................................ 566


Escribir M desde Cero (Consulta en Blanco) .............................................................................. 566
Expresiones ......................................................................................................................................... 568
Expresión: «let» .............................................................................................................................. 568
Expresión: «in» ............................................................................................................................... 569
Declaración de Variables ................................................................................................................... 570
Variables, Expresiones y Sub-expresiones................................................................................... 572
Representación en el Editor .......................................................................................................... 573
Acera de Variables: Identificador y Nombres .............................................................................. 574
Literales ............................................................................................................................................... 575
Construcción de tipo de datos en M ........................................................................................... 576
Comentarios ................................................................................................................................... 576
El Siguiente Paso ....................................................................................................................... 578
Capítulo 13: Tipos de Valores sus Operaciones y Valores Intrínsecos .........................581
Clases de Valores................................................................................................................................ 582
Valores Primitivos (Atómicos) .......................................................................................................... 583
Valores: Numéricos ........................................................................................................................ 583
Valores: Fecha................................................................................................................................. 587
Valores: Hora .................................................................................................................................. 590
Valores: Fecha y Hora .................................................................................................................... 593
Valores: Fecha, Hora y Zona Horaria............................................................................................ 594
Valores: Duración ........................................................................................................................... 598
Valores: Texto ................................................................................................................................. 601
Valores: Lógico ............................................................................................................................... 603
Valores: Nulo (null) ........................................................................................................................ 605
Valores: Binarios ............................................................................................................................. 608
Operadores de Tipo: Compatibilidad y Aserción ............................................................................ 609
Operador is ..................................................................................................................................... 610
Operador as .................................................................................................................................... 610
Valores Estructurados (Compuestos) ............................................................................................. 611
Valores: Lista y Operador de Índice Posicional ............................................................................... 612
Valores: Registros (Record) y Operador de Búsqueda ................................................................... 617
Valores: Tabla (Table) .................................................................................................................... 621
xv

Comentarios Finales ................................................................................................................. 622

Epílogo ..........................................................................................dcxxiii

Anexos ............................................................................................... 625


Anexo A ................................................................................................................................627
Anexo B ................................................................................................................................631
xvi Contenido Detallado
xvii

Sobre los Autores

MIGUEL CABALLERO SIERRA:

Es formador, consultor, coach y autor en inteligencia de


negocios y analítica de datos utilizando las tecnologías
de Microsoft BI y sus partners de software libre. Entrena
a miles de personas anualmente en las diversas
ciudades Colombia, ello gracias a la vinculación con
empresas privadas, su gestión mediante la web Excel Ing. Miguel A. Caballero S.

Free Blog y su empresa Escuela de Inteligencia de Negocios


SAS.

Miguel, También se ha ido erigiendo como un autor prolífico gracias a su coautoría en los
libros Inteligencia de Negocios con Excel y Power BI, Tablas Dinámicas la Quinta Dimensión y El ADN
de Power Pivot, este último posicionado como uno de los mejores títulos en habla hispana en
la bibliografía para aprender y dominar Power Pivot y DAX para Excel. El también escribió
Funciones Primordiales en Excel, un minilibro en versión beta que enfatiza en las funciones
claves de Excel para generar un diferencial ágilmente.

Es pionero en la enseñanza y divulgación de Power BI, Power Pivot con lenguaje DAX y Power
Query con lenguaje M en habla hispana. Ingeniero industrial por formación y profesional Excel
developer por entrenamiento, ha desarrollado proyectos en el sector textil, financiero y
comercial, así mismo ha trabajado en el área de retribución salarial creando y validando
modelos de compensación fija y variables apoyado en hojas de cálculos sofisticadas.
xviii Sobre los Autores

FABIAN TORRES HERNÁNDEZ:

Es creador de contenido, escritor y consultor en análisis


de datos utilizando Excel y la suite de herramientas de
Microsoft BI. Miembro del equipo en EFB y Coautor de
los libros: Tablas Dinámicas La Quinta Dimensión y El ADN
de Power Pivot e Inteligencia de negocios con Excel y Power
Ing. Fabian E. Torres H.
BI.

Fabian es egresado como ingeniero Industrial, desarrollador de Cuadros de Mando, reportes


Inteligentes e informes interactivos, adicionalmente, es empresario y líder en la compañía
Escuela de Inteligencia de Negocios SAS.

Él ha ejecutado variedad de entrenamientos con empresas privadas y grupos independientes,


gracias al trabajo continuo en Excel Free Blog. Fabian es entusiasta en visualización de datos
y se especializa en la optimización a través de la comunicación mediante gráficos, objetos
visuales y herramientas de diseño, no menos importante, ha dirigido la vanguardia en la
propagación de conocimiento de Power Query y lenguaje M en español y Power BI para
representación visual de información.
19

Dedicatorias

Miguel Caballero Sierra,


A la persona que me hizo mejor, a quien me ayudo a convertirme en
quien siempre quise ser:
Gretzy Para Marín

No sólo te amo por quién eres, sino por lo que has hecho de mí, no
por tu belleza que es tan fácil de ver, sino por haberme completado

Fabian Torres Hernández

Para Enith, mi madre, por mostrarme su amor infinito y enseñarme


el increíble poder de luchar por los sueños …
20 Sobre los Autores
xxi

Introducción
Lo que estás a punto de ver parece una tecnología sacada de las páginas de una novela
Ciberpunk de Ernest Client, de hecho, si alguien nos hubiera relatado las maravillas de Power
Query 10 años atrás, nuestros oídos hubieran dado más crédito a grifos, dragones y titanes
colosales si alguien hubiera manifestado su hallazgo.

— ¿Es así de revolucionario lo que se trata en el libro?

… Y por mucho. Su riqueza es de órdenes de magnitud astronómicos, es más, afirmar que


Power Query es una mastodóntica y exponencial funcionalidad especializada para la limpieza
de datos, sería pecar de comedido. Power Query puede hacer prender el fuego en la mente de
los hombres, arrancarles lágrimas a los corazones más duros, minar los problemas más
complejo y alfombrar tus habilidades con técnicas profesionales para alcanzar el cénit de
cualquier carrera laboral.

Por lo anterior y mucho más, invertir en la tecnología por excelencia para preparación de
datos es una decisión de ganadores, y así como un barco no deja rastro en el olaje, cualquier
ápice de duda se desvanecerá con total certeza desde el primer momento que nos
adentremos en el estudio de las páginas que yacen en El ADN de Power Query, y dará lugar a
una intensa curiosidad y una martilleante sensación de exploración y descubrimiento.

Power Query es una tecnología descomunal sin fronteras ni limitaciones, ya que permite:
entender, explorar, preparar, adecuar, limpiar, formatear, integrar, enriquecer, crear, refinar y
hasta resumir datos de forma veloz, intuitiva y coherente. En conclusión: hacer milagros con
los datos.

¡Bienvenido al 2040!, al OASIS. — (Eso sí, sin la parte distópica)


xxii Acerca de Este Libro

Acerca de Este Libro


¡Metodología de acciones y operaciones!

El presente libro es una obra cuya generatriz es la lógica, a saber, no está destinado a brindar
recetas y soluciones del estilo “copy/paste”, no es el corazón del libro por lo menos, en su
lugar, este texto oscila en desarrollar una explicación de exactitud milimétrica para
conferirnos una compresión profunda de cada aspecto tratado de Power Query, todo ello,
para resolver no solo los escenarios expuestos en sus páginas, sino además, dotarnos del
raciocinio suficiente para dar solución a todo tipo de problemas y variaciones.

Por esta razón, hemos venido desarrollando y mejorando con el pasar de los años la
metodología jerárquica de acciones y operaciones, que, básicamente consiste en una GPS del
largo y ancho espectro de comandos que componen a Power Query, para así lograr: preparar,
limpiar, integrar y enriquecer cualquier base de datos.
xxiii

Es Este Libro Para Ti


Ninguna persona está exenta de los favores de Power Query si trabaja con datos, así sea en
escalas diminutos, más aún, si tienes que manipular los mismo para llegar a un formato
adecuado, crear tablas dinámicas, análisis, reportes y cuadros de mando.

Algunas personas con una peculiar falta de tino creen que al estar contacto mayoritariamente
con gestores de bases de datos como: SQL, PostgreSQL, Oracle, etc. No deben molestarse de
pasar ni un nanosegundo en la parte de limpieza de datos, pero la realidad va más allá, al ser
Power Query una parte integral del proceso de inteligencia de negocios en algún punto su
manipulación facilitará los desarrollos.

¡Este es un libro para todos!

Por otra parte, este libro está diseñado tanto para usuarios de Excel como para usuarios de Power
BI que quieran catapultarse a fronteras inimaginables, llegar a otra dimensión.
xxiv Acerca de Este Libro

Versiones de Software
Power BI Desktop / Excel 2019 y 2016 • No Aplica Totalmente para Excel 2013

La temática aquí tratada es desarrollada en un 90% en Power BI de escritorio para su


actualización de abril del 2019, no obstante, se dejan referencias claras a versiones anteriores
de Power BI donde las funcionalidades podían aún no existir, de la misma manera se dejan
referencias claras a Power Query para Excel 2019 y 2016, por lo tanto, el temario de este libro
aplica a: Power BI de escritorio, Excel 2019 y 2016.

▪ Power BI de Escritorio: La versión utilizada es la correspondiente al mes de abril del


2019, cualquiera posterior a esa fecha encaja a la perfección.

▪ Para Excel: Aplica perfectamente a Excel 2019 y sus actualizaciones asociadas al


primer trimestre del 2019, igualmente aplica para Excel 2016, donde se dejan
referencias claras si existen diferencias.

Si bien no se hace mucha referencia a Power Query de Excel 2013 ni 2010, gran parte
de la temática que se estudia a lo largo de este texto también aplica a estas versiones
de Excel, sin embargo, se debe tener en mente que las funcionalidades más recientes
no están implementadas.

▪ MS Flow y Common Data Services for Apps: ¿Quieres aplicar Power Query para
Microsoft Flow o CDSA?, las partes 1 a 3 será lo que mejor encaje para ti de este libro,
excluyendo todo aquello que implique el lenguaje M.
xxv

Convenciones Utilizadas en el Libro


Ayudas Visuales, Esquemas y Otros Elementos

En el libro encontrarás elementos especiales para enriquecer la explicación y para brindar una
lectura más amena.

Cuadros Principales:

▪ Pausemos un momento: Es una pausa activa para señalar temáticas externas, otros
recursos, aclarar conceptos, resaltar conclusiones de lo que se está tratando en este
momento o mencionar algún punto relacionado con el tema o capítulo.

Pausemos un Momento
La técnica anteriormente descrita se aplica para eliminar valores de
error, valores faltantes o según criterio. El único que varía de los tres
pasos es el primero, ya que el valor filtrado se haría por el deseado y
no por vacío. (También es licito pensar en Macros y automatizar el
proceso, tomando ventaja de la grabadora es una encomienda de
complejidad moderada)

▪ ¡Tom nota!: Como su nombre lo indica, este es un cuadro clave para recalcar cosas
importantes, puede ser una conclusión, un concepto, un ejercicio, etc.

¡Toma Nota!
Para agregar saltos de línea entres sentencias de código en el editor
avanzado de Power Query, es suficiente con utilizar la combinación
de teclas: Shift + Enter. Para indexar utiliza la tecla Tab para mayor
rapidez.
xxvi Acerca de Este Libro

▪ ¡Riesgo: Advertencia! Señalan posibles obstáculos que puedas encontrar, un peligro


inminente del cual debes blindarte (Por eso la máscara de gas en el icono del recuadro).
Presta atención, te alertan de problemas que de otra manera te podrían tomar horas
o días.

¡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)

▪ ¡Referencia Cruzada! Este cuadro es el que aparece con menor frecuencia en el libro,
no obstante, tiene como objetivo brindar bibliografía a otro libro de la colección ADN,
aparecen como sugerencia si se desea profundizar aún más en la temática que se está
tratando en el momento.

¡Referencia Cruzada!
La parte de creación de: indicadores, KPIs, KRIs y métricas para el
análisis de datos es territorio del lenguaje DAX, que corresponda a la
segunda etapa de proceso de inteligencia de negocios, todo esto es
tema de otro libro de la Colección ADN:
El ADN de Power Pivot
ISBN: 978-958-46-8542-7
xxvii

Cuadros Secundarios:

▪ Let’s Play: Este cuadro señala donde encontrar el archivo de trabajo, para esa sección
o apartado que viene incluido en el compendio de archivos.

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 4 puedes encontrar el archivo de Excel con nombre:
CAP4EJ1 – Ventas_Pedidos.xlsx.

▪ Descargar: Este cuadro señala un enlace externo para descarga de material


complementario que no se encuentra en el compendio de archivos.

¡Descargar!
El reducido espacio de la página hace que la ilustración del
Proceso Business Intelligence sea complicada de ver, no
obstante, puedes descargar desde aquí:

▪ «Definición»: Este cuadro brinda la definición de un nuevo concepto que es de


particular importancia para el libro en general.

Valores Numéricos
Un tipo de valor numérico en el lenguaje M que es utilizado para
llevar a cabo operaciones aritméticas. Estos valores incluyen:
número entero, entero exponencial, fracciones, fracciones
exponenciales y numero hexadecimal.
xxviii Acerca de Este Libro

▪ Conceptos de Fuego: Los conceptos de fuego son una serie de términos que hemos
creados lo autores del libro, por ello los enmarcamos en recuadro propio y diferente,
para distinguirlo de los conceptos universales del desarrollo teórico a los del equipo
de EFB.

Conceptos de «Fuego» | Acciones y Operaciones


La metodología jerárquica de acciones y operaciones ha sido
nuestro esfuerzo en categorizar cada actividad que podemos
realizar en Power Query, si bien, aún seguimos trabajando en
ello, a continuación, veremos de que se trata.

▪ Resaltado: Este elemento no es un recuadro, en su lugar, con el tratamos de emular


el resaltado que hacemos manualmente cuando leemos un libro, aquí simplemente
iluminamos aquellos párrafos que nosotros resaltaríamos.

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).
xxix

Elementos Complementarios:

Tablas: Encontrarás tablas para


compactarán información,
especialmente, para resumir
parámetros y descripción de funciones

Código M: Encontrarás las líneas de


código M con un fondo acompañado
del icono: Código M para fácil
identificación.

Notas de costado: Son como las notas


principales, pero utilizadas por
comodidad.

Ayudas visuales: Mini notas


explicativas para enriquecer
la explicación de imágenes
xxx Acerca de Este Libro

Cómo Está Organizado Este Libro


Este libro esta divido en cuatro grandes partes, cada uno agrupa una serie de capítulos de
acuerdo con su afinidad según la temática.

▪ Parte I: Conocimiento Esencial en Power Query (Capítulo 1 a 3) Esta primera parte


está compuesta por tres capítulos, donde se proporciona todo el contexto,
fundamentos y base teórica para trabajar con Power Query.

▪ Parte II: Limpieza y Adecuación de Datos (Capítulo 4 a 8): Esta segunda parte está
formada por 5 capítulos que orquestan el estudio y profundización de las operaciones
asociadas a la acción de limpieza de datos, es decir: reducción, formateo, rellenado,
transposición, anulación de dinamización y columna dinámica.

▪ Parte III: Integración de Datos (Capítulo 9 a 10): Esta tercera parte está constituida
por 2 capítulos que nos envuelve en un recorrido riguroso en las operaciones que
manipulan múltiples tablas, es decir, anexar y combinar, en resumidas cuentas, trata
sobre la integración de datos.

▪ Parte IV: Lenguaje M (Capítulos 11 a 19): Esta cuarta parte está compuesta por 9
capítulos, aquí brindamos toda la información que conocemos acerca del lenguaje de
funciones de Power Query, también conocido como: M. Véase nota de contenido
resumido.

▪ Anexos (A, B): Al final del libro encontraras dos anexos, los cuales están destinados a
resumir la topología de tablas estudiadas a lo largo del libro y brindar más información
sobre el Intellisense para otras tecnologías distintas a Power BI.
xxxi

Descripción de Capítulos

Cada capítulo es una aventura en sí misma, esto es así porque, en cada uno de ellos
encontraras información preciosa para ser más productivos, además, hallaras huevos de
pascua a otros libros, novelas e incluso series de televisión donde buscamos sorprender al
lector que coincida con el gusto a estas referencias con nosotros.

A continuación, descripción capítulo a capítulo:

PARTE I: Conocimiento Esencial Sobre Power Query

▪ Capítulo 1: En este capítulo mostramos al desnudo las limitaciones que llego a tener
Excel cuando no contaba con Power Query en su arsenal, además, exploramos su
historia y todas las tecnologías que hoy por hoy cuentan con la mejor funcionalidad
para ETL.

▪ Capítulo 2: La base teórica pura y dura es la documentación de cada párrafo en este


capítulo, un requisito obligatorio antes de cualquier otra cosa, saltarlo puede llevar a
una comprensión cortada de los capítulos posteriores.

▪ Capítulo 3: El primer hito que pone Power Query a nuestra disposición es la posibilidad
de tomar fuentes de datos de prácticamente cualquier origen, en este capítulo
enfilamos detalle sobre los orígenes estándar.
xxxii Acerca de Este Libro

PARTE II: Limpieza y Adecuación de Datos

▪ Capítulo 4: Nada menos que la preparación detallada y extendida de la clásica tabla:


Pedidos, por ello, se estudia reducción de registros y campos, formateo, transposición,
perfil de datos, división de columnas, configuración regional, proceso ETL entre muchas
otras cosas.

▪ Capítulo 5: Casos reales utilizando el conocimiento edificado con las operaciones de


limpieza de datos es el foco de estudio de este capítulo, donde no sólo se precisan
advertencias a errores comunes, sino que también resuelve casos de mayor
complejidad.

▪ Capítulo 6: En este capítulo se revela conocimiento que nos permitirá solventar


escenarios de transformación que anteriormente requerían un trabajo extenuante, y
que, a partir de ahora otorgaran nuestro toolkit de preparación y limpieza de datos
con «artefactos» que parecen sacados de mundos mitológicos

▪ Capítulo 7: En este capítulo mostramos como la utilización de diferentes comandos


pueden derivar en menor o mayor flexibilidad en el código interno generado por Power
Query, adicionalmente, construimos pasos a paso el algoritmo general para darle
solución al formato NxM.

▪ Capítulo 8: El tratamiento de formatos de tabla que cuentan con n encabezados de


columnas con m rótulos de fila será la misión de capítulo 8, esto será la semilla para
abordar cualquier tipo de tarea relacionada, adicionalmente, también deja el
algoritmo para crear una función M personalizad más adelante.
xxxiii

PARTE III: Integración de Datos

▪ Capítulo 9: Hasta este puno en el libro no se profundiza en la manipulación de


múltiples tablas para consolidarlas, por lo anterior, este capítulo marca el punto de
partida real para aprender a resolver este tipo de situaciones tan recurrentes.

▪ Capítulo 10: Continua la misma línea que le capítulo 9, donde se ve como combinar
tablas para crear una nueva según ciertos criterios de intersección o extensión de las
consultas, es el capítulo que nos trae el detalle de los tipos de Joins.

PARTE IV: Lenguaje M

▪ Capítulo 11: Este capítulo marca la hora, por fin, de aprender sobre el fino arte de
escribir líneas del lenguaje de funciones de Power Query, conocido más ampliamente
como: M. Aquí se enmarca el conocimiento clave para trabajo óptimo con el Editor
avanzado.

▪ Capítulo 12: Este capítulo es la iniciación a lenguaje M propiamente, donde se ve los


bloques fundamentales de programación, cómo se manejan y consideraciones vitales.

▪ Capítulo 13: Entender el lenguaje M es entender cada tipo de valor que puede
soportar, por lo tanto, las páginas de este capítulo se dedican a indagar y excavar en
cada uno de ellos de forma clara, precisas y con ejemplos. Si bien en este capítulo se
dejan unos cuantos tipos de valores por fuera, el grueso de ellos se ve en él.
xxxiv Acerca de Este Libro

▪ Capítulo 14: La comunidad empieza a converger su opinión que el estudio del


ambiente en el lenguaje M es uno de los conceptos más importantes, y nosotros no
diferimos, es por dicha razón que este capítulo es una oda a uno de los conceptos
menos obvios en el lenguaje de funciones de Power Query, pero de relevancia excelsa
si realmente se deseas llegar a la experticia. Ver nota en Contenido Breve

▪ Capítulo 15: Como si fuera un libro de funciones de Excel, en este capítulo se estudian
las funciones atómicas del lenguaje M, para ver las más comunes, su sintaxis,
parámetros y ejemplos. Ver nota en Contenido Breve

▪ Capítulo 16: Siguiendo ese trazo del capítulo 15, en el presente se ven las funciones
más complejas, es decir, aquellas asociadas a tipos de valores como: listas, registros
y tablas. Ver nota en Contenido Breve

▪ Capítulo 17: En el lenguaje M tenemos la posibilidad de crear funciones de nuestro


puño y letra, dicho de otro modo, crear nuestras propias funciones. Dicha misión es
la encomendad al capítulo 17, donde no sólo se crean desde la interfaz, sino que
también se crean de cabo a rabo con lenguaje M. Este capítulo también es el hogar
de estudio de la función anónima. Ver nota en Contenido Breve

▪ Capítulo 18: Un concepto que se pierde en M es el de iteración o bucles de


programación, básicamente porque ellos son inherentes a este lenguaje, no obstante,
sí que podemos emular este comportamiento, por lo tanto, las páginas de este
capítulo se dedican a ello. Ver nota en Contenido Breve

▪ Capítulo 19: Al final el día, todo lo estudiado en la parte cuatro del libro tiene como
objetivo este capítulo, ver aplicaciones de casos comunes y situaciones reales
utilizando el lenguaje M. Ver nota en Contenido Breve
xxxv

Anexos

▪ Anexo A: A lo largo del libro se dejan mini representaciones visuales de formatos


comunes en tablas, en este anexo congrega todo para dar inicio al proyecto del
estudio topológico de tablas.

▪ Capítulo B: Referencia para creación de un Intellisense que apoye Excel.


xxxvi Acerca de Este Libro
xxxvii

Acerca de la Colección ADN


Libros de Colección de EFB

La Colección ADN de EFB es un conjunto de libros encaminados a inteligencia de negocios y


análisis de datos, para ello recorre las herramientas de Microsoft Business Intelligence principales
con el objetivo de brindar el arsenal necesario para extraer buenas decisiones basadas en
información obtenida de cantidades voluminosas de datos, de esta manera direccionar los
objetivos de negocio de manera oportuna, precisa, accionable y con un fuerte valor agregado.

La colección ADN esta compuesta por los siguientes títulos:

▪ El ADN las Tablas Dinámicas


▪ El ADN de Power Query
▪ El ADN de Power Pivot
▪ El ADN de Power BI
xxxviii Acerca de Este Libro
xxxix

Perfila Tu Viaje Por Power Query

Aunque este libro está concebido como un todo y cada capítulo es parte de un objetivo
global. Está más que claro que este libro esta divido en cuatro partes.

▪ Conocimiento esencial.
▪ Limpieza de datos.
▪ Integración de datos.
▪ Lenguaje M.

Si el lector le urge aprender a consolidar múltiples tablas, puede arrancar con la Parte III sin
ningún problema, no obstante, si tu rutina diaria te demanda adecuar y preparar tablas,
recorre cada capítulo de la Parte II es buen inicio, del mismo modo, si lo que deseas es conocer
acerca del lenguaje M la Parte IV es donde se enfocará tu atención.

Archivos de Trabajo
Uno y cada uno de los archivos que se ven y trabajan a lo largo del libro se encuentran en el
compendio de archivos:

Compendio de Archivos
Incluye archivos de trabajo y documentos extra

• Clic aquí para descargar


xl Acerca de Este Libro

Programa de Actualización de Contenido

La presente obra la hemos creado con un cariño gigantesco junto con una dedicación
desmesurada, y, sobre todo: dejando la piel en la cancha, para así brindarte lo mejor. No
obstante, minimizar a cero errores e inconvenientes de un libro de esta envergadura es una
tarea compleja y de aproximaciones sucesivas.

– Programa de Actualización de Contenido:

Por lo anterior este libro cuenta con algo llamado: Programa de Actualización de Contenido,
es decir, que haremos correcciones y mejoras a este texto a lo largo del tiempo, para así
mejorarlo y perfeccionarlo constantemente como un compromiso de los autores para dotarte
con la mejor referencia de Power Query en habla hispana.

Al adquirir este libro quedas registrado automáticamente en nuestra base de datos, por lo que
al momento de ocurrir una actualización te llegará un correo con todas las instrucciones sin
ningún costo adicional.

– Distribuciones:

Estas actualizaciones o versiones mejoradas del libro digital las llamamos Distribuciones y
puedes identificar a cuál corresponde en la página ocho del PDF en la parte inferior.
xli

– Retroalimentación (Mejoras Sucesivas):

Tu como el lector de este libro eres uno de los críticos más valioso, por esto es muy importante
para nosotros escuchar de tu parte cualquier opinión, critica, corrección, sugerencia, mejoras,
ilustraciones, consejos, complementos, anomalías etc. En cuyo caso puedes escribirnos al
cualquiera de los siguientes correos electrónicos:

▪ E-mail 1: excelfreebymcs@gmail.com
▪ E-mail 2: fabian.torrres.h@outlook.com

También te invitamos que una vez finalices lectura de este libro o en el momento que lo
consideres oportuno nos regales tu retroalimentación, es invaluable para nosotros, lo puedes
hacer en nuestra página de Facebook:

▪ E-mail 1: https://www.facebook.com/ExcelFreeBlog/
xlii Acerca de Este Libro
El ADN de Power Query 43

→ ←

Como no podía ser de otra forma en una primera instancia debemos forjar todo el
conocimiento básico, pero crítico para lograr trabajar con Power Query, mientras
mejores cimientos se tengan mejor la edificación en si, por ello, son tres capítulos
los que constituyen esta primera parte del libro destinada a dotarnos de las mejores
bases posible para un recorrido ameno y certero.

Capítulo 1 • Fundamentos y Preparación de Datos Inteligente


Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query
Capítulo 3 • Conectores que Pueblen Power Query
El ADN de Power Query 45

Capítulo 1

Capítulo 1: Fundamentos y Preparación de Datos


Inteligente
46 Capítulo 1 • Fundamentos y Preparación de Datos Inteligente

El Binomio Perfecto
Si nos pidieran definir Excel en una sola palabra, nuestra
elección sería: Flexibilidad. El vínculo que se genera entre datos,
tablas, gráficos y demás elementos es tan exquisito que se ha
izado con una solidez pétrea como la hoja de cálculo más
importante de los últimos tiempos.

Si le sumamos a la ecuación el inmenso lienzo de


funcionalidades, sabremos que la longevidad de Excel es
extensa, sin embargo, este binomio (Flexibilidad,
Funcionalidades) no siempre entra en la crema y nata de las
soluciones. ¡No todo es color de rosa!

La Distorsión Innegable
Es pan de cada día tener que arreglar archivos de Excel (CSV,
txt, etc.) con formatos enrevesados y prácticamente
destrozados, carcomidos por el desorden. Esencialmente cierto
para el analista de datos y el profesional de inteligencia de
negocios que tropecientas veces al mes tiene que lidiar con
este desafío.
El formato tabular es en
esencia la presentación de
datos en arreglos de filas y O dinos, en algún punto no has querido o te han solicitado
columnas, donde la
estructura de la tabla no crear un reporte de una tabla de datos, que sólo con una
tiene elementos adicionales, hojeada queda uno de piedra; porque la cantidad de anomalías
como: filas en blanco,
columnas en blanco, total e inconsistencias (respecto a un formato tabular) como: filas
generales, subtotales en
en blanco, totales y subtotales, elementos disparas en campos,
categoría. A sí mismo, debe
estar libre de errores, celdas columnas combinados, celdas vacías, etc. Etc. Nos proyectan
vacías y otras anomalías.
en las próximas, cuando menos horas, anclados frente a la PC

www.excelfreeblog.com
El ADN de Power Query 47

Tratando con todo tipo de fórmulas (en muchas ocasiones


NOTA
matriciales), técnicos de limpieza, trucos de preparación y
Una fórmula matricial es un
hasta macros, para tan sólo después de una ventana de tiempo tipo especial de expresión
de labor incesante, poder presionar encima de aquel comando que requiere de
manipulación de matrices y
con la etiqueta "tabla dinámica" bajo la pestaña Insertar. sus respectivas operaciones
en argumentos de
funciones, para así lograr
Conseguir dichas tareas demanda un conocimiento holgado tareas de alta complejidad
en las diversas funcionalidades de Excel y de una precisión casi que de otra manera
requerirán macros y
quirúrgica para llevarlas a cabo. No te parece que para Excel múltiples pasos intermedios
y columnas auxiliares.
ostentar el galardón de hoja de cálculo número uno en todo el
Las fórmulas matriciales se
globo, sus características para preparar y limpiar datos son
identifican fácilmente por
más bien carentes y de una transparencia que tiende a nulo. estar encerradas entre
corchetes: {}, u haberse
ejecutado con la
Permítenos explicarnos... combinación de teclas Ctrl
+ Enter.
Carente de funcionalidad para preparar/limpiar datos: Excel DYNAMIC ARRYS
tiene tantas funcionalidades que podemos llevar acabo A partir de finales del año
2018 se empieza a generar
prácticamente todo lo que necesitemos, a lo menos un cambio de paradigma el
acercarnos tanto que para la tarea deseada es suficiente, no motor de cálculo de Excel
que permite crear
obstante, ello no quiere decir que sea la forma más efectiva, la cómputos con matrices de
una manera muchas más
sola insinuación de que podemos pasar horas en dicha
fácil y rápida, permitiendo
operación habla por sí sólo. el “derrame” de cálculos en
múltiples celdas sin
necesidad de manipulación
Transparencia tiende a nulo: A si mismo los pasos extra. Lo mencionamos en
esta nota porque estamos
implementados son tan intrincados que reciclarlos para acudir seguros facilitará tareas de
análisis y limpieza.
a ellos en otras tablas es como la porcelana fina. Cuanto más
fuerte te agarras a ella, más probable que se rompa.

Puedes argüir que para eso está el desarrollo de macros, y no


vamos a ir en contra de la corriente, bueno casi; porque si bien

www.excelfreeblog.com
48 Capítulo 1 • Fundamentos y Preparación de Datos Inteligente

Es completamente válido, el desarrollo de macros requiere de


buen tiempo e investigación, todo barnizado a si sea con una
mínima película de pruebas. Es algo natural lo entendemos,
Excel no puede abarcar todos los escenarios empresariales y
áreas del conocimiento, por eso existen complementos de
terceros y VBA para resolver necesidades puntuales. De esta
manera, la perfecta armonía que componen el dúo
transparencia/funcionalidades queda manchado por una
distorsión, un pitido que genera el poco ahorro de tiempo.

Prólogo del Final y el Inicio


A todas luces, dado que mencionamos la distorsión en ahorro
de tiempo en el proceso de preparación y limpieza de datos, es
inminente que nuestro querido lector vislumbre que le vamos a

NOTA hablar de la solución, y es que el título del libro nos delata.

El proceso ETL es el
término adecuado para Total, sí hubiéramos escrito este texto 6 años atrás está carta
referirnos a la preparación,
limpieza, estandarización y sobre la mesa hubiera sido más lúgubre, sin embargo, el
enriquecimiento de los “complemento” nativo de Excel: Power Query e implementado
datos y todos los engranes
en la maquinaria que ya en múltiples programas de Microsoft zanja el problema, visto
conlleva para ejecutarlo,
más adelante se hablara a que está enfocado en el Proceso ETL.
detalle de esta definición y
su punto crucial en Power
Query, de momento Adelantamos la entrada dramática de Power Query porque
pensémonos en el acrónimo
sabemos que bajo tu ojo clínico de incógnito no iba a durar un
ETL como preparación y
limpieza de datos. suspiro, a pesar de ello, te vamos a mostrar una serie
situaciones muy concretas donde el uso de funcionalidades …

www.excelfreeblog.com
El ADN de Power Query 49

… Clásicas requiere de “alto” conocimiento y donde el tiempo


de desarrollo no siempre son rápidos.

Ejemplificación y Casos Comunes


A continuación, indexamos los casos a ejemplificar, cuyo
objetivo primo es dilucidar las cosas que teníamos que hacer
antes de la nueva era Self-Services BI, para luego seguir el
cauce que ha labrado la funcionalidad de preparación,
transformación y carga de datos.

▪ Formato de Tabla Dinámica a Formato Tabular


▪ Eliminar filas en blanco y según criterio
▪ Consolidar Tablas de Múltiples Hojas

Formato de Tabla Dinámica a Formato Tabular


Supongamos, por ejemplo, que tenemos la tabla dinámica que
se ilustra en la figura debajo, la misión que nos encomiendan
es organizar dichos datos de tal manera que existan tres
columnas: Marca, Mes e ingreso.

Figura 1. 1 – Formato de Tabla Dinámica para Convertir en Formato Tabular

www.excelfreeblog.com
50 Capítulo 1 • Fundamentos y Preparación de Datos Inteligente

Pausemos un Momento
No está de más recapitular que los requisitos para este libro son
mínimos, básicamente un manejo básico de funciones.
Tablas Dinámicas, Macros y demás no es requerido. Las soluciones
que veremos son meramente ilustrativas y no se detallen, pues el
objetivo es verlas más adelante con Power Query.

Como Excel es flexible y cuenta con un rico número de


funcionalidades, la solución puede ser encontrada por
Primera Solución diferentes vías. Una primera solución la proporcionan las
funciones.

Cómo la tabla final debe estar constituida de tres columnas


(Marca, Mes e Ingresos) necesitamos tres fórmulas diferentes
para rellenar cada una, íntimamente correlacionadas entre sí,
pero distintas entre ellas al final del día.

He aquí las fórmulas:

Figura 1. 2 – Fórmulas para Columna Marca

www.excelfreeblog.com
El ADN de Power Query 51

Figura 1. 3 – Fórmula para Columna Mes

Figura 1. 4 – Fórmula para Columna Ingresos

Como podemos apreciar, la longitud de las funciones no es ni


NOTA
menos desdeñable, en consecuencia, el tiempo que tarda un
Índice de Reciclaje: Cuán
usuario promedio de Excel en desarrollarlas y por lo tanto fácil es reusar la solución en
otro escenario.
resolviendo el problema, no es una nimiedad, sí además le
integramos su bajo índice de reciclaje, salta a la vista que la
solución no es transparente.

Pausemos un Momento
Es válido subrayar (y en apoyo a la pausa anterior) que no nos vamos
a zambullir en los detalles de construcción de las fórmulas y su lógica
detrás, únicamente queremos brindar un panorama general de la
complejidad que conllevaban resolver determinadas actividades de
limpieza de datos.

www.excelfreeblog.com
52 Capítulo 1 • Fundamentos y Preparación de Datos Inteligente

Después de arrastrar y soltar la tabla debe lucir:

Figura 1. 5 - Tabla en Formato Tabular (Sólo se muestra un pequeño fragmento)

Segunda Solución Una segunda solución es cortesía de las tablas dinámicas, para
ello tenemos que rememorar una característica de antaño:
Rangos de Consolidación Múltiples, además debemos usar Drill
Down y dividir texto en columnas

NOTA En resumen, los pasos serían:

▪ Crear tabla dinámica con formato sencillo


La solución a este tipo de
formatos con Power Query ▪ Drill down en el total general
se ve en el capítulo 6, ▪ Dividir columnas
particularmente, la
operación de anulación de
dinamización.
Si bien esta solución es más eficiente que la primera, reprueba
el test del índice de reciclaje, debido a que es incluso menor
que la primera, por lo tanto, se debería desarrollar una macro
para cortar de raíz el problema, pero nuevamente, mucho
tiempo de desarrollo para una actividad frecuente.

www.excelfreeblog.com
El ADN de Power Query 53

Tanto da que se resuelva con fórmulas o con un método


alterno como el de tablas dinámicas, el tiempo invertido no es
insignificante. ¡Queremos una solución a lo sumo en 3 clics!

Eliminar Filas en Blanco y Según Criterio


Llegamos a un caso donde las macros no demoran en
atraparnos en sus fauces.

Pausemos un Momento
Más que estar en contra de las macros, que de hecho no es así ni por
asomo, se trata de una invitación a la búsqueda continua de la forma
más eficiente de realizar cuatro tareas esenciales: preparación, análisis
visualización de datos y distribución de información. Por lo previo
preferimos Power Query siempre por encima de VBA en tarea de
preparación de datos.

Visualiza una tabla con una cantidad de registros


considerables, digamos del orden de las decenas de miles, en
adición asumamos que cuenta con filas en blanco en diversos
recovecos. El objetivo, como versa el título de esta sección es:
Eliminar las filas en blanco y que queda lista en formato tabular
para poder crear un reporte de tabla dinámica.

La solución al caso es bien conocida, son tres pasos:

1. Filtrar la tabla por los blancos (Espacios en blanco)


2. Seleccionar filas filtradas y eliminarlas
3. Remover filtro

www.excelfreeblog.com
54 Capítulo 1 • Fundamentos y Preparación de Datos Inteligente

He aquí una ilustración con los pasos enumerados:

Filtrar los valores de la columna por vacío


(Espacio en blanco)

Seleccionar las filas completas de todas


aquellas que fueron filtradas por el vacío.

Remover los filtros por vacío para dejar la


table 100% visible.

Figura 1. 6 – Esquema para Eliminar Filas en Blanco en Excel

www.excelfreeblog.com
El ADN de Power Query 55

— ¿Sencillo no es así?

Para hacerlo aún más rápido podemos “encender” la grabadora


de macros y grabar. El código arrojado es algo así:

Sub Macro1()

ActiveSheet.ListObjects("TelefoniaDatos").Range.AutoFilterField:=1, Criteria1:="="

Rows("1644:1644").Select

Range(Selection, Selection.End(Down)).Select

Selection.Delete Shift:=xlUp

ActiveSheet.ListObjects("TelefoniaDatos").Range.AutoFilter Field:=1

End Sub

Posteriormente podemos adaptar el código para que queda NOTA


flexible y así crear un comando que realice la tarea con un solo La tercera solución no la
clic. documentamos en las
páginas de este libro, a
pesar de ellos, en el
siguiente vídeo se detalla.
Si bien la primera etapa no es de complejidad, la creación de
un comando con macros, que por cierto sería muy útil dado
que en limpieza de datos esta tarea es de alta frecuencia,
demanda un conocimiento intermedio-Avanzado en VBA. Por
ello, se evidencia que falta una funcionalidad embebida de
Excel que permita realizar dicha labor en un único clic.

www.excelfreeblog.com
56 Capítulo 1 • Fundamentos y Preparación de Datos Inteligente

Pausemos un Momento
La técnica anteriormente descrita se aplica para eliminar valores de
error, valores faltantes o según criterio. El único que varía de los tres
pasos es el primero, ya que el valor filtrado se haría por el deseado y
no por vacío. (También es licito pensar en Macros y automatizar el
proceso, tomando ventaja de la grabadora es una encomienda de
complejidad moderada)

Power Query
Afirmar que Power Query es una poderosa funcionalidad
especializada para la limpieza de datos, sería pecar de
comedido.

Seguir en la línea de que es sólo para Excel sería una falta de


NOTA
respeto sin duda.

Cuando nos referimos a la — Entonces, ¿Qué es?


limitación de rapidez,
estamos hablando de la
carencia de una ¿Qué es Power Query?
funcionalidad, puesto que
contar con una
funcionalidad altamente Power Query es una tecnología descomunal de alcance infinito,
especializada impacta la cual merma las limitaciones de: rapidez y transparencia; ya
contundentemente en la
rapidez de trabajo. que permite preparar, adecuar, limpiar, formatear, integrar,
enriquecer, crear, refinar y hasta resumir datos de forma veloz,
intuitiva y coherente. Se puede jactar que le ha conferido a
Excel, ahora sí, el galardón de hoja de cálculo número uno en
todas sus dimensiones.

www.excelfreeblog.com
El ADN de Power Query 57

Si bien Power Query tuvo sus inicios y gran parte de su NOTA


evolución en Excel, sus incontables bondades son tan útiles
No es del todo cierto, que
que se ha propagado a otros programas de Microsoft, Power Query haya iniciado
en Excel como se narrara
concretamente a la fecha de escritura de estas páginas, Power más adelante en las
Query se puede encontrar en las siguientes tecnologías: crónicas.

Tabla 1. 1 Power Query en la Diversas Tecnologías

¡Un Brindis por el Aprendizaje!


En definitiva, si se aprende Power Query no es aplicable a un
programa sino en 8, como nos gusta decir a nosotros: «Lleva 8
por el Precio de 1».

Al formar Power Query parte de tantas tecnologías es precioso


escoger uno de ellos, por lo que:

El programa seleccionado para el desarrollo de la


temática en este libro será: POWER BI.

www.excelfreeblog.com
58 Capítulo 1 • Fundamentos y Preparación de Datos Inteligente

Las razones, diversas:

▪ En primera instancia las actualizaciones mensuales de


Power BI permitirán hablar de los últimos avances en
Power Query como resultado, por ejemplo:

o Extracción de Datos de la Web mediante


ejemplo (Desde Mayo 2018)
o Intellisense para el Lenguaje M (Desde
Septiembre 2018)
o Coincidencia Difusa para combinar Consulta
(Desde Noviembre 2018)
o Data Profiling (Desde Noviembre de 2018)
o Mejoras en script para R y Python (Desde
Febrero 2019)

▪ En segunda mención: cualquier persona puede


descargar e instalar Power BI y utilizar Power Query sin
ninguna restricción y sin ningún costo, además de
preocuparse mínimamente de requisito de sistema.

▪ Si bien Power Query ahora esta en todos partes, si


hiciéramos un Pareto de su utilización en las diversas
tecnologías, no quedaría lugar a dudas que el 70% de
las personas lo manipulan lo hacen en Power BI y Excel.

www.excelfreeblog.com
El ADN de Power Query 59

Proceso ETL
Hay un concepto, más bien un proceso que está
estrechamente relacionado con Power Query y que en
conjunción hacen una simetría en preparación de datos que se
amplifica a lo idílico. Este es el proceso ETL.

El proceso ETL: Como su nombre lo indica es un procedimiento que


permite mover datos desde múltiples orígenes (Extract/Extracción)
limpiarlos, formatearlos, integrarlos y enriquecerlos
(Transform/transformación) para luego cargarlo (Load/Carga) en
una interfaz analítica especializada en recibir formatos estándar.

Beneficios de Power Query

▪ Permite integrar tablas de una gama de orígenes


extensa y constantemente creciente de modo intuitivo
y eficaz.

▪ Brinda bondades para combinar, anexar e incrementar


tablas con pasos sencillos y acertados.

▪ Proporciona una interfaz que se puede utilizar con solo


el instinto para preparar tablas sin necesidad de pasos
complejo.

▪ Utilizado por las tecnologías de Microsoft que


manipulan Datos.

www.excelfreeblog.com
60 Capítulo 1 • Fundamentos y Preparación de Datos Inteligente

▪ Su sistema lógico permite crear modificaciones y


automatizaciones en el proceso ETL sin necesidad de
conocimiento avanzado (Algo así como la grabadora de
macros de VBA).

▪ Power Query está en constante actualización que


expande el potencial de la herramienta.

Inteligencia de Negocios
La preparación de datos es la etapa inicial del proceso de
Inteligencia de negocios, por ello es bueno conocer ¿Qué es
inteligencia de negocios?

Tal vez sea sorprendente conocer que no existe una definición


de inteligencia de negocio con la cual toda la comunidad este
de acuerdo, sin embargo, podemos ofrecer una definición
sencilla:

Una definición aproximada: Utilizar los datos de ayer y hoy para


tomar mejores decisiones mañana.

… y si extraemos lo elementos esenciales:

Inteligencia de Negocios
Es esencialmente bussiness insights oportunos, precisos, de alto
valor y accionables extraídos gracias al conjunto de estrategias,
aplicaciones, datos, productos y arquitecturas técnicas, los cuales
están enfocados a la creación de conocimiento.

www.excelfreeblog.com
El ADN de Power Query 61

En nuestra definición hay cuatro palabras que hacen de pilares


y que se tiene que cumplir en simultaneo para que el proceso
de inteligencia de negocios sea óptimo: Preciso, Valor, oportuno
y Accionable.

Figura 1. 7 – Pilares de la Inteligencia de Negocios

El Proceso de Inteligencia de Negocios

Existen una serie de pasos íntimamente relacionado entre sí en


inteligencia de negocios para transformar y desplegar los
datos en información/conocimiento:

▪ Preparación y Limpieza de Datos


▪ Análisis y Modelamiento de Datos
▪ Visualización y Representación de Datos
▪ Distribución de Información

La ilustración a continuación resume cada etapa:

www.excelfreeblog.com
62 Capítulo 1 • Fundamentos y Preparación de Datos Inteligente

Figura 1. 8 – Etapas Primordiales en el Proceso de Inteligencia de Negocios

¡Descargar!
El reducido espacio de la página hace que la ilustración del
Proceso Business Intelligence sea complicada de ver, no
obstante, puedes descargar desde aquí:

El Lugar de Power Query

Como se ve claramente la preparación de datos es la primera


etapa del proceso de inteligencia de negocios, es decir, Power
Query es donde todo da inicio, de hecho, una mala preparación
de datos conlleva a un modelo de datos difícil de manejar,
cálculos demasiado complicados de ejecutar e incluso
conclusiones erróneas y conclusiones por fuera de lo real.

¡Así que tomate enserio el aprendizaje, dominio y puesta en marcha


de Power Query!

www.excelfreeblog.com
El ADN de Power Query 63

Crónicas Power Query


A todos nos gustan las buenas historias, perdernos entre las
maravillas de los personajes, acontecimiento y lugares; y no
porque Power Query sea un Software no podamos disfrutar de
su evolución, así que aquí vamos:

Data Explorer
La raíz de Power Query como muchos piensan no se plantó en
Excel, en realidad todo comenzó en Microsoft Azure Labs Un día
remoto de octubre 2011 se anunció bajo el nombre de Data
Explorer y no fue sino hasta el 27 de febrero del 2013 que
Microsoft tomo la decisión de llevar dicha tecnología como un
complemento para Excel 2013 y Excel 2010.

Como su nombre lo indicaba era un complemento destinado a


explorar, realizar descubrimiento y extraer datos de múltiples
orígenes, y vaya que cumplía con su objetivo, puesto que era
amigable e intuitivo y brindaba acceso a nuevas fuentes de
datos que antes no eran asequible fácilmente.

En julio del 2013 Microsoft no solo lanza una versión del


complemento, sino que a su vez anuncio que Data Explorer
granjearía el nombre: Power Query.

Power Query
Fue en este punto donde se dedica un equipo al desarrollo y
constante mejora del aún complemento Power Query para
aquella fecha.

www.excelfreeblog.com
64 Capítulo 1 • Fundamentos y Preparación de Datos Inteligente

Y como no se espera menos de Microsoft, sus mejoras y nuevas


funcionalidades empezaron a crecer exponencialmente en
este periodo al son del tempo mensual.

Power BI Designer
Paralelamente, un nuevo proyecto daba luz: Power BI Designer;
así fue como llamaron los primeros días a Power BI de Escritorio
cunado lanzaron un comunicado en diciembre del 2013, esta
nueva tecnología tendría un foco principal en inteligencia de
negocios, es decir, concentrado a crear reportes interactivos y
compartirlos, todo esto en versión preliminar claro.

Power BI Designer nació de la combinación de 3 complementos:

(Power Query + Power Pivot + Power View y Map) 3

Dentro de Power BI Designer, Power Query mantenía toda la


«sustancia» y «sazón» del complemento en Excel, y no fue sino
hasta seis meses después en julio de 2014 cuando el proyecto
Power BI Designer dio a conocer su nombre definitivo; Power BI
Desktop, adicional, este tiempo no paso en vano, ya que el
trabajo arduo de actualizaciones mensuales de Power Query en
Excel y Power BI lo llevaron a un nuevo nivel.

Obtener y Transformar
Para el lanzamiento de Excel 2016, se decidió cambiar el
nombre de Power Query a Obtener y Transformar y pasaría a ser
una funcionalidad nativa y 100% embebida de Excel.

www.excelfreeblog.com
El ADN de Power Query 65

En este punto de la historia, deja de ser una pestaña en la


interfaz y tomo lugar en un grupo en la pestaña Datos,
coincidiendo así con la experiencia en Power BI, llegando ahora
a las masas.

SSDT, SSAS, CDS y MS Flow


Power Query es hoy por hoy no sólo una tecnología de éxito
meteórico para ETL en Microsoft y sus programas, sino también
un diferencial respecto a cualquiera otra solución de
inteligencia de negocios en el mercado, tanto así que dentro
del propio Microsoft a comenzado a pasar a ser parte cada vez
más y más de distintos programas, así:

▪ En 2017 Power Query se integra a SQL Serva Data Tools.


▪ En 2017 también se integra a SQL Server Analysis
Services Tabular.
▪ En marzo de 2018 se integra Common Data Services y en
consecuencia Power Apps
▪ En agosto de 2018 se integra a Power BI Services
▪ En septiembre del 2018 se integra a Microsoft Flow

Al final del día, Microsoft extendió Power Query más allá de su


propósito original como etapa uno en el proceso de
inteligencia de negocios, para que así usuarios que desarrollan
aplicaciones de negocios en Microsoft Office 365 y Dynamics
365 pudieran tomar partido y exprimir hasta la última gota de
sus rica bondades en ETL.

www.excelfreeblog.com
66 Capítulo 1 • Fundamentos y Preparación de Datos Inteligente

No menos importante desde el año 2016:

▪ Se tiene R para Power Query

Y desde mediados del 2018:

▪ Se tiene Python

Para principios del año 2019 se han implementado mejoras en


los scripts de estos (R y Python) permitiendo aún más
posibilidades de limpieza de datos, si cabe, ya que las
bondades con el propio lenguaje de funciones de Power Query,
conocido coloquialmente como Lenguaje M hasta finales del
2017 y oficialmente a partir de allí, bridan innumerables
bondades y alternativas de alcance de ordenes de magnitud
oceánicos.

El Siguiente Paso
Para entrarar en la sede y bastión de las acciones y operaciones
de Power Query (pestañas, comandos y paneles) es idóneo tejer
los conceptos básicos, así como conocer su interfaz y
consideraciones claves, para armonizarlos y entrar en el
corazón de Power Query, todo esto será tema del próximo
capítulo.

¡Enrólate en esta nueva aventura!, a la carga compañer@ →

www.excelfreeblog.com
Capítulo 2

Capítulo 2: Ingredientes Esenciales para Trabajar con


Power Query
70 Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query

Conceptos Fundamentales

Para conseguir el mejor resultado al emprender la preparación


de cualquier receta de un libro de cocina es primordial conocer
los ingredientes que la compondrán, los utensilios implicados en
la cocción y tener una imagen clara del plato que deseamos
conseguir. Por esta razón estimad(a) Lector(a), antes de
empezar a “cocinar distintas recetas con Power Query”, primero,
haremos un recorrido por ciertos conceptos claves que serán
una guía para sacar el máximo provecho a esta potente
herramienta; puede que al principio no nos parezcan familiares
e incluso suenen extraños, pero no debes preocuparte, ya que
al ir practicando se irán afianzando en tu interior, sin embargo,
es crucial tener estos ingredientes listos en la cocina.

Preparación de Datos
La preparación de datos consiste en el entendimiento de los datos,
que estos a su vez se compone de 4 etapas:

a. Exploración
b. Descripción
c. Selección
d. Calidad

Más el proceso ETL (extracción, transformación y carga), así:

Entendimiento de Datos + Proceso ETL

www.excelfreeblog.com
El ADN de Power Query 71

Estas dos partes del algoritmo eran partes sucesivas entre sí,
dicho de otro modo, primero realizábamos el entendimiento de
los datos y luego el proceso ETL, a pesar de ello, estos conceptos
van mutando con el tiempo, principalmente por los esfuerzos
de Microsoft de hacernos la vida más fácil, por lo previo, la parte
de entendimiento ya la realizamos en Power Query una vez
extraído (cargados) los datos, todo gracias a la funcionalidad
de Perfil de datos (Data profiling) que nos facilita esta empresa.

Entendimiento de Datos

▪ Exploración: Acceso y navegación a los datos pedidos


en el requerimiento inicial, con ellos se busca auditar si
existe los datos completos o parciales. Exploración

▪ Descripción de los Datos: Consiste en conocer a


profundidad que contiene las tablas de la base de
datos. Descripción

▪ Selección de Datos: Consiste en escoger las tablas


pertinentes para el proceso de inteligencia de negocios
que se demanda de forma indirecta en el requerimiento
Selección
inicial.

▪ Calidad de Datos: Verificar la calidad haciendo


preguntas como: ¿Están completos? ¿contiene errores?
¿Están en formato tabular? ¿En cuál tipo de forma están? Calidad
¿Existen valores faltantes?

www.excelfreeblog.com
72 Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query

El Proceso ETL

Las siglas ETL son una abreviación para

a. Extracción
b. Transformación
c. Carga

Las siglas derivan del inglés: extract, transform and load. Este
proceso consiste en llevar datos de múltiples origines, para
luego hacer la limpieza y transformación necesaria para
finalmente dejarla en el destino listos para el consumo y
utilización para posterior trabajo en análisis.

Históricamente el proceso ha lucido así:

Extracción Transformación Carga


Extract Transform Load

Figura 2. 9 – Proceso ETL Histórico

www.excelfreeblog.com
El ADN de Power Query 73

Los datos son extraídos de bases transaccionales y otras


fuentes para luego pasar a un área exclusiva de
transformación, esto incluye limpieza y optimización para el
análisis, una vez culminado son cargados a una base de datos
analítica u OLAP (Online analytical processing).

Sin embargo, el proceso ETL también ha ido evolucionado


gracias a los avances en las tecnologías, permitiendo que la
etapa de trasformación y análisis se pueden realizar en un
mismo motor analítico.

Extracción Carga Transformación


Extract Transform Load

La ventaja de la modernización del proceso ETL recae en que el


proceso de inteligencia de negocios se hace en un mismo
lugar, esto estriba en mayor control de la ejecución.

Pausemos un Momento
Aunque la preparación de datos es la suma del entendimiento y el
proceso ETL, ciertamente en este libro pasaremos gran parte del
tiempo en la fase de transformación del proceso ETL, esto se debe ya
que allí surgen la gran mayoría de desafíos y casos de transformación
que van en aumento, esto no quiere decir que la etapa de extracción
no se contemple ya que le siguiente capítulo lo trata.

www.excelfreeblog.com
74 Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query

A continuación, presentamos una definición de cada etapa del


proceso ETL:

▪ Extracción (Extract): Aprovechando la flexibilidad de Power


Query podemos conectarnos y extraer datos desde distintos
orígenes como, por ejemplo; Archivos de Texto, Archivos de
s Excel, Carpetas o diversos gestores de Bases de Datos locales,
o en la nube. Lo más interesante es que nunca ponemos en
riesgo la integridad de los datos y podemos manipularlos en el
Editor de Power Query a nuestro antojo.

▪ Transformación (Transform): Después de conectarte al origen


y extraer los datos, si es necesario, tienes que limpiarlos,
integrarlos o incluso enriquecerlos para alcanzar un Formato
s Tabular, todo utilizando diversas técnicas de Limpieza e
Integración de Datos.

▪ Carga (Load): Con los datos esculpidos en un formato tabular,


es momento de cargarlos en algún destino dentro de Excel: En
una Hoja del Libro, en el Motor DAX o crear solo la Conexión. Si
s estas en Power BI existe un solo camino y es el Motor DAX,
todo para su posterior análisis.

www.excelfreeblog.com
El ADN de Power Query 75

El proceso ETL debe cumplir con ciertos puntos críticos:

▪ Soporte para captura de datos cambiantes:


actualización fácil y sencilla sin necesidad de hacer una
carga completa de los datos nuevamente.

▪ Auditoria: capacidad para poder realizar un proceso de


revisión rápido y certero.

▪ Manejo de múltiples formatos: Para manejar datos de


múltiples orígenes, es necesario tener herramientas
para llevarlos a un formato estándar.

▪ Tolerancia a errores: En cualquier sistema ocurren


errores, un buen proceso ETL debe ser robusto para
una recuperación ágil.

▪ Velocidad: El sistema debe ser capaz de manejar


cantidades voluminosas de datos.

Consulta: La Esencia de Power Query

Power Query no lucha solo en la cruzada por convertir datos en


tablas que pueden ser analizadas, bajo su mando cuenta con
las consultas; componente sustancial en el universo del
Proceso ETL.

Una consulta está formada por una serie de pasos creados en ¿Qué es una
Consulta?
un orden especifico definidos en el propio lenguaje de expre-

www.excelfreeblog.com
76 Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query

… siones de Power Query denominado Lenguaje M, dichos


pasos tiene como objetivo realizar el proceso ETL para posterior
consumo y uso en las soluciones creadas, por ejemplo; en Excel
o Power BI. Aunque en términos simplificados:

Una Consulta es un Bloque de Trabajo


Bloque de
Trabajo Para contemplar el poder de una consulta y no malinterpretar
su lugar dentro de Power Query, examinemos que hace desde
distintas perspectivas:

Usuario: Nos permite


conectarnos a distintos
orígenes, extraer sus datos,
transfórmalos si es necesario,
para luego cargarlos en Excel o
Power BI.

www.excelfreeblog.com
El ADN de Power Query 77

El Gran Objetivo: Formato Tabular

Esta serie de conceptos que te hemos venido presentando


como parte esencial del funcionamiento de Power Query tienen
un único objetivo común y es: aplicar el formato Tabular a Formato
Tabular
todas las tablas, para ello cada una debe cumplir con estos
requisitos:

▪ Columnas con etiquetas adecuados NOTA

✓ Minimizar espacios en blanco El formato tabular consiste


en tener todos los datos de
✓ Minimizar caracteres no imprimibles tal forma que las filas
✓ Minimizar tildes describan un pedacito de
información concreto,
✓ Primera letra en mayúscula optimizado y ordenado para
una manipulación amigable
▪ Sin totales ni grandes totales y un análisis efectivo, este
✓ Sin subtotales formato se compone por
columnas o campos, y en
✓ Sin totales generales filas registros, conformando
así el formato clásico de una
✓ Sin grandes totales
tabla o como están
▪ Sin agrupación a nivel de filas (rótulos) estructurados en un gestor
de bases de datos.
▪ Sin agrupaciones a nivel de columnas (niveles)
▪ Sin columnas no apropiadas
✓ Sin columnas de error
✓ Sin columnas vacías
✓ Sin columnas no útiles (no congruentes)
✓ Sin columnas duplicados
▪ Sin filas no apropiadas
✓ Sin filas de error
✓ Sin filas vacías
✓ Sin filas no útiles (no congruentes)

www.excelfreeblog.com
78 Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query

▪ Columnas con tipos de datos apropiados


▪ Para elementos de columnas
✓ Elementos estándares
✓ Elementos bien escritos
✓ Eliminar espacios innecesarios
▪ Espacios Dobles
▪ Espacios al principio y al final
▪ Eliminar caracteres no imprimibles
▪ Tabulación
▪ Espacios especiales
▪ Enter
▪ Etc.
▪ Sólo columnas de interés para el análisis
▪ Sólo registros de interés para el análisis

A continuación, te presentamos un ejemplo sencillo, pero claro


de una tabla con el formato tabular óptimo:

Producto Unidades Precio Costo Cantidad (g) Categoría


Pasta 40 6 4 150 Alimentos
Spaguetti 35 5 9 237 Alimentos
Cereal 46 3 3 156 Alimentos
Frijol 50 9 8 291 Alimentos
Mantequilla 60 8 8 174 Alimentos
Queso 39 7 7 269 Alimentos
Chocolate 37 4 9 266 Alimentos
Café 33 9 2 199 Alimentos

Figura 2. 10 – Ejemplo Formato Tabular óptimo

www.excelfreeblog.com
El ADN de Power Query 79

Tener a la mano esta lista es una opción buena, por ello


dejamos de manera externa su descarga a modo de check list.

¡Descargar!
Para cualquier consulta de la lista de criterios a cumplir para el
formato tabular se puede descargar el siguiente check list:

Definición:

Formato Tabular o Tabular Format


Es un formato que presenta todos los datos en arreglos de filas
(registros) y columnas (campos), sin incluir ninguna especie de
etiquetas ni totales a parte de los nombres de los campos. Se
dice que es óptimo cuando cumple todo el check list.

Esquema visual del formato tabular o tabular table.

Campos

Datos

Tabular Table

Figura 2. 11 – Esquema del formato tabular (Tabular Table)

www.excelfreeblog.com
80 Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query

El Editor de Power Query

Power Query cuenta son su propia ventana de trabajo, es como


si fuera un propio programa en sí mismo, sin embargo, esta
De hecho, no sería una
entrelazada con Power BI, Excel o la aplicación en cuestión.
locura contar con un Power
Query como software
independiente, que arrojará
como resultado un archivo
que se pudiera importar en ¿Cómo ir al Editor de Power Query?
cualquiera de los otros
programas de Microsoft Existen dos caminos bien definidos para ir al editor, la primera
que lo soporte, así podrimos
mover “procesos ETLs” de es ir el a secas, para ello
un lugar a otro.
1. Abrimos un archivo en blanco de Power BI.

2. Vamos a la pestaña Inicio, grupo Datos externos,


desplegamos las opciones de Editar consultas y
pulsamos clic en Editar Consultas

Figura 2. 12 – Ventana/Editor de Power Query en Power BI

www.excelfreeblog.com
El ADN de Power Query 81

Otra alternativa es cargar datos, por ejemplo, si tomamos los


siguientes datos:

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 2 puedes encontrar el archivo de Excel con nombre:
CAP2EJ1 – SKUProductos.xlsx.

Ahora:

1. Abrimos un archivo en blanco de Power BI NOTA


2. Inicio → Datos Externos → Obtener datos → Excel Cuando se inicia en Power
Query es fundamental tener
3. Navegamos en nuestro computador hasta encontrar el
estos claro y su navegación,
archivo de Excel: CAP2EJ1 – SKUProductos.xlsx el siguiente vídeo detalle
esto y otros aspectos claves:
4. En el cuadro de diálogo seleccionamos el elemento
SKUProductos y pulsamos clic en el botón Editar.

Figura 2. 13 – Ventana/Editor de Power Query con una Consulta

www.excelfreeblog.com
82 Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query

El editor de Power Query sigue ciertas reglas al igual que sus


elementos que derivan del desarrollo en Microsoft, conocerlas
nos brindará la libertad de movernos con facilidad y seguridad
en Power BI como un todo y manipular los elementos con gran
solvencia.

Entrelazamiento El Entrelazamiento del editor de Power Query señala que para


cada archivo de Power BI siempre hay asociado una venta para
trabajar con Power Query, por lo anterior:

¡El editor de Power Query siempre se llamará igual que su archivo de


Power BI matriz!

Tanto el editor de Power Query como la interfaz analítica de Power BI en


la barra de títulos siempre tiene el mismo nombre como prefijo seguido
del nombre Power BI o Editor de Power Query.
Lo anterior permite entrever que podemos tener varias ventas de Power
Query abiertas

Figura 2. 14 - Editor de Power Query e Interfaz analítica de Power BI

www.excelfreeblog.com
El ADN de Power Query 83

La Interfaz de Power Query: ¡El lugar donde la


Magia Ocurre!

Con la idea qué: Una consulta realmente está constituida por


líneas de código del Lenguaje M rondando por nuestra mente, al
mismo tiempo puede surgir la pregunta ¿Power Query no es muy
complicado de utilizar considerando que debo conocer el Lenguaje
M para emplearlo?

— La respuesta querido(a) lector(a) es un: NO rotundo.

Todo ello se debe al Editor de Consultas o Editor de Power


Query (Nombre que ha ido mutando con la evolución de Power
Query), lugar donde la magia ocurre, donde convertir datos sin
forma alguna en una tabla bien estructurada con un par de
clics no es una exageración.

Es una Interfaz gráfica que nos permite agregar, editar o ¿Qué es el Editor de
eliminar pasos a la consulta actual (crea por nosotros el código Consultas o Editor
de Power Query?
en el Lenguaje M) para aplicar el proceso de Extracción,
Transformación y Carga de Datos, lo que convierte a Power
Query en una potente herramienta, porque podemos aplicar y
automatizar el proceso ETL sin tener experiencia en la creación
de líneas de código.

www.excelfreeblog.com
84 Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query

¡Toma Nota!

INTERFAZ POWER BI Y EXCEL


El Editor de Power Query es prácticamente el mismo en Excel y Power
BI; cambia el color y las opciones de Carga, pero en esencia es la
misma interfaz con dos armaduras diferentes.

— Una gran ventaja de Power Query de Power BI respecto a


el de Excel deriva de las actualizaciones mensuales del primero,
que también introduce mejoras en su parte de preparación de
datos.

INTERFAZ MICROSFT FLOW Y POWER BI SERVICES

El Editor de Power Query cambia su organización en comandos y


pestañas en las tecnologías de Microsoft Flow y Power BI Servicies,
siendo estas parecidas entre sí, pero diferentes respecto a las de Power
BI y Excel.

— También es válido señalar que no tiene tantas opciones


como los Power Query de Excel y Power BI.

Hagamos un desglose de la interfaz gráfica, sin tener en


cuenta aquellos elementos que se mantienen más
comúnmente entre programas como: barra de títulos, icono
de cerrar, icono de maximizar, icono de minimizar, botón de
ayuda y la barra de estado.

www.excelfreeblog.com
El ADN de Power Query 85

En Power BI Desktop

Cinta de Opciones: Comandos Barras de Fórmulas: Líneas del


en sí. lenguaje M

Pestañas: Agrupa conjunto de


comandos por afinidad.

Menú de Contexto:
Atajos de comandos

Panel de Consultas: Listado de


bloques de trabajo.
Panel de Configuración
de la Consulta

Panel de Resultados: Aquí se


visualiza la consulta

Figura 2. 15 – Editor de Power Query en Power BI Desktop

www.excelfreeblog.com
86 Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query

En Microsoft Excel

Cinta de Opciones: Comandos Barras de Fórmulas: Líneas del


en sí. lenguaje M

Pestañas: Agrupa conjunto de


comandos por afinidad.

Menú de Contexto:
Atajos de comandos

Panel de Consultas: Listado de


bloques de trabajo.
Panel de Configuración
de la Consulta

Panel de Resultados: Aquí se


visualiza la consulta

Figura 2. 16 – Editor de Power Query en Excel

www.excelfreeblog.com
El ADN de Power Query 87

1. Cinta de Opciones: La cinta de opciones es donde se


encuentran todos los comandos de trabajo agrupados
por afinidad, y estos a su vez subdividas aún más por
grupos más afines.

2. Pestañas: Estos grandes nombres permiten navegar


NOTA
entre los distintos grupos existentes en la cinta de
El número de pestañas
opciones, en Power Query concretamente contamos puede variar dependiendo
con las siguientes pestañas: de la acción que estemos
ejecutando, a estas se les
denomina pestañas
contextuales, alguna de
a. Archivo ellas:
b. Inicio
• Transformar
c. Transformar
• Consulta
d. Agregar Columna

3. Barra de Fórmulas: Muestra la expresión del lenguaje


M asociada al paso en el cual nos encontramos
posicionados, esta barra de fórmulas por defecto esta
deshabilitada; para activarla debemos seguir la ruta:

Vista → Diseño → Barra de Fórmulas

4. Menú de Contexto: Este es un atajo para desplegar


comandos que se pueden aplicar a la consulta
asociada.

www.excelfreeblog.com
88 Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query

Figura 2. 17 – Menú de Contexto

5. Panel de Consultas: Muestra las distintas


consultas o bloques de trabajo que tiene el archivo
para navegar entre sí, como estos varían según su
resultado y objetivo podemos tener variedades de
iconos, además, podemos crear carpetas para
agrupar consultas. (Clic derecho en el panel → Nuevo
Grupo)

6. Panel de resultados: Como su nombre lo indica


expone la salida (resultado) obtenido por la
expresión, dependiendo de la consulta puede
variar según el paso en el que estemos situados.

www.excelfreeblog.com
El ADN de Power Query 89

7. Panel de Configuración de la Consulta: Revela todas


las propiedades inherentes a la consulta seleccionada,
esta subdivida en dos partes, áreas o secciones:

a. Propiedades: En esta parte vemos dos


elementos a su vez:

Propiedades

Nombre

Todas

Figura 2. 18 – Sección Propiedades

i. Nombre: Aquí rebautizamos la consulta


si así lo queremos.

ii. Todas Propiedades: Aquí se muestra


propiedades adicionales.

Nombre
Tenemos la posibilidad de
agregar una descripción que
aparece cuando el puntero
esta encima de la consulta
en el panel de las consultas

Si queremos o no que aparezca


en la parte analítica de Power BI

Si queremos o no que se
actualice

Figura 2. 19 – Propiedades de la Consulta

www.excelfreeblog.com
90 Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query

b. Pasos Aplicados: Las fotos (snapshots) de cada


operación que realizamos con Power Query se ve
reflejado aquí como un paso en particular, de hecho, lo
que visualizamos aquí es el nombre o identificador de
la expresión M, así si queremos ver un estado anterior
en nuestro proceso sólo es suficiente con pulsar clic en
el nombre correspondiente.

Figura 2. 20 – Sección de Pasos Aplicados

Metodología Jerárquica A/O


Power Query es de una generosidad desbordante que en
cuestión de segundos y sin conocerlo mucho nos permite
realizar tareas impresionantes, no obstante, si tenemos unos
conceptos adicionales seremos unos campeones.

Conceptos de «Fuego» | Acciones y Operaciones


La metodología jerárquica de acciones y operaciones ha sido
nuestro esfuerzo en categorizar cada actividad que podemos
realizar en Power Query, si bien, aún seguimos trabajando en
ello, a continuación, veremos de que se trata.

www.excelfreeblog.com
El ADN de Power Query 91

Acciones y Operaciones

En la segunda etapa del proceso ETL contamos con distintas


operaciones que están enmarcadas en tres grandes núcleos
denominados: «Acciones», cada una tiene un fin y es esencial
conocer el objetivo de cada una de ellas:

Acción

▪ LIMPIEZA DE DATOS: Permite reajustar la forma de una tabla modificando su


estructura nivel de filas o columnas o incluso alterar toda la composición de la tabla
para lograr el formato tabular óptimo, esta acción está compuesta por las siguientes
operaciones:

o Reducción
▪ Exclusión de filas
▪ Quitar columnas
▪ Promover encabezado
o Formateo de Datos Limpieza de Datos de
Primer Grado:
▪ Transformación a nivel de columnas
Técnicas de Depuración
▪ Reemplazar valores
▪ Dividir columnas
▪ Asignación de nombres
o Transposición
o Rellenar

Limpieza de Datos de
o Anulación de Dinamización (Unpivot) Segundo Grado:

o Columna Dinámica (Pívot) Técnicas de Dinamización


por Transposición

www.excelfreeblog.com
92 Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query

Operaciones y De la primera acción: Limpieza de datos hay que destacar que


Sub-operaciones consta de seis operaciones: reducción, formateo, transposición,
rellenar, anulación de dinamización y columna dinámica, no
obstante, las dos primeras podemos bajar un poco más en la
jerarquía y ver de que están compuesta por sub-operaciones,
dado que a este nivel ya corresponde a comandos u opciones
concretas en la interfaz de Power Query.

A nosotros nos encanta hacer estas diferencias, puesto que


brinda una estructura mental clara y precisa de cada aspecto
tanto en el editor como en la práctica de preparación de datos,
a pesar de ello, por simplicidad a logar del presente texto
hacemos la siguiente salvedad.

¡Toma Nota!
Te en cuenta que a las sub-operaciones las llamaremos tan sólo
operaciones en algunas ocasiones a lo largo del texto, puede parecer
una diferencia sutil, pero es lo que nos diferencia en preparación de
datos inteligente.

Técnicas Otro punto es que las primeras cuatro grandes operaciones se


han categorizada bajo el nombre de: Limpieza de datos de primer
grado, técnicas de depuración, mientras que las dos ultimas
grandes operaciones bajo la categoróa de: Limpieza de datos de
segundo grado técnicas de dinamización por transposición.

www.excelfreeblog.com
El ADN de Power Query 93

Acción

▪ INTEGRACIÓN DE DATOS: Consiste en fusionar dos o más tablas para conseguir una
gran tabla maestra con todos los datos que sean de interés para el análisis, la forma
de pegar las tablas depende del análisis que deseemos lograr y de la composición de
las tablas, esta acción compuesta por las siguientes operaciones:

o Anexar (Appende)
o Combinar (Merge)
▪ Externa izquierda
▪ Externa derecha
▪ Externa completa
▪ Asignación de nombres
▪ Interna
▪ Anti izquierda
▪ Anti derecha

Acción

▪ ENRIQUECIMIENTO DE DATOS: Consiste en dotar una tabla con registros creados


artificialmente con métodos estadísticos y de minería de datos para enriquecer la
muestra de datos.

o Enriquecimiento Horizontal
o Enriquecimiento Vertical

www.excelfreeblog.com
94 Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query

¡Toma Nota!

En el momento de realizar las operaciones asociadas al


Enriquecimiento de Datos; como analistas, debemos tener suma
precaución y entendimiento del escenario porque si creamos nuevos
registros o completamos los existentes sin que cumplan las
condiciones de la tabla, podemos dañar la integridad de los datos, y
con ello, todos los análisis posteriores.

El Siguiente Paso
¡Basta de teoría! A cargar datos →

www.excelfreeblog.com
Capítulo 3

Capítulo 3: Conectores que Pueblan Power Query


(Orígenes & Categorías)
98 Capítulo 3 • Conectores que Pueblan Power Query (Orígenes y Categorías)

Introducción

Sino hay datos no es viable hacer mayor cosa, por esta razón
debemos conocer como conectarnos o extraer tablas de
diversos orígenes de datos que alimenten Power Query.

La gamma de orígenes que pueblan Power Query dista de ser


insignificante, de hecho, existen tantas tonalidades que
Power BI tiene sus propias
categorías para los orígenes podemos a subdividir en 4 grupos
de datos (conectores),
nosotros no los seguimos al
pie de la letra por ▪ Orígenes de Datos Estándar
preferencias personales,
pues las hemos organizado ▪ Orígenes de Bases de Datos Relacional
por complejidad y ▪ Orígenes de Datos en Línea
frecuencia de uso.
▪ Orígenes de Datos Semi y No Estructurados

OTRA NOTA CRUCIAL


En este capítulo veremos algunos detalles de los orígenes estándar.
Los conectores de Power BI
se expanden como el
universo: “Con aceleración
constante”, todos los meses A un origen singular, digamos, por ejemplo: Excel se le
hay nuevas posibilidades. denomina conector, y si bien el catálogo crece constantemente
puede que necesitemos uno que no se encuentre presente, a
pesar de que estos casos son menos frecuentes es bueno saber
que Power BI en general es tan potente que permite crear nuestros
propios conectores personalizados para Power Query.

¡Toma Nota!
Queda eximida de toda duda que Power Query proporciona una lista
mastodóntica de conectores, además de posibles nuevos integrantes al
transcurrir el tiempo, por ello te recomendamos el siguiente enlace
para visualizar todos:

www.excelfreeblog.com
El ADN de Power Query 99

Orígenes de Datos Estándar


Conectarse a un origen de datos es sencillo, ya que todos sigan
la siguiente ruta:

Inicio → Datos Externos → Obtener Datos → …


Ruta Dorada
Power BI
Nos referimos a la “ruta” anterior para extraer datos de un
origen de datos como la “ruta dorada” desde la interfaz de
Power BI, sin embargo, si nos encontramos en la interfaz de
Power Query la ruta es:

Inicio → Nueva Consulta → Nuevo Origen → …

En esta categoría enmarcamos esos conectores más utilizados Ruta Dorada


Power Query
y comunes.

Tabla 3. 1 Orígenes de Datos Estándar

Conector Excel: Pros, Con y Consideraciones


Como no podría ser de otro modo la lista la iniciaremos
lógicamente con:

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 6 puedes encontrar el archivo de Excel con nombre:
CAP2EJ1 – Ventas_Pedidos.xlsx. (Lo abrimos para un vistazo)

www.excelfreeblog.com
100

www.excelfreeblog.com
Capítulo 3 • Conectores que Pueblan Power Query (Orígenes y Categorías)

Figura 3. 1 - Fragmento de la Tabla Pedidos (La tabla esta acortada en el extremo derecho y en la parte inferior)
El ADN de Power Query 101

La table Pedidos es interesante para tratar todos los temas de


limpieza de datos de primer grado, sin embargo, esto será
tema de un capítulo posterior, por lo pronto sigamos los pasos
mencionados a continuación:

1. Abrimos un archivo nuevo de Power BI.

2. Realizamos la ruta dorada, explícitamente: Vamos a la


pestaña Inicio, grupo Datos Externos y desplegamos las
opciones comando Obtener datos.

Figura 3. 2 – Opciones de Obtener Datos

3. Pulsamos clic encima de la opción Excel.

4. Cuando navegamos por nuestro computador solo nos


mostrar carpetas y archivos de Excel, ubicamos el de
CAP2EJ1 – Ventas_Pedidos.xlsx.

www.excelfreeblog.com
102 Capítulo 3 • Conectores que Pueblan Power Query (Orígenes y Categorías)

¡Riesgo: Advertencia!
El conector Excel permitirá visualizar las extensiones: .xlsx, xlsm y xlsb;
pero debemos tener muchísimo cuidado debido a que la única
extensión que cargará correctamente será sólo la .xlsx.
Cualquier otro tipo de extensión asociada a Excel como: .xls, xlsxt, xlst,
xlsm, etc. Ni siquiera permitirá si visualización, entre otras cosas por
compatibilidad y porque algunas son plantillas.

Lo siguiente que nos va aparcer es un cuadro de diálogo con el


nombre de Navegar.

Aquí podemos desplegar dos opciones, una para mostrar solo aquellos elementos
Seleccionados, especialmente útil cuando tenemos una cantidad considerable de
ellos, 200, 300, etc.

Tabla

Hojas

Áreas de Impresión

Nombres Definidos

Figura 3. 3 – Cuadro de Diálogo Navegar

www.excelfreeblog.com
El ADN de Power Query 103

Como se puede observar aparecen diversos elementos


NOTA

▪ Pedidos1 Para Power Query de Excel


2013 y anteriores también
▪ Auxiliar cargaba como opción los
Rangos de Filtros, aquella
▪ Pedidos
funcionalidad de ataño que
▪ _xlnm.Print_Area esgrimíamos con el
comando Avanzadas en la
▪ Meses pestaña Datos de Excel.

— ¿Qué es cada elemento? Si tienes curiosidad acerca


de esta funcionalidad de
Para dilucidar la lista de elementos es impetaivo conocer que Excel, el siguiente vídeo
brinda una descripción
cuando cargamos un archivo de Excel este nos motrar lo breve.
siguientes:

▪ Tablas Estructuradas
▪ Hojas
▪ Nombres Definidos
▪ Áreas de Impresión

Para distinguirlos en la interfaz de Power BI vemos en el


extremo izquierdo de cada elemento un icono representativo.

Icono para Tablas Estructuradas

Icono para Hojas

Icono para Nombres Definidos y Áreas


de impresión

Figura 3. 4 – Iconos de Conector de Excel

www.excelfreeblog.com
104 Capítulo 3 • Conectores que Pueblan Power Query (Orígenes y Categorías)

Para lo que neceistamos es claro: los datos de la tabla Pedidos,


no obstante, en dicho sentido tenemos dos posibilidades:
Pedidos1 y Pedidos, el primer, como ya debieramos intuir
correponde a una tabal estructurada de Excel mientras que la
segunda hace referencia a la hoja como tal.

— ¿Cuál de las dos opciones es mejor?

En este caso la tabla estructurada, es decir, el primer elemento


que en su icono en el extremo izquierdo tiene encabezado azul
será lo mejor, debido a que, si aparte de la tabla estructurada
en la hoja en algún otra parte existen más datos, entonces
estos también serían cargados como partes de la consulta,
alargando y complicando el proceso de limpieza.

5. Seleccionamos el elemento Pedidos1, si nuestra tabla


no necesita limpieza podemos pulsar clic en Cargar,
pero si por el contrario hace falta arreglamos pulsamos
en Editar para ir a la interfaz de Power Query.

Si optamos por Editar, varias cosas se podrán notar en la


consulta recién creada que es perfectamente válido destacar
para una buena compresión del punto de partida que
tomaremos para la limpieza de datos.\

www.excelfreeblog.com
El ADN de Power Query 105

Figura 3. 5 – Tabla Pedidos Visualizada en Power Query

En el Panel Configuración de la Consulta en su sección Pasos


Aplicados se ve que de manera automática agrega tres
pasos por defecto:

▪ Origen
▪ Navegación
▪ Tipo cambiado

Estos siempre será un común denominador, y en el 80% de


los casos aparecerán, en ciertas circunstancias puede incluir
uno u otro paso adicional, pero los listados son lo que
siempre persisten.

Por otra parte, en el panel Consultas se puede a puede ver el


bloque de trabajo.

¡Toma Nota!
En la imagen anterior se puede ver la barra de fórmulas que enseña
las líneas del lenguaje M, esta no se encuentra habilitada por defecto,
para hacerlo debemos ir a la pestaña Vista y en el grupo Diseño
habilitar la opción de Barra de fórmulas.

www.excelfreeblog.com
106 Capítulo 3 • Conectores que Pueblan Power Query (Orígenes y Categorías)

Podemos guardar el archivo de Power BI nuevo que hemos


creado para reutilizarlo más delante y agregar otras consultas

El primer paso para alcanzar este objetivo consiste en ir a la


pestña Inicio, grupo Cerrar y desplegamos las opciones de
Cerrar y Aplicar.

Esta primera posibilidad guarda los


pasos aplicado en Power Query y
Esta segunda posibilidad
cierra su vez su ventana para ser
aplica los cambios, es decir,
cargados en la interfaz analítica.
guarda internamente la serie
de pasos que llevamos en la
ventana de Power Query, sin
embargo, no cierra esta
última ya que la deja
habilitada para seguir
trabajando en la consulta
Cierra la ventana de Power Query sin actual u otra en la ventana.
guardar los cambios.

Figura 3. 6 – Opciones de Carga de Datos: Cerrar y Aplicar, Aplicar y Cerrar

6. Nos iremos por la opción Cerrar y Aplicar.

Figura 3. 7 – Cambios Aplicados en la Consulta y Advertencia de Error

www.excelfreeblog.com
El ADN de Power Query 107

Como se ve claramente arroja uan advertencia de error, no


obstante, no debemos alarmarnos ya que nos dejara seguir
trabjando con normalidad

Eso si es un sugerencia cortes de que hagamos tratamiento


de estos errores antes de pasar a la parte de análisis y
modelado de datos.

¡Referencia Cruzada!
La parte de creación de: indicadores, KPIs, KRIs y métricas para el
análisis de datos es territorio del lenguaje DAX, que corresponda a la
segunda etapa de proceso de inteligencia de negocios, todo esto es
tema de otro libro de la Colección ADN:
El ADN de Power Pivot
ISBN: 978-958-46-8542-7

También es buena idea guardar el archivo de Power BI como


tal, esto proceso es simple porque es igual como si
guardaramos un archuvo de Excel, especificamente:

7. Vamos a la petaña Archivo y ubiamos el comando


Guardar Como, a continuación se depliega el cuaro de
diálogo Guardar Como donde podemos navegar en
neustro computador para darle una localización
deseada al archivo así como un nombre y finalmente
pulsar clic el el botón Guardar.

www.excelfreeblog.com
108 Capítulo 3 • Conectores que Pueblan Power Query (Orígenes y Categorías)

¡Riesgo: Advertencia!
Sin un archivo de Excel está cifrado con contraseña, Power BI no lo
podrá cargar, de hecho, arroja el siguiente error:

Si el tipo de protección utilizada es del tipo: Proteger hojas, estructura


o modo lectura si será posible cargar sus datos correctamente.

¡Posible Vía Alterna!


Consiste en crear una carpeta de confianza, así se alojar el archivo allí
y remover la contraseña.

Ventajas y Desventajas

No esta demás tener a la vista cuales son las ventajas y


deventajas el conector Excel.

Tabla 3. 2 Ventajas del Conector Excel

www.excelfreeblog.com
El ADN de Power Query 109

Tabla 3. 3 Desventajas del Conector Excel

Conector Texto o CSV


Los arhivos de texto son aquellos que no guardan ningún
tipo de formato, por lo tanto, excelentes para almacenar, es
más, aquí radicará su primera ventaja, puesto que permite
alojar cantidades enormes siendo ligeros en tamaño que
permite una carga muy rapido en Power BI o en cualquier
otro pragama que se pueda alimetar de el.

Con este concector podemos extraer datos de la sigueintes


tres extensiones: .txt, .csv, . prn. He aquí su descripción:

Tabla 3. 4 Descripción de los Formatos del Conector Texto o CSV

www.excelfreeblog.com
110 Capítulo 3 • Conectores que Pueblan Power Query (Orígenes y Categorías)

Otros Orígenes

En general, conectarse a un origen de datos es bastante


intuitivo, puesto que, como vimos solo implica seguir la ruta
dorada.

Orígenes de Bases de Datos Relacionales

Estos conectores especializados en almacenamiento de datos


tienes la gran ventaja que rara vez necesitan preparación de
datos, algunos de ellos son: Access, SQL, PostgreSQL, Amazon
Redshift. Etc.

Orígenes de Datos en Línea

Power BI también brinda una amplia franja de opciones para


conexione en línea, por ejemplo: SharePoint, Google Analytics,
Mailchimp, Facebook, etc.

El Siguiente Paso
El capítulo próximo es uno de los más extensos de todo el libro,
debido a que, trata todos los fundamentos en Power Query, por
lo tanto, es el primero en el cual entramos en materia.

www.excelfreeblog.com
→ ←

Los pilares del panteón lo componen cada uno de los capítulos de esta parte, todo
derivada de que, cada operación fundamental: su explicación, lógica, ejercicios,
escenarios comunes y hasta aspectos avanzadas yacen en sus páginas engarzados
con esquemas visuales para una explicación más gráfica.

Capítulo 4 • Limpieza de Datos de Primer Grado


Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración
Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Capítulo 7 • Grados de Libertad y Pseudo Generalización NxM
Capítulo 8 • Transformaciones Superiores con Modos de Dinamización
Capítulo 4

Capítulo 4: Limpieza de Datos de Primer Grado, Técnicas


de Depuración
116 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

El Primer Paso

El trabajo con Power Query no es muy distinto de lo que pasa


en nuestra realidad, frecuentemente, el desafío más grande al
que podemos enfrentarnos para emprender cualquier
proyecto, proceso o actividad es el simple hecho de ¡Empezar!,
- Si empezar …

Cuando tenemos que arreglar una tabla para lograr el Formato


Tabular podemos abrumarnos si cuenta con varios problemas
en su estructura por eso es importante tener “un mapa que nos
indique cual es el primer paso para encontrar el tesoro”. En la
segunda etapa del proceso ETL: Transformación contamos con
tres acciones; Limpieza, Integración y Enriquecimiento, cada
una de ellas está enfocada en resolver algún problema
relacionado con la etapa de Transformación de Datos en sus
distintos niveles.

Las artes marciales cuentan con distintas disciplinas que


cambian sus técnicas y movimientos de acuerdo con su
enfoque; algunas están orientadas en la defensa personal,
otras en mejorar la salud física y espiritual o simplemente como
deporte de competición, aunque sin importar los distintos
estilos el objetivo primordial en general de las artes marciales
es conseguir a través del entrenamiento y la disciplina un
desarrollo integral de la personalidad y que además se
fortalezcan los valores morales de cada persona. Algo similar
pasa con la Limpieza de datos, el objetivo es conseguir.

www.excelfreeblog.com
El ADN de Power Query 117

El Formato Tabular, aunque contamos con dos poderosas


técnicas según el enfoque: Operaciones de Primer Grado:
Técnicas de Depuración y Operaciones de Segundo Grado: Técnicas
de Anulación por Transposición. Cabe resaltar que en el presente
capitulo abordaremos la primera “Técnica” mencionada.

Entendimiento de los Datos


Si recordamos, el primer gran eslabón en preparación de datos
NOTA
inteligente, sabemos que corresponde a el: Entendimiento de
NOTA 1
Datos, en síntesis, consiste en comprender de qué forma están
Todos estos conceptos
constituidos nuestros datos y verificar su calidad. fueron tratados extensa y
detalladamente en el
capítulo número 2, si te lo
Adicionalmente, también estamos al corriente que hoy por hoy has saltado te
recomendamos que le des
la gran etapa de entendimiento de los datos se superpone con una oportunidad a esta
el segundo eslabón, El Proceso ETL. parte teórica.

NOTA 2
Lo anterior es así gracias a una magnifica funcionalidad La funcionalidad de perfil
de datos esta 100%
denominada: Perfil de datos o Data Profiling en inglés, la cual nos
disponible desde la
permite en primera instancia extraer los datos (extracción del actualización abril de 2019
para Power BI. A la fecha de
proceso ETL) y luego realizar el entendimiento. publicación de este libro,
para Excel aún no se cuenta
con esta característica
No nos vamos a ir por las ramas así que vamos al grano:

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 4 puedes encontrar el archivo de Excel con nombre:
CAP4EJ1 – Ventas_Pedidos.xlsx.

www.excelfreeblog.com
118 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Abramos el archivo de Excel en su oirgen nativo para tener una


idea algo más claro de su formato:

Figura 4. 1 – Tabla Pedidos en su origen de Excel

Este es un ejemplo claro de violación de todos los estandares


de un formato tabular, tiene: filas y columas vacías, filas de error,
encabezdos no correspondiente, totales y subtotales, columnas que
no nos interesa, tipos de datos cruzados, categorías de dos campos
combinadas, manejo de minusculas y mayusulcas no apropiado,
entre otros.

¡Empecemos nuestro procedimiento!

www.excelfreeblog.com
El ADN de Power Query 119

1. Abrimos un archivo nuevo de Power BI.

Los pasos subsiguientes consisten en la ruta dorada:

Inicio → Datos Externos → Obtener Datos → …

No obstante, vamos a detallarlo una vez más.

2. A continuación, pulamos clic en la pestaña Inicio y de


allí ubicamos el grupo Datos Externos y desplegamos las
opciones de Obtener datos, para finalmente seleccionar
el comando Excel.

Figura 4. 2 – Obtener datos de Excel desde la Interfaz de Power BI

3. Con la acción anterior se despliega el cuadro de diálogo


de navegación: Abrir, allí nos damos a la tarea de
encontrar en nuestro computador el archivo de Excel
con nombre: CAP4EJ1 – Ventas_Pedidos.xlsx.

www.excelfreeblog.com
120 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Figura 4. 3 – Navegación de en el PC para encontrar archivo de Excel

5. Seleccionamos el archivo y pulsamos clic en el botón


Abrir, para ver que emerge un nuevo cuadro de diálogo
llamado Navegador, aquí damos clic en el elemento
Pedidos1 para posteriormente pulsar clic en el botón
Editar.

¡Toma Nota!
El estudio y detalle de los diferentes elementos que detecta la
extracción de un archivo de Excel desde Power BI Desktop fue tratada
extensamente en el capítulo anterior, en la sección: Orígenes de Datos
Estándar apartado Conector Excel: Pros, Con y Consideraciones.

www.excelfreeblog.com
El ADN de Power Query 121

Figura 4. 4 - Cuadro de Diálogo Navegador, Pedidos1 Seleccionado

En este momento aparece el editor de Power Query

Figura 4. 5 – Interfaz de Power Query con los datos de elementos Pedidos1 de Excel Extraídos

www.excelfreeblog.com
122 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Perfil de Datos

Para iniciar nuestro entendimiento de datos, algo que


notaremos en la interfaz de Power Query, son esas líneas
debajo del nombre de cada campo, que adicionalmente si
posicionamos nuestro cursor encima aparecerá un tooltip con
cierta información:

Tooltip con más


información acerca del Barra de Perfil de Columnas
perfil de la columna

Figura 4. 6 – Barras Básicas de Perfil de Columnas

El tooltip nos proporciona información acerca de la calidad de


los datos, pero al contener errores nos para en seco, indicando
únicamente un estimado del porcentaje de error, de hecho, en
la parte inferior nos brinda una sugerencia acerca del paso a
tomar: Quitar Errores.

No obstante, en los tres puntos del extremo inferior derecho


podemos desplegar para ver las opciones disponibles para
tratamiento de errores.

www.excelfreeblog.com
El ADN de Power Query 123

La acción que nos invita a tomar Si queremos otra acción respecto a los
Power Query es Quitar los errores errores podemos pulsar clic en los tres
directamente, si pulsamos clic puntos y ver las posibilidades existentes.
encima los errores son removidos.

Figura 4. 7 – Sugerencias de acción según perfil de datos

Calidad de Es posible expandir la información de calidad de columnas,


Columnas para eso vamos a la pestaña Vista y en el grupo Vista previa de
los datos habilitamos la casilla: Calidad de Columnas.

Figura 4. 8 – Grupo Vista previa de los datos (Habilitación de Calidad de Columnas)

www.excelfreeblog.com
124 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

¡Riesgo: Advertencia!
Lo primero que recomendamos es el tratamiento de errores
independientemente de cuál sea el tipo de formato, debido a que, sino
los removemos desde un principio podemos tener compartimientos
extraños en los datos, además, en algunos casos las sugerencias no
funcionarán correctamente.

Al habilitar la opción de calidad de datos vemos como se


expande la parte inferior en los nombres de los campos
señalado valores válidos, errores y vacíos.

Figura 4. 9 – Visualización de Calidad de Datos

Se puede observar que en ninguna columna muestra


porcentaje de valores válidos y vacíos, más a nuestro favor,
porque los errores deben ser tratados de ipso facto.

Para ello utilicemos el tooltip y la sugerencia dada por el


“bombillito” y pulsamos clic en quitar errores.

www.excelfreeblog.com
El ADN de Power Query 125

Figura 4. 10 – Visualización de Calidad de Datos después de Remover Errores

Se ve reflejado seguidamente la visualización de calidad de NOTA


columnas con porcentajes exactos, a todas luces, al remover
los errores el porcentaje de estos pasan a 0. NOTA 1
Para quitar errores véase la
Cabe señalar como han cambiado la barra de perfil de figura 4.7 que ilustra este
columnas, ya no hay una fracción roja, pues está asociada a procedimiento.

errores. Vemos que ahora está parcialmente verde y gris, NOTA 2


indicando valores válidos y vacíos respectivamente. Nótese en el Panel de
Configuración de la
Habilitemos ahora la Distribución de Columnas, para ello: Consultas en el área de
Pasos Aplicados como se
Vista → Vista Previa de Datos → Distribución de Columnas añade automáticamente el
paso: Errores quitados.

He aquí la figura:

kv
Figura 4. 11 – Distribución de Columnas

www.excelfreeblog.com
126 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

La distribución de columna nos presentará un gráfico de barras


ordenado descendentemente de izquierda a derecha,
mostrando visualmente la ocurrencia de valores distintos.

¡Toma Nota!
Si existen muchos elementos distintos acompañados de múltiples
anomalías como en la columna 1, Power Query puede no desplegar el
gráfico, empero, cuando la columna tiene menos valores y pocas
anomalías como es el caso de las columnas 14 y 15 si los presenta.

Para tener mayor entendimiento de esta parte, vamos a


visualizar la tabla: CAP4EJ2 - RegistrodeVentas.xlsx que se
encuentra en el capítulo 4 en el compendio de archivos.

Esta columna muestra en el gráfico de barras que tiene 5 valores distintos, además,
dicha información se especifica en la parte inferior junto con la cantidad de valores
únicos.

Figura 4. 12 – Tabla Registro de Ventas con Distribución de Columnas

www.excelfreeblog.com
El ADN de Power Query 127

— ¿Cuál es la diferencia entre distintos y columnas?

Quizá no será inútil indicar aquí la diferencia entre distintos y


únicos.

Para ocupar lugar, apoyémonos en la figura mostrada a


continuación que explica la diferencia.

Los valores destinos corresponde a toda la lista de elementos


individuales existentes en la columna, en nuestro ejemplo son
los elementos: a, b, c, e, f y g

Los valores únicos son aquellos que sólo


tienen una ocurrencia a lo largo de todo el
campo, tal es el caso de los elementos: e, f y
g en nuestro ejemplo.

Figura 4. 13 – Diferencia entre distintos y únicos

Para finalizar la opción Perfil de columna, presenta lo Perfil de Columnas


anteriormente descrito deforma compacta en la parte inferior
del panel de resultados.

Para habilitar sigamos la ruta:

Vista → Vista Previa de Datos → Perfil de Columna

He aquí el resultado:

www.excelfreeblog.com
128 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Figura 4. 14 – Perfil de Columna en Power Query

Transformación de Datos (Técnicas


de Primer Grado)

Las tres primeras operaciones de la gran acción de limpieza de


datos, a saber: reducción, formateo y rellenar, ellas nos permiten
trabajar sobre filas y columnas, o incluso reajustar el formato
de una tabla. Todo aquellos que implique las tres primeras
operaciones aderezadas entre si las denominaos técnicas de
primer grado o técnicas de depuración.

www.excelfreeblog.com
El ADN de Power Query 129

¡Toma Nota!
Conviene subrayar que, sin importar la operación asociada a las
técnicas de primer grado, ellas utilizan un patrón en las “casillas” para
identificar el cambio que se debe ejecutar, y con esto, la
transformación se aplica a toda la fila o columna.

Recordemos que esto se estudió detalladamente en el


capítulo 2, sin embargo, traigamos a la vista en qué
consisten:

Limpieza de Datos de
Primer Grado:

Técnicas de Depuración

o Reducción
▪ Exclusión de filas
▪ Quitar columnas
▪ Promover encabezado
o Formateo de Datos
▪ Transformación a nivel de columnas
▪ Reemplazar valores
▪ Dividir columnas
▪ Asignación de nombres
o Transposición
o Rellenar

www.excelfreeblog.com
130 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Algunas “Técnicas” mencionadas se pueden aplicar de varias


maneras utilizando los comandos de la cinta de opciones del
Editor de Power Query, aunque ya nos ocuparemos de cada una
en su momento. En definitiva, es posible utilizar alguna de las
operaciones mencionadas para iniciar el arreglo de una tabla
que no tiene el formato tabular si es el caso, porque están
diseñadas para resolver los desafíos más frecuentes que tiene
un conjunto de datos así que ¡Manos a la obra!

Reducción: Exclusión de Filas


Para iniciar con la limpieza de una tabla es recomendable que
nos pongamos en el papel de un escultor y empecemos a
remover todo lo que no es necesario en nuestro conjunto de
datos.

La Exclusión de Filas como su nombre lo señala, consiste en

s suprimir o quitar registros de nuestra tabla de datos, pero


Sub-operación: siempre teniendo en cuenta un parámetro o regla para
Exclusión de Filas
eliminarlos.

¡Toma Nota!
Lo interesante de las operaciones es que en algunos casos es posible
aplicarlas con distintos comandos en el Editor de Consultas.

En el caso particular de la Exclusión de Filas contamos con dos


caminos:
▪ Grupo Quitar Filas
▪ Autofiltros y Filtros Avanzados

www.excelfreeblog.com
El ADN de Power Query 131

Técnicas de Depuración
Inicio

Para realizar eficientemente la


Exclusión de Filas, es
aconsejable ejecutar ciertos
pasos en un orden especifico.
Además, como encargados del
Proceso / Mecánica Proceso ETL debemos
identificar el patrón/parámetro
destinado para eliminar las filas

Inicio

www.excelfreeblog.com
132 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Recomendaciones y Para aplicar la Exclusión de Filas en una tabla es aconsejable que


Buenas Practicas sigas los siguientes pasos en orden, con eso lograrás evitar
comportamientos extraños en tú consulta.

Remover Errores

Es recomendable empezar la limpieza, quitando


posibles valores erróneos que se encuentren
dispersos por toda la tabla.
1

Quitar Filas en Blanco


Luego, remover las celdas o filas vacías, porque
pueden dificultar la posterior limpieza.

Eliminar Elementos Incoherentes

Finalmente, quitar las filas relacionadas a


elementos o ítems que NO son un registro de
la tabla o conjunto de datos.

Con esta serie de conceptos y recomendaciones en mente,


estamos listos para ver distintas maneras de aplicar la ¡Exclusión
de Filas!

Retómenos nuestro archivo: CAP4EJ1 - Ventas_Pedidos.xlsx.

www.excelfreeblog.com
El ADN de Power Query 133

Procedamos a poner un poco de TNT y mandar a valor por los cielos


el paso de Errores quitados que añadimos anteriormente, el fin
de esto, es dejar la puerta abierta para ver otra alternativa en la
interfaz para quitar errores, Sumémosle a ello que: a la fecha de
escritura de estas líneas las funcionalidades de Perfil de datos sólo
están disponible para Power BI.

Figura 4. 15 – Eliminar Paso de: Errores Quitados

Pausemos un Momento
LA MAGIA DEL CLIC DERECHO:
Como cualquier otro programa, con clic derecho podemos conseguir
muchos comandos asociados a la labor que queremos realiza, por
ejemplo, hace un momento hemos querido eliminar el paso: Errores
quitados, nuestra tendencia es pulsar clic en el icono de la x, sin
embargo, al presionar clic derecho sobre el paso (Errores quitados) no
solo encontraremos el comando: Eliminar, sino también opciones
interesantes como: Eliminar hasta el final, el cual permite (si hay)
eliminar todos los pasos desde el actual (donde hicimos clic derecho)
hasta el último. [Continua la nota y véase imagen …]

www.excelfreeblog.com
134 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Pausemos un Momento
Si el paso admite
edición, desde aquí Comando Eliminar desde menú
podemos acceder
Elimina del paso actual hasta
Se muestra un cuadro el paso final
donde podemos cambiar
el nombre del paso y
añadir un comentario, Crea una nueva consulta
este comentario se que extrae pdel paso
muestra en un tooltip y anterior al primero paso.
se inserta como línea de
comentario en el código
M.

Nuestro estado inicial queda de la siguiente manera:

Figura 4. 16 – Estado Inicial de la Consulta Pedidos para Posterior Transformación

www.excelfreeblog.com
El ADN de Power Query 135

1. Siguiendo con las recomendaciones, repararemos la


tabla de izquierda a derecha, quitando inicialmente
todas las filas de error. El Editor de Consultas de Power
Query muestra que la tabla Pedidos tiene en la fila
número 23, un registro con todas sus celdas arrojando
error, porque en el archivo de Excel, en esa fila, existe
una división por 0. Si damos clic en una celda de la fila,
el editor de consultas nos expondrá su contenido.

Figura 4. 17 – Contenido de una Casilla de Error

Con el problema identificado es momento de arreglarlo, Comando


para ello, seleccionamos la Columna 1, después, vamos a la Quitar Errores

pestaña Inicio, grupo Reducir Filas y damos clic en la opción


Quitar Errores.

Figura 4. 18 – Comando Quitar Errores desde la Pestaña Inicio

www.excelfreeblog.com
136 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

El Editor de Power Query busca en toda la columna las celdas


que cumplen con esa condición, luego de identificarla, elimina
toda la fila asociada a ese elemento; además, agrega un nuevo
paso a la consulta actual.

Figura 4. 19 – Errores Quitados

2. Con los errores removidos, es momento de quitar las filas


en blanco. Si fijas tú atención en la tabla cargada en el
Editor de Power Query, observarás que las celdas que
aparecen vacías en el archivo de Excel ahora contienen la
palabra null, haciendo referencia a que la celda no tiene
ningún valor, y Power Query lo señala así para que sea más
fácil manipular este tipo de dato. Con lo anterior en mente,
elegimos la primera columna, luego, nos dirigimos a la
pestaña Inicio, grupo Reducir Filas, comando Quitar Filas y
damos clic en Quitar Filas en Blanco.

www.excelfreeblog.com
El ADN de Power Query 137

Figura 4. 20 – Quitar Filas en Blanco

Como resultado, se han eliminado las filas que tenían en la


columna 1 valores blancos o nulos (null), además se ha creado
un nuevo paso en la consulta.

Figura 4. 21 – Filas en Blanco Removidas en la tabla total

www.excelfreeblog.com
138 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

3. Continuando con la limpieza, tenemos que descartar los


elementos incoherentes, en otras palabras, todo lo que no
hace parte de los datos de la tabla. Para ello, usaremos los
filtros del Editor de Power Query. Como consecuencia,
seleccionamos la primera columna y luego damos clic en el
botón de Autofiltros; que aparece como una flecha en cada
una de las etiquetas de las columnas.

Figura 4. 22 – Filtros en las distintas Columnas

Al dar clic sobre el botón de filtros se exponen los distintos


ítems que tiene la columna, es importante dar clic en Cargar
Más, para que se muestre toda la lista de valores.

Figura 4. 23 – Opciones de Filtro

www.excelfreeblog.com
El ADN de Power Query 139

La lista muestra un límite de máximo 1000 valores, aunque en


este escenario funciona sin problema. Al desplazamos hasta el
final, encontraremos una serie de datos incoherentes, por lo
que vamos a deshabilitarlos y damos clic en Aceptar.

NOTA

El ítem Número de Pedido


– Tipo Compra no lo
deshabilitamos porque
corresponde a las etiquetas
de la tabla.

Figura 4. 24 – Deshabilitar elementos incoherentes

Al aplicar filtros, se excluyen todas las filas que cumplen con


esa condición, aunque debemos tener cautela al emplearlos,
porque si elegimos un elemento que hace parte de la tabla,
todos los registros asociados también serán quitados.

www.excelfreeblog.com
140 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Figura 4. 25 – Tabla con los primeros filtros aplicados

Ya se han removido los elementos que no hacen parte de la


tabla, aunque todavía aparecen unos asteriscos entre las
etiquetas y los datos, así que vamos a quitarlos utilizando
nuevamente filtros en la columna 1.

Figura 4. 26 – Quitar asteriscos

www.excelfreeblog.com
El ADN de Power Query 141

Al eliminar los asteriscos empleando Autofiltros, no se crea un


nuevo paso, por el contrario, se agrega la acción al paso
anterior puesto que es el mismo comando y se hizo
inmediatamente después.

Figura 4. 27 – Tabla sin asteriscos

Al mirar nuestro archivo de Excel, en la parte inferior,


encontraremos que existen filas incoherentes y dichos
elementos no aparecen en los filtros de la columna 1.

Valores Incoherentes que no


fueron identificados en la lista
de filtros

Desde la columna 2, existen celdas vacías,


por lo que vamos a apoyarnos en ellas para
eliminar los registros incoherentes

Figura 4. 28 – Parte Inferior de la Tabla Pedidos visualizado desde Excel

www.excelfreeblog.com
142 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Vamos a aprovechar que desde la Columna 2 hay celdas vacías


para eliminar los registros incoherentes de la Columna 1. En

NOTA consecuencia, seleccionamos la Columna 2, damos clic en el


botón de filtros, en la lista elegimos Cargar Más, y

Otra manera de eliminar deshabilitamos la opción (Nulo), que hace referencia a todas
estos registros incoherentes las celdas que no tienen ningún valor en esa columna.
que aparecen al principio y
al final de la tabla es
utilizando los comandos:
Quitar Filas Superiores y
Quitar Filas Inferiores.

Pero no es recomendable
utilizarlos porque debemos
asignar un número fijo de
filas a quitar contando
desde arriba o desde abajo Figura 4. 29 – Aplicar filtros en la columna 2
y no un parámetro. En el
capítulo 7 se detalla más
este escenario en grados de En el Editor de Power Query, podría parecernos que no se ha
libertad aplicado ningún cambio, puesto que no se ha creado ningún
paso nuevo y tampoco se ve el cambio en el área de resultados,
aunque nada es más alejado de la realidad, porque este filtro
también se agregó al paso anterior y el resultado no se nota ya
que se han eliminado filas ubicadas al final de la tabla, así que
ten esto presente.

www.excelfreeblog.com
El ADN de Power Query 143

Reducción: Promover Encabezados

4. Con los registros que no hacen parte de la tabla


eliminados, han quedado en la primera fila las etiquetas
de cada columna; aunque hasta este punto Power
Query no las reconoce como tal, así que vamos a
utilizar el comando Usar la primera fila como
Encabezado, en definitiva, nos dirigimos a la pestaña
Transformar, grupo Tabla y damos clic en el comando
en cuestión.

Figura 4. 30 – Usar primera fila como encabezado

www.excelfreeblog.com
144 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

En la figura anterior se pueden ver los encabezados asignados.


También debes darte cuenta de que se han agregados dos
pasos, Encabezados Promovidos y Tipo Cambiado 1, el segundo,
lo agrego automáticamente el editor de consultas para asignar
el Tipo de Dato, más adelante nos encargaremos del formato
de los datos de cada columna. Por ahora es todo en cuanto a la
Promoción de Encabezados, así que pasemos a la siguiente
operación, para continuar con la limpieza de la tabla.

Reducción: Quitar Columnas


Esta Sub-operación es similar a la Exclusión de Filas, solo que
ahora vamos a prescindir de algunos campos de nuestra tabla.
Quitar Columnas como su nombre lo señala consiste en eliminar
s o remover columnas de nuestro origen de datos, puesto que
Sub-operación: existen escenarios en los que no todos los campos de la tabla
Quitar Columnas
serán utilizados en el posterior análisis.

Para eliminar columnas de una tabla cargada en el editor de


consultas, podemos decidir entre dos comandos iniciales:

▪ Elegir Columnas
▪ Quitar Columnas

¡Toma Nota!
Como analistas debemos tener criterio y entendimiento del escenario
porque si eliminamos una Columna que puede ser empleada en el
futuro, el traerla de nuevo se convertirá en un proceso bastante
tedioso.

www.excelfreeblog.com
El ADN de Power Query 145

Técnicas de Depuración

Inicio

Proceso / Mecánica

Los comandos para utilizar


aquí son diversos, puede ser:
Quitar Columnas o Elegir
Columnas, si embargo, si
realizamos la selección
opuesta puede ser: Quitar
Otras Columnas y las
opciones de Conservar.

Final

www.excelfreeblog.com
146 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Si nos desplazamos en el Editor de Consultas hasta la parte


derecha de nuestra tabla encontraremos que existen dos
columnas vacías y que no tienen ninguna relevancia en los
datos, por esta razón, vamos a eliminarlas de la tabla Pedidos.

Figura 4. 31 – Columnas Vacías a ser detonadas (Removidas)

5. Para eliminar dichas columnas, nos dirigimos a la


NOTA
pestaña Inicio, grupo Administrar Columnas, botón

Nótese como la distribución Elegir Columnas y escogemos el comando con el


de columnas para el perfil mismo nombre.
de datos empieza a
desplegarse correctamente,
esto sucede, gracias los
pasos de limpieza que se
han ido ejecutando hasta
este punto.

Figura 4. 32 – Comando Elegir Columnas

www.excelfreeblog.com
El ADN de Power Query 147

Automáticamente, aparece el cuadro de dialogo Elegir


Columnas, aquí deshabilitamos las columnas que no queremos
en la consulta y damos clic en el botón Aceptar.

Figura 4. 33 – Cuadro de Diálogo Elegir Columnas

Esta opción es bastante útil cuando nuestra tabla tiene


muchísimos campos y solo queremos conservar algunos. En la
siguiente figura puedes notar que ya se han quitados las
columnas vacías y además aparece un nuevo paso en la
consulta.

www.excelfreeblog.com
148 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Figura 4. 34 – Columnas Incoherentes Eliminadas

6. A continuación, quitaremos un campo que no va a ser


utilizado en análisis posteriores, se trata de la columna
Código de País que se encuentra al final de la tabla y no es
relevante porque ya contamos con una columna que nos
muestra el nombre completo del país. Para eliminarla, la
seleccionamos en el Panel de Resultados del Editor de Power
Query, en seguida, vamos a la pestaña Inicio, grupo
Administrar Columnas, botón Quitar Columnas y
presionamos el botón homónimo.

Figura 4. 35 – Comando Quitar Columnas

www.excelfreeblog.com
El ADN de Power Query 149

Figura 4. 36 – Columnas Innecesarias Removidas

Puedes ver que ya no tenemos las últimas columnas y también


se ha creado un nuevo paso. Otra manera eliminarlas consiste
en elegir la columna o columnas y luego damos clic derecho
sobre la selección, con lo cual aparece una lista de acciones
que podemos aplicar, entre ellas: Quitar Columnas.

NOTA

Puedes seleccionar varias


columnas manteniendo la
tecla CTRL presionada.
También puedes seleccionar
un conjunto contiguo de
colunas con CTRL + SHIFT
y seleccionando únicamente
los extremos

Figura 4. 37 – Lista de Opciones: Quitar

www.excelfreeblog.com
150 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Formateo de Datos: Dividir Columnas


Además de tener el “super poder” de eliminar registros y quitar
columnas de nuestra tabla sin ningún problema, contamos con
una operación supremamente eficiente para estandarizar
nuestros datos, te hablamos de Dividir Columnas. Como su
s nombre lo indica, el editor de Power Query nos permite “cortar”
Sub-operación:
o “fraccionar” una columna en dos o más campos, de acuerdo
Dividir Columnas
con un parámetro que nosotros indiquemos.

Para aplicar esta operación tenemos a nuestra disposición


varios caminos, aunque debes tener la actualización más
reciente de Power BI:

▪ Por Delimitador: Identifica un carácter o caracteres que


están en la cadena de texto y lo toma como parámetro
para dividir la columna a partir de él.

▪ Por número de Caracteres: Cuenta un número de


caracteres especificado por el usuario desde la
izquierda o derecha de la cadena de texto y a partir de
allí divide la columna una o varias veces, todo depende
de cómo configuremos esta acción.

▪ Por: de Minúsculas a Mayúsculas: En una cadena de


texto que inicia en letras minúsculas y termina en letras
mayúsculas, divide la columna donde cambian las
letras.

www.excelfreeblog.com
El ADN de Power Query 151

▪ Por: de Mayúsculas a Minúsculas: En una cadena de


texto que inicia con Mayúsculas y termina en
minúsculas, divide la columna donde se produce el
cambio.

▪ Por: De Dígito a No Dígito: En una cadena de caracteres


que empieza con números y termina con letras, separa
la columna donde se registra el cambio.

▪ Por: De No Dígito a Dígito: En una Cadena de caracteres


que inicia con texto y termina con números, separa la
columna donde se registra el cambio.

Para encontrar este conjunto de comandos:

Incio → Transformar → Dividir Columna …

Figura 4. 38 – Opciones de División de Columnas

Para observar desde una perspectiva más amplia la operación


de Dividir Columnas, veamos nuestro esquema y entendamos
que es lo que ocurre al interior de Power Query.

www.excelfreeblog.com
152 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Técnicas de Depuración

Inicio

También puedes fraccionar una


Columna seleccionándola y
luego presionando clic derecho
sobre ella, con lo cual aparecen
distintas operaciones que
podemos aplicar en la tabla,
entre ellas, Dividir Columnas.

Proceso / Mecánica

Final

www.excelfreeblog.com
El ADN de Power Query 153

Después de ver la esencia de Dividir Columnas es momento de


continuar arreglando nuestra tabla Pedidos; si prestamos
atención a Número de Pedido – Tipo de Compra, vas a encontrar
que hay dos campos agrupados en una sola Columna. Además,
la columna SKU que hace referencia al código de producto está
mal, porque todos los números que aparecen después del
guion incluyéndolo, no hacen parte del código, así que
debemos eliminarlo.

Aquí hay dos campos: Número de Pedido


y Tipo de Compra comparten la misma
Columna.

La Columna SKU hace referencia al ID del


producto, aunque debemos eliminar
todos los caracteres que están después del
guion porque no hace parte del código

Figura 4. 39 – Análisis para división de las dos primeras columnas

www.excelfreeblog.com
154 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

7. Para dividir la columna Número de Pedidos – Tipo de Compra,


podemos optar por dos opciones, inicialmente, vamos a
separar la columna utilizando el comando Por Delimitador.
En ese orden de ideas, seleccionamos la columna, nos
dirigimos a la Pestaña Inicio, grupo Transformar, Dividir
Columna y escogemos: Por Número de Caracteres.

Figura 4. 40 – Dividir columnas por número de caracteres

Como consecuencia aparece el siguiente cuadro:

Aquí definimos el número de caracteres que serán


contados, para separar la columna.

Establecemos el tipo de división, y desde donde


iniciara el conteo para dividir la columna.

Especificamos como queremos que el resultado se visualice, si la


división será alojada en una nueva columna de la tabla o en distintas
filas

Figura 4. 41 – Parámetros para división de columna

www.excelfreeblog.com
El ADN de Power Query 155

En el cuadro de dialogo, debemos establecer cómo será la NOTA


división de la columna, para este caso en particular definimos: Una Vez, lo más a la
Derecha Posible: Inicia el
▪ Número de Caracteres: 8, porque esa es la cantidad de conteo de caracteres desde
la derecha y cuando termina
Números que componen la columna Numero de Pedido de contar los caracteres
y se mantiene constante en toda la columna especificados, divide la
columna en dos.

▪ Dividir: Una Vez, lo más a la Izquierda Posible; esta


Varias Veces: Cada vez que
opción cuenta los caracteres iniciando desde la cuente el número de
caracteres especificado, en
izquierda y cuando termina de contar los 8 caracteres
la columna realizará un
divide la columna una sola vez. corte, quiere decir que se
pueden crear varias
columnas, todo depende del
▪ Dividir en: Columnas, porque la división del campo, la número de caracteres
definidos y los que tiene la
queremos ver como una nueva columna y NO como columna como tal.
nuevos registros de la tabla

Para finalizar damos clic en Aceptar.

Figura 4. 42 – Columnas divididas por número de caracteres

www.excelfreeblog.com
156 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

El otro camino que puedes tomar para separar esta columna


implementa el comando Por: De Dígito a No Dígito, para verlo
en acción, eliminamos los dos pasos que se crearon
anteriormente: Dividir Columna Por Posición y Tipo Cambiado2.
Para quitar un paso de cualquier consulta, nos dirigimos al
Panel de Consulta, sección Pasos Aplicados, damos clic izquierdo
en el nombre para seleccionarlo y luego presionamos el icono
en forma de X (Equis) que aparece cerca al nombre.

Al dar clic sobre este icono se elimina el


paso, debes tener en cuenta que, una vez
eliminado el paso, la única manera de
traerlo de regreso, es creándolo
nuevamente, quiere decir que NO aplica la
opción de deshacer (Ctrl +Z)

Figura 4. 43 – Quitar pasos de la consulta

Como consecuencia, la consulta vuelve a su estado anterior en


el que aún no habíamos dividido el campo en dos columnas.
Para separar la columna de nuevo, la seleccionamos, nos
dirigimos a la pestaña Inicio, grupo Transformar, Dividir
Columna y elegimos el comando Por: De Dígito a No Dígito,
obteniendo así la división de la columna por otro método
distinto, si vas a Pasos Aplicados encontrarás el nuevo Paso en
la consulta.

www.excelfreeblog.com
El ADN de Power Query 157

Figura 4. 44 – Dividir columna por: De digito a No Digito

8. Continuando con la limpieza de la tabla, ahora, vamos


a concentrar nuestra energía en arreglar la columna
SKU quitando todo lo que esta después del guion
porque no hace parte del código ID de los distintos
productos, por consiguiente, elegimos la columna SKU,
después nos dirigimos a la pestaña Inicio, grupo
Transformar, botón Dividir Columna y damos clic en la
opción Por Delimitador.

Figura 4. 45 – Dividir Columna por Delimitador

www.excelfreeblog.com
158 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Ahora para el cuadro dividir Columna por Delimitador, allí


configuramos cómo será dividida nuestra columna.

Aquí definimos el tipo de delimitador que será


identificado para dividir la columna

Establecemos el tipo de división, y desde donde


iniciara el conteo para dividir la columna

Podemos establecer cómo queremos que arroje el


resultado, si la división será alojada en una nueva
columna de la tabla o en distintas filas de esta.

Figura 4. 46 – Cuadro de diálogo dividir columna por delimitador

En el cuadro de dialogo definimos cómo será la separación de


la columna. En este caso en particular Power Query lo configura
automáticamente.

▪ Seleccione o Escriba el Delimitador: Aquí definimos el


tipo de Delimitador, para este caso; Personalizado
porque no hace parte de la lista por defecto de
separadores y enseguida establece un guion (-) como el
carácter para separar la columna

▪ Dividir en: Delimitador situado más a la izquierda


posible, para que reconozca la primera aparición del
delimitador y desde allí divida la columna.

www.excelfreeblog.com
El ADN de Power Query 159

Por último, damos clic en Aceptar. Y con ello se divide la


columna en dos.

Figura 4. 47 – Columnas divididas por delimitador

Para culminar esta etapa, eliminaremos la columna SKU.2,


porque no contiene datos que sean de nuestro interés, en
consecuencia, la elegimos, damos clic derecho sobre ella y en
la lista de opciones que aparece damos clic en Quitar.

Figura 4. 48 – Tabla Pedidos sin la Columna SKU.2

www.excelfreeblog.com
160 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Formateo de Datos: Reemplazar los Valores

Después de ver la aplicación de Dividir Columnas en distintos


escenarios de nuestra tabla Pedidos, es momento de conocer
otra Sub-operación que nos permite estructurar de manera
uniforme el contenido de una columna, te hablamos de
s
Reemplazar los Valores.
Sub-operación:
Reemplazar los Valores
La Sub-operación de Reemplazar los Valores cambia el contenido
de varias celdas de una columna que tienen una cadena de
caracteres por otra, que nosotros especifiquemos.

Es muy útil cuando tenemos datos que están mal escritos o si


necesitamos cambiar algún carácter en específico.

¡Toma Nota!
Es necesario recalcar que, para aplicar esta operación, es importante
que la columna tenga un tipo de dato asignado, por ejemplo, tipo de
dato Texto, aunque también es aplicable a columnas Numéricas, de
Fecha, o incluso Valores Lógicos.

Dicho lo anterior, veamos nuestro esquema característico para


observar cómo trabaja, recuerda que Reemplazar Valores es una
manera de normalizar y estandarizar celdas que no cumplen
con una característica y la deseamos cambiar.

www.excelfreeblog.com
El ADN de Power Query 161

Técnicas de Depuración

Inicio
Fecha País Cantidad Tx Detalle
31/12/2014 Argentina 10 Producto1
31/12/2014 Argentina 20 Producto 2
31/12/2014 Argentina 30 Producto 3
31/12/2014 Argentina 15 Producto 4
31/12/2014 Argentina 10 Producto 5 Debemos estar seguros de que
31/12/2014 Brasil 11 Producto 1 la columna a la cual vamos a
31/12/2014 Brasil 22 Producto 2 aplicar cambios tiene el tipo de
31/12/2014 Brasil 33 Producto 3 dato asignado.
31/12/2014 Brasil 10 Producto 4
31/12/2014 Brasil 12 Producto 5

Proceso / Mecánica
Fecha País Cantidad Tx Detalle
31/12/2014 Argentina 10 Producto1 • Identificar la columna de tipo
1
31/12/2014 Argentina 20 Producto 2 Texto , para la cual quiero
reemplazar los valores.
31/12/2014 Argentina 30 Producto 3
31/12/2014 Argentina 15 Producto 4
• Asignar la cadena de caracteres a
31/12/2014 Argentina 10 Producto 5 2 reemplazar y los nuevos
31/12/2014 Brasil 11 Producto 1 caracteres por los cuales serán
31/12/2014 Brasil 22 Producto 2 cambiados.

31/12/2014 Brasil 33 Producto 3 3 • Reemplaza los valores en cada


31/12/2014 Brasil 10 Producto 4 celda, de toda la columna.
31/12/2014 Brasil 12 Producto 5

Final
Fecha País Cantidad Tx Detalle
31/12/2014 Buenos Aires 10 Producto1
31/12/2014 Buenos Aires 20 Producto 2
31/12/2014 Buenos Aires 30 Producto 3
31/12/2014 Buenos Aires 15 Producto 4
31/12/2014 Buenos Aires 10 Producto 5
31/12/2014 Brasilia 11 Producto 1
31/12/2014 Brasilia 22 Producto 2
31/12/2014 Brasilia 33 Producto 3
31/12/2014 Brasilia 10 Producto 4
31/12/2014 Brasilia 12 Producto 5

www.excelfreeblog.com
162 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Ya tenemos una idea del objetivo de la operación Reemplazar


Valores, por esta razón, ha llegado el momento verla en acción
y aclarar del todo su aplicación. Continuando con nuestra tabla
Pedidos y observando la columna que esta inmediatamente
después de SKU, denominada Categoría de Descuento, si prestas
atención a su contenido encontrarás que la palabra Black
Friday, referente a un ítem de la columna, está mal escrita
(Balck Fraday) por ello, la modificaremos.

Error Mecanográfico: La
categoría Black Friday esta
escita erróneamente como
Balck Fraday.

Figura 4. 49 – Errores mecanográfico en la columna Categoría de descuento

www.excelfreeblog.com
El ADN de Power Query 163

9. Si deseamos cambiar el contenido de una cadena de


caracteres por otra, elegimos la columna, en este caso
Categoría de Descuento, nos desplazamos a la pestaña
Inicio, grupo Transformar y damos clic en el comando
Reemplazar los Valores.

Figura 4. 50 – Comando reemplazar los valores desde la interfaz

Como resultado aparece el cuadro de dialogo Reemplazar


Valores, aquí escribimos la cadena de caracteres a suplantar y
la que lo sustituirá.

Establecemos la cadena de caracteres o


carácter a buscar y reemplazar en toda la
columna

Especificamos la Cadena de Caracteres o


Carácter que reemplazará el valor buscado

Figura 4. 51 – Cuadro de Diálogo Reemplazar los Valores

Para finalizar, damos clic en Aceptar, esta acción trae consigo


el cambio de la palabra Balck Fraday por Black Friday y un nuevo
paso en la consulta.

www.excelfreeblog.com
164 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Figura 4. 52 – Valores reemplazados en la tabla Pedidos

Formateo de Datos: Transformación a Nivel de


Columna

Cuando hablamos de transformación a nivel de columnas, es


importante decir que se refiere a un cambio semántico en los
elementos de un campo para su estandarización, es decir, que
s
no modifica el significado de los elementos, sino que se
Operación:
Formateo de Datos normalizan los ítems que componen la columna.

Para hacer el formateo de datos, contamos con diversos


comandos:

▪ Transformación a nivel de columna de Tipo Texto


▪ Transformación a nivel de columna de Tipo Numérico
▪ Transformación a nivel de columna de Tipo Fecha
▪ Remplazar Valores
▪ Dividir Columna

www.excelfreeblog.com
El ADN de Power Query 165

Pausemos un Momento
Reemplazar Valores y Dividir Columna son operaciones de Power
Query que clasifican en esta categoría porque nos ayudan a normalizar
los datos, aunque en la mayoría de los casos son empleadas como
acciones intermedias para llevar a cabo una tarea más grande.

En esta sección del libro, nos ocuparemos de los tres tipos de


operaciones que podemos aplicar a una columna para
armonizar su contenido, sin alterar la integridad de los datos:

▪ Transformación a nivel de columna de Tipo Texto:


Transforma el contenido de cada celda de la columna,
en otro valor de tipo texto.

▪ Transformación a nivel de columna de Tipo Numérico:


Convierte el contenido de cada celda de la columna, en
otro valor de tipo numérico.

▪ Transformación a nivel de columna de Tipo Fecha:


Modifica el contenido de cada celda de la columna, en
otro valor de tipo fecha.

Para llevar a cabo el Formateo de Datos, independientemente


del tipo de columna, contamos con distintos comandos que
iremos revisando en el transcurso del presente capitulo. Sin
embargo, conozcamos el esquema característico de cada uno
de los tipos de transformación a nivel de columna.

www.excelfreeblog.com
166 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Técnicas de Depuración

Inicio
Fecha País Cantidad Tx Detalle
31/12/2014 ARGEntina 10.001 PROducTO 1
31/12/2014 ARGEntina 20.001 PRODUCTO 2
31/12/2014 ARGEntina 30.001 PRODucto 3
31/12/2014 ARGEntina 15.003 proDUCTO 4
31/12/2014 ARGEntina 10.001 producto 5
31/12/2014 BRASIL 11.001 PROducTO 1 Debemos estar seguros de que
31/12/2014 bRASIL 22.001 PRODUCTO 2 la columna a la cual vamos a
31/12/2014 BRASIL 33.001 PRODucto 3 aplicar cambios tiene el tipo de
31/12/2014 bRASIL 10.003 proDUCTO 4 dato asignado.
31/12/2014 BRASIL 12.001 producto 5

Proceso / Mecánica
Fecha País Cantidad Tx Detalle
31/12/2014 ARGEntina 10.001 PROducTO 1
• Identifica la columna a
31/12/2014 ARGEntina 20.001 PRODUCTO 2 1 Transformar.
31/12/2014 ARGEntina 30.001 PRODucto 3
31/12/2014 ARGEntina 15.003 proDUCTO 4
31/12/2014 ARGEntina 10.001 producto 5 • Dependiendo del tipo de
2 transformación elegida, la columna
31/12/2014 BRASIL 11.001 PROducTO 1 en cuestión cambia su estructura.
31/12/2014 bRASIL 22.001 PRODUCTO 2
31/12/2014 BRASIL 33.001 PRODucto 3
31/12/2014 bRASIL 10.003 proDUCTO 4
31/12/2014 BRASIL 12.001 producto 5

Final
Fecha País Cantidad Tx Detalle
31/12/2014 Argentina 10.001 Producto1
31/12/2014 Argentina 20.001 Producto 2
31/12/2014 Argentina 30.001 Producto 3
31/12/2014 Argentina 15.003 Producto 4
31/12/2014 Argentina 10.001 Producto 5
31/12/2014 Brasil 11.001 Producto 1
31/12/2014 Brasil 22.001 Producto 2
31/12/2014 Brasil 33.001 Producto 3
31/12/2014 Brasil 10.003 Producto 4
31/12/2014 Brasil 12.001 Producto 5

www.excelfreeblog.com
El ADN de Power Query 167

Técnicas de Depuración

Inicio
Fecha País Cantidad Tx Detalle
31/12/2014 Argentina 10.001 Producto1
31/12/2014 Argentina 20.001 Producto 2
31/12/2014 Argentina 30.001 Producto 3 Debemos estar seguros de que
31/12/2014 Argentina 15.003 Producto 4 la columna a la cual vamos a
31/12/2014 Argentina 10.001 Producto 5 aplicar cambios tiene el tipo de
31/12/2014 Brasil 11.001 Producto 1 dato asignado.
31/12/2014 Brasil 22.001 Producto 2
31/12/2014 Brasil 33.001 Producto 3
31/12/2014 Brasil 10.003 Producto 4
31/12/2014 Brasil 12.001 Producto 5

Proceso / Mecánica

Fecha País Cantidad Tx Detalle


31/12/2014 Argentina 10.001 Producto1
1
• Identifica la columna a
31/12/2014 Argentina 20.001 Producto 2 Transformar.
31/12/2014 Argentina 30.001 Producto 3
31/12/2014 Argentina 15.003 Producto 4
31/12/2014 Argentina 10.001 Producto 5
• Dependiendo del tipo de
2 transformación elegida, la columna
31/12/2014 Brasil 11.001 Producto 1 en cuestión cambia su estructura.
31/12/2014 Brasil 22.001 Producto 2
31/12/2014 Brasil 33.001 Producto 3
31/12/2014 Brasil 10.003 Producto 4
31/12/2014 Brasil 12.001 Producto 5

Final
Fecha País Cantidad Tx Detalle
31/12/2014 Argentina 10 Producto1
31/12/2014 Argentina 20 Producto 2
31/12/2014 Argentina 30 Producto 3
31/12/2014 Argentina 15 Producto 4
31/12/2014 Argentina 10 Producto 5
31/12/2014 Brasil 11 Producto 1
31/12/2014 Brasil 22 Producto 2
31/12/2014 Brasil 33 Producto 3
31/12/2014 Brasil 10 Producto 4
31/12/2014 Brasil 12 Producto 5

www.excelfreeblog.com
168 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Técnicas de Depuración

Inicio
Fecha País Cantidad Tx Detalle
31/12/2014 Argentina 10 Producto1
31/12/2014 Argentina 20 Producto 2
31/12/2014 Argentina 30 Producto 3
31/12/2014 Argentina 15 Producto 4
31/12/2014 Argentina 10 Producto 5 Debemos estar seguros de que
31/12/2014 Brasil 11 Producto 1 la columna a la cual vamos a
31/12/2014 Brasil 22 Producto 2
aplicar cambios tiene el tipo de
31/12/2014 Brasil 33 Producto 3
dato asignado.
31/12/2014 Brasil 10 Producto 4
31/12/2014 Brasil 12 Producto 5

Proceso / Mecánica
Fecha País Cantidad Tx Detalle
31/12/2014 Argentina 10 Producto1 • Identifica la columna a
1
31/12/2014 Argentina 20 Producto 2 Transformar.
31/12/2014 Argentina 30 Producto 3
31/12/2014 Argentina 15 Producto 4
• Dependiendo del tipo de
31/12/2014 Argentina 10 Producto 5 2 transformación, elegida, la
31/12/2014 Brasil 11 Producto 1 columna en cuestión cambia su
31/12/2014 Brasil 22 Producto 2 estructura.

31/12/2014 Brasil 33 Producto 3


31/12/2014 Brasil 10 Producto 4
31/12/2014 Brasil 12 Producto 5

Final
Fecha País Cantidad Tx Detalle
Diciembre Argentina 10 Producto1
Diciembre Argentina 20 Producto 2
Diciembre Argentina 30 Producto 3
Diciembre Argentina 15 Producto 4
Diciembre Argentina 10 Producto 5
Diciembre Brasil 11 Producto 1
Diciembre Brasil 22 Producto 2
Diciembre Brasil 33 Producto 3
Diciembre Brasil 10 Producto 4
Diciembre Brasil 12.001 Producto 5

www.excelfreeblog.com
El ADN de Power Query 169

Conociendo la dinámica de las distintas Transformaciones a


Nivel de Columna, veamos cómo se aplican algunos cambios en
nuestra tabla Pedidos para obtener el formato tabular.

10. Si nos detenemos a analizar la columna Ingresos,


encontraremos valores “extraños” o que no
corresponden porque son números extremadamente
grandes y nosotros “vendemos” productos de precios
que no son tan elevados, esto ocurre porque la
configuración de nuestro computador toma el punto
(.) como separador de miles y en realidad necesitamos
que sea separador de decimales.

Figura 4. 53 – Valores de Columna Ingresos

¡Toma Nota!
El número presentado se muestra en notación exponencial, así:
2,2203E+16. Si queremos ver su valor sin ningún formato, lo único que
debemos hacer es pulsar clic izquierdo en la casilla, con ello en la parte
inferior del panel de resultados se muestra.

www.excelfreeblog.com
170 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Para ver más claro el asunto, damos clic en el paso Encabezados


Promovidos y así “regresaremos en el tiempo” y observamos la
columna Ingresos.

Figura 4. 54 – Visualización de un paso anterior: Encabezados Promovidos

Para arreglar este problema y que Power Query tome el punto


como separador de decimales, eliminamos el paso Tipo
Cambiado 1 y luego retornamos al último paso creado en la
consulta.

Paso que debemos dinamitar (eliminar), sin


alterar el resto de la consulta

Figura 4. 55 – Paso a eliminar: Tipo cambiado 1

Como es un paso intermedio el que será eliminado, aparecerá


un mensaje de advertencia, a continuación, damos clic en
Eliminar.

www.excelfreeblog.com
El ADN de Power Query 171

Figura 4. 56 – Mensaje de advertencia para eliminar paso

Al ir al último paso podemos apreciar como ya aparece la


columna ingresos sin notación científica.

Figura 4. 57 – Último paso de la consulta luego de eliminar: tipo cambiado 1

Enseguida, vamos a dar clic derecho sobre la columna Ingresos, NOTA


a continuación, aparece una lista de opciones que permite
También es posible acceder
agregar más pasos a la consulta. a la opción de Cambiar
Tipo, dando clic en el icono
Allí, nos dirigimos a la opción Cambiar Tipo, y en las distintas que aparece en la parte
alternativas que se muestran, elegimos una denominada Usar izquierda de cada una de las
etiquetas de columna.
Configuración Regional.

Véase la figura siguiente para mayor claridad

www.excelfreeblog.com
172 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Figura 4. 58 – Clic derecho, Cambiar tipo y Usar configuración regional

Figura 4. 59 - Alternativa 2

Independientemente del camino que tomes, al dar clic sobre


Usar Configuración Regional, aparecerá un cuadro de dialogo con
el mismo nombre; aquí debemos establecer cómo será el
cambio del tipo de dato.

www.excelfreeblog.com
El ADN de Power Query 173

En la primera casilla, establecemos


el tipo de dato que queremos
aplicar a toda la columna

Aquí fijamos la región que está


tomando mi ordenador para asignar
el tipo de dato y que deseamos
cambiar

Figura 4. 60 – Cambiar configuración regional para columna especifica

En este escenario establecemos Tipo de Datos como Número


Decimal y Configuración Regional: inglés (Estados Unidos), porque
allí es donde se toma el punto como separador de miles y no
como separador de decimales, para finalizar damos clic en
Aceptar.

Figura 4. 61 – Tipo de dato cambiado utilizando configuración regional

Antes verificar y asignar el tipo de dato de cada columna,

www.excelfreeblog.com
174 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Vamos a realizar una última transformación a nivel de columna


de tipo texto en la tabla Pedidos. Al movernos hasta el final de
la tabla encontraremos la columna País, que tiene un pequeño
problema; los ítems o elementos que la componen están
escritos con mayúsculas y minúsculas sin ningún orden, por
esta razón, vamos a estandarizarla.

Figura 4. 62 – Cambia País con Mayúsculas y Minúsculas

11. Para cambiar esta situación y dejar las palabras con la


misma estructura, damos clic derecho sobre la columna, en la
lista de opciones que aparece nos desplazamos hasta
Transformar y finalmente elegimos

www.excelfreeblog.com
El ADN de Power Query 175

Poner en Mayúsculas Cada Palabra.

Figura 4. 63 – Poner en mayúscula cada palabra

Como resultado, se agrega un nuevo paso a la consulta y las


palabras que componen la columna se han normalizado.

Figura 4. 64 – Columna País normalizada

www.excelfreeblog.com
176 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Formateo de Datos: Asignación de Nombres

Con la estructura de la tabla arreglada, solo hace falta cambiar


el nombre de algunas columnas y asignar el tipo de dato.

12. En la tabla Pedidos, iniciaremos el recorrido de izquierda


a derecha para cambiar el nombre de las columnas que lo
requieran:

▪ Número de Pedido - Tip Compra.1: NumeroPedido


▪ Número de Pedido - Tip Compra.2: TipoCompra
▪ SKU.1: SKU
▪ Categoría de Descuento: CategoriaDescuento
▪ Costo del Producto: CostoProducto
▪ Costo de Envio: CostoEnvio
▪ Costo Empaque: CostoEmpaque
▪ Fecha de Envio: FechaEnvio
▪ Fecha de Llegada: FechaLlegada

¡Toma Nota!
Para las etiquetas de las columnas de una tabla es recomendable: No
utilizar ni tildes ni espacios en blanco y cada palabra que la compone
debe iniciar con letra Mayúscula. Aunque no es camisa de fuerza

Figura 4. 65 – Etiquetas de columnas que serán cambiadas

www.excelfreeblog.com
El ADN de Power Query 177

Para cambiar el nombre de una columna, simplemente damos


doble clic sobre ella, con lo cual, se activa el modo de edición
de la etiqueta, es en ese momento, cuando escribimos el nuevo
nombre del campo, para finalizar presionamos la tecla Enter.

Figura 4. 66 – Seleccionar nombre de columna

Figura 4. 67 – Escribir nuevo nombre de campo

La idea es que ahora realices este mismo procedimiento para


cada una de las columnas que hacen falta y que han sido
listadas anteriormente.

Figura 4. 68 - Nuevas etiquetas para la tabla Pedidos

Como resultado, se crea un nuevo paso en la consulta que


aloja el cambio de nombre de todas las columnas que han sido
modificadas. Es importante alterar el nombre de las columnas
de una sola vez, porque si lo haces en momentos diferentes,
se crearán pasos distintos que realizan.

www.excelfreeblog.com
178 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

la misma acción y quedarán desperdigados por toda la


consulta, algo que te puede dificultar la edición de esta, si es
necesario.

Figura 4. 69 – Tabla Pedidos con nuevas Etiquetas

Para finalizar con la edición de nuestra consulta, debemos


asignar el Tipo de Dato a las columnas que hagan falta; si
prestas atención a cada etiqueta, en la parte izquierda aparece
un icono, el cual hace referencia al tipo de dato asignado:

C
Figura 4. 70 – Iconos referentes a tipo de dato

Las columnas que aún no tienen ningún tipo de dato definido


presentan el siguiente icono en su etiqueta:

www.excelfreeblog.com
El ADN de Power Query 179

C
Figura 4. 71 – Icono de tipo alfanumérico (no asignado)

Otra forma de ver que una columna no tiene ningún tipo de


dato asignado consiste en seleccionar el campo, luego, nos
dirigimos a la pestaña Inicio, grupo Transformar, y allí aparece
el botón Tipo de Datos: con la opción Cualquiera marcada.

Figura 4. 72 – Columna sin tipo de dato asignado

A continuación, se encuentra la lista de campos de la tabla


Pedidos para los cuales debemos asignar el tipo de dato:

▪ Unidades: Número Entero


▪ CostoProducto: Número Decimal
▪ CostoEnvio: Número Decimal
▪ CostoEmpaque: Número Decimal
▪ FechaEnvio: Número Decimal
▪ FechaLlegada: Número Decimal
▪ Ciudad: Texto

Las otras columnas ya tienen el tipo de dato asignado

www.excelfreeblog.com
180 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Porque el Editor de consultas de Power Query lo ha establecido


automáticamente cuando hemos agregado otros pasos en la
consulta.

Figura 4. 73 – Pasos creados automáticamente

Para cambiar el Tipo de Dato de una columna basta con dar clic
sobre el icono que se encuentra en la parte izquierda de la
etiqueta y luego elegimos alguna de las opciones disponibles.
En consecuencia, nos dirigimos a la columna.

www.excelfreeblog.com
El ADN de Power Query 181

Unidades, damos clic sobre el icono Tipo de Dato y escogemos


Número Entero.

Figura 4. 74 – Tipo de dato asignado a columna ingreso

Ahora veamos otra manera de asignar el tipo de dato, para ello


seleccionamos la columna CostoProducto, después nos
desplazamos a la pestaña Inicio, grupo Transformar y en el
botón Tipo de Dato, elegimos Número Decimal.

Figura 4. 75 – Tipo de Datos asignado desde la cinta de opciones

www.excelfreeblog.com
182 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Tú misión si decides aceptarla es establecer el Tipo de Dato a las


columnas restantes, con lo cual quedaría la asignación en un
mismo paso.

Figura 4. 76 – Tipo de dato asignado a todas las columnas de la tabla Pedidos

¡Toma Nota!
Es recomendable asignar el tipo de dato de todas las columnas de una
sola vez, para que todo quede alojado en un solo paso de la consulta

Para finalizar con la edición, nos dirigimos a Configuración de la


Consulta, opción Nombre, y eliminamos el número que la
acompaña. En ese orden de ideas, nuestra consulta tendría la
denominación: Pedidos.

www.excelfreeblog.com
El ADN de Power Query 183

Figura 4. 77 – Nombre de consulta renombrado

Para finalizar, vamos a dar clic en Cerrar y Aplicar y con ello se


carga nuestra tabla en el Motor DAX de Power BI, para que
pueda ser analizada.

Figura 4. 78 – Comando Cerrar y Aplicar

www.excelfreeblog.com
184 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Transposición

Hemos visto que las primeras tres operaciones de la gran


acción de limpieza de datos: reducción, formateo y rellenar, nos
permitieron trabajar sobre filas y columnas.

No obstante, la cuarta operación: Transposición nos permite


reajustar el formato de una tabla.

Transpose Table o Tabla Transpuesta


En términos cortos consiste en el formato tabular pero girado
90 grados a la izquierda.
Formalmente: es un formato que presenta todos los datos en
arreglos de columnas y filas, presentado las filas datos de un ente
único y los elementos de columna señala la descripción de dicho
ente.
La tabla también puede ser girada 90 grados a la derecha,
aunque es un caso menos común.

Esquema visual:

Descripción
de Entes

Datos

Transpose Table

Figura 4. 79 – Esquema de Tabla Transpuesta (Transpose Table)

www.excelfreeblog.com
El ADN de Power Query 185

Para dejar documentado lo sencillo de este procedimiento


vamos a utilizar el siguiente archivo.

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 4 puedes encontrar el archivo de Excel con nombre:
CAP4EJ3 – Table Transpose.xlsx.

Démosle un vistazo desde su origen, para ser específicos la


hoja con nombre 90G – Left del archivo de Excel.

Figura 4. 80 – Formato de datos como tabla transpuesta

¡Manos a la obra!

1. Desde el mismo archivo Power BI donde preparamos la


tabla Pedidos, vamos a Inicio → Datos Externos →
Obtener Datos → Excel

2. Navegamos en nuestro computador para ubicar,


seleccionar y cargar el archivo: CAP6EJ3 – Table
Transpose.xlsx

3. En el cuadro de diálogo Navegador seleccionamos el


elemento 90G – Left y clic en el botón Editar.

www.excelfreeblog.com
186 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

Figura 4. 81 – Tabla en el Editor de Consultas

4. En el áre de Pasos Aplicados, nos poscionamos encima del que


se llama Encabezados promovidos, luego pulsamos clic derecho
y ubicamos la opción Eliminr hasta el final.

5. Nuestro siguiente consiste en ir a la pestaña Transformar para


luego localizar el grupo Tabla y pulsar clic finalmente en
Transponer.

Figura 4. 82 – Comando Transponer

Pausemos un Momento

Muchas veces olvidamos la generosidad de otras partes de la interfaz,


tal es el caso del botón Manú de Contextos, en el podemos ejecutar la
operación de Transponer más rápido.

www.excelfreeblog.com
El ADN de Power Query 187

Nuestra tabla ahora luce:

Figura 4. 83 – Tabla transpuesta

Sólo nos queda faltando promover los encabezados, para ello:

6. Pestaña Transformar, grupo Tabla y clic en el comando


Usar la primera fila como encabezado.

Figura 4. 84 – Tabla transpuesta y con encabezados promovidos

Un caso menos frcuente se presenta cuando los encabezados


de filas están ubicados en el extremo derecho. Para resolver
este escenario solo basta con mover dichos encabezados al
extremo izquierdo.

¡Let’s Play!
ARCHIVO DE TRABAJO: En el CAP4EJ3 – Table Transpose.xlsx
puedes encontrar la hoja 90G – Rigth. Te invitamos a que
resuelvas este escenario.

www.excelfreeblog.com
188 Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración

El Siguiente Paso

Hemos abrazado de tres operaciones vinculadas a las técnicas


de primer grado y sus sub-operaciones, pero quedo en reserva
la operación de Rellenar, que si bien no es compleja merece su
propio capítulo para ver ciertas consideraciones vitales, así
como manejar otro tipo de formato de tabla: Zipped Table

www.excelfreeblog.com
.
El ADN de Power Query 191

Capítulo 5

Capítulo 5: Aplicaciones Superiores con Técnicas de


Depuración

www.excelfreeblog.com
192 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Introducción
En el capítulo anterior: Limpieza de Datos de Primer Grado,
Técnicas de Depuración, aprendimos las operaciones básicas que
todo analista debe conocer para transformar y reparar una
tabla, sin embargo, este “kit” de primeros auxilios no está
completo, porque hay situaciones en las que necesitamos llevar
la depuración al siguiente nivel, por esta razón, vamos a añadir
más herramientas que en algún momento dado nos pueden
ahorrar mucho tiempo.

De ahora en adelante nos encargaremos de conocer nuevas


maneras de arreglar problemas ya conocidos, pero con un
grado de dificultad más alto y que necesitan combinar varias
operaciones como pasos intermedios para lograr un objetivo
más grande y así conseguir el formato tabular. Quiere decir que
además de aumentar tú conocimiento, vamos a poner a prueba
lo que has aprendido. Además, haremos un recorrido por un
potente grupo de “armas secretas” que pueden ayudarnos a
esculpir nuestros datos, en particular hablaremos de:

▪ Agregar Columnas.
▪ Rellenar.
▪ Entre otras sorpresas que tenemos preparadas para ti.

Así que comencemos con el aprendizaje de estos “nuevos


estilos de pelea” que sin duda alguna nos harán ganar muchas
batallas.

www.excelfreeblog.com
El ADN de Power Query 193

¡Toma Nota!
En este capítulo asumimos que se hizo un estudio concientizado del
capítulo previo, porque si bien se puede llegar a entender sin él, lo
más acertado es tener un entendimiento de ellos al dedillo. Nuestra
recomendación, si hace falta: repasar lo visto hasta aquí.

Agregar Columnas
Expandir nuestro conocimiento en la interfaz es importante
previo a los casos especiales, de hecho, es un prerrequisito.
Además, es un buen espacio para conocer y profundizar en
otras partes de esta, en particular estamos hablando de: los
comandos para agregar columnas, así tenemos:

▪ Columnas a partir de ejemplo.


o A partir de todas las columnas.
o A partir de la selección.
▪ Columna Condicional.
▪ Columna Personalizada.
▪ Columna índice.
o Desde 0.
o Desde 1.
o Personalizado …
▪ Duplicar Columna.

Todo esto lo podemos encontrar en:

Pestaña: Agregar Columna → Grupo: General …

www.excelfreeblog.com
194 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

La tabla que manejaremos ahora es bien conocida, la tabla:


Pedidos, pero ya después de pasar por la limpieza de datos de
primer grado, sin embargo, tiene un ligero detalle y es que el
elemento Balck Fraday de la columna Categoría de Descuento no
ha sido arreglado, para ello, podemos encontrar nuestra tabla
de PedidosParcial en el compendio de archivos.

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 5 puedes encontrar el archivo de Excel con nombre:
CAP5EJ1 – PedidosParcial.xlsx.

Columnas a Partir de Ejemplos

La primera víctima será Columnas a partir de ejemplos en su


vertiente desde una selección.

Las columnas a partir de ejemplos no son otra cosa que


proponerle patrones o ejemplos de manera manual a una
columna tentativa, para que Power Query los tome como
muestra e internamente analice y extrapole haciendo

Columnas a Partir suposiciones de cuál sería el resultado final que deseamos, si


de Ejemplos es acertado confirmamos para que pase a ser una nueva
columna en la tabla, de lo contrario podemos seguir brindando
ejemplos hasta encontrar (si es posible) el objetivo que
necesitamos.

Nuestro caso de estudio consistirá en utilizar esta posibilidad


para corregir la columna Categoría de descuento.

www.excelfreeblog.com
El ADN de Power Query 195

Recordemos que el elemento: Balck Fraday está mal escrito


NOTA
porque en realidad es Black Friday, los demás elementos de la
La funcionalidad de
columna están bien escritos. columnas a partir de
ejemplos fue añadida
públicamente desde la
¡Manos a la obra! actualización de abril del
año 2017 de Power BI
desktop.
1. Abrimos un archivo nuevo de Power BI.
He aquí el anuncio y
demostración oficial por
2. Vamos al grupo Datos Externos y desplegamos las parte de uno de los
opciones; comando Obtener datos, para allí seleccionar desarrolladores del equipo
de Power BI en Microsoft.
Excel.

3. Navegamos en nuestro PC y elegimos el archivo


CAP5EJ1 – PedidosParcial.xlsx.

4. En el cuadro de dialogo Navegar definimos el elemento


Pedidos Parcial y clic en el botón Editar.

5. Escogemos la columna Categoría de Descuento,

6. Vamos a la pestaña Agregar columna, en el grupo


General desplegamos las opciones de Columnas a partir
de ejemplos para finalmente presionar en el comando: a
partir de la selección.

Notaremos que la interfaz cambia, mostrando un cuadro


justamente debajo de la cinta de opciones y dividiendo el área
de tabla en dos, este es el Panel de añadir columnas a partir de
ejemplos, y consta de 4 áreas:

www.excelfreeblog.com
196 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Botón de documentación: recurso online


para aprendizaje de la funcionalidad

Botón Aceptar y Cancelar: Si creamos la


columna que se visualiza o no.

Barra de comandos: Incluye una Área de nueva columna: Aquí es donde


descripción de la transformación en el digitamos ejemplos en diferentes
Lenguaje M; acompañado de una casillas para proveer a Power Query
etiqueta constante de información ejemplos relacionados con otra
para aplicar cambios. columna en la fila.

Figura 5. 1 – Interfaz en Modo: Agregar columna mediante ejemplos

www.excelfreeblog.com
El ADN de Power Query 197

7. En el área de nueva columna, nos posicionamos en la


primera fila (casilla) y digitamos: Non, así le indicamos
un primer ejemplo brindándole información de que
dicho elemento se encuentra bien escrito, luego, nos
dirigimos hasta la fila número 6 y allí escribimos: Black
Friday, aquí es donde le damos un ejemplo de que dicho
elemento lleva una escritura diferente. La interfaz nos
muestra:

Primer
ejemplo

Suposiciones de
Power Query

Segundo
ejemplo

Suposiciones de
Power Query

Figura 5. 2 – Ejemplos para columna nueva en Power Query

Para comprobar que si es el resultado que queremos; debemos


desplazarnos un poco hasta visualizar la fila 67.

www.excelfreeblog.com
198 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Srcroll down
hasta ver filas:
67,72 y 80.

Figura 5. 3 – Verificando ejemplos

Si observamos la barra de comandos podemos ver claramente


la función M asociada al paso:

Figura 5. 4 – Función M generada automáticamente por Columnas a partir de ejemplos

www.excelfreeblog.com
El ADN de Power Query 199

A diferencia de lo que ocurre con las expresiones DAX


generadas automáticamente por la funcionalidad de Medidas
Rápidas en la interfaz analítica de Power BI, si consideramos
que la observación y análisis de las fórmulas mostradas por la
Barra de comandos de Power Query para columnas a partir de
ejemplos puede ayudar al aprendizaje y expansión del lenguaje
M, mejor aún si se cuenta con una primera introducción.

Tratar de aprender el lenguaje DAX sin una fundamentación


solida en contextos es una odisea. Si deseas aprender sobre
DAX es una buena iniciativa hacerse con otro libro de la
Colección ADN de EFB.

¡Referencia Cruzada!
La parte de creación de: indicadores, KPIs, KRIs y métricas para el
análisis de datos es territorio del lenguaje DAX que corresponda a la
segunda etapa de proceso de inteligencia de negocios, todo esto es
tema de otro libro de la Colección ADN:
El ADN de Power Pivot
ISBN: 978-958-46-8542-7

8. Como ya hemos establecido que los resultados


arrojados por Power Query son correctos, procedemos
a confirmar pulsando clic en el botón Aceptar.

www.excelfreeblog.com
200 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 5 – Resultado final después de ejecutar columnas con ejemplos

Pausemos un Momento

La columna Categoría de Descuento se movió hacia la derecha para


que quedara a dos columnas de distancia de la recién añadida
mediante columna a partir de ejemplos, quien ha quedado con el
nombre de: Texto remplazado, esto lo hacemos para que se pueda ver
con mayor claridad la imagen.

9. Renombramos la columna con el nombre: Cat


Descuento – Ejm #1.

www.excelfreeblog.com
El ADN de Power Query 201

Evidentemente la funcionalidad de Columnas a partir de


ejemplos no incluye todo el espectro de transformaciones, sin
embargo, he aquí lo que puede hacer:

▪ Referencias
o Referenciar a una columna específica,
incluyendo: limpiar, cortar y tratamiento de
minúsculas y mayúsculas
▪ Transformación de texto
o Combinar
o Reemplazar
o Largo
o Extraer
▪ Primer carácter
▪ Último carácter
▪ Rango
▪ Texto antes de delimitador
▪ Texto después de delimitador
▪ Texto entre delimitadores
▪ Longitud
o Remover caracteres
o Mantener caracteres
▪ Transformación de fechas (Continua …)
o Día
o Día de la semana número
o Día de la semana nombre
o Día del año
o Mes Número
o Mes Nombre

www.excelfreeblog.com
202 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

▪ Transformación en fechas (Continuación)


o Trimestre del año
o Semana del mes
o Semana del año
o Año
o Edad
o Inicio del año
o Fin del año
o Inicio del mes
o Fin del mes
o Inicio del trimestre
o Final del trimestre
o Días en el mes
o Inicio de la semana
o Final de la semana
▪ Transformación en Duración
o Horas
o Minutos
o Segundos
▪ Transformación de números (Continua…)
o Valor absoluto
o Arco coseno
o Arco seno
o Arco tangente
o Conversión a número
o Coseno
o Elevar al cubo

www.excelfreeblog.com
El ADN de Power Query 203

▪ Transformación de números (Continuación)


o Operación de división
o Exponenciación
o Factorial
o División en entero
o Evaluación lógica si el número es par
o Evaluación lógica si el número es impar
o Logaritmo natural
o Logaritmo en base 10
o Módulo de la división
o Operación de multiplicación
o Redondear arriba
o Redondear abajo
o Seno
o Raíz cuadrada
o Elevación al cuadrado
o Resta
o Suma
o Tangente
o Truncar
▪ General
o Columna condicional

¡Toma Nota!
Todo lo correspondiente a lo que puede realizar las columnas a partir
de ejemplos se puede consultar para más información y actualización
en:

www.excelfreeblog.com
204 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Columna Condicional

Un comando muy útil del grupo Agregar Columna es: Columna


Condicional, que permite definir una prueba lógica de
bifurcación del tipo:

Si-entonces-de lo contario
Columna
Condicional
La situación: Balck Fraday por Black Friday la repetiremos aquí,
pero utilizando como es una prueba lógica, el comando
columna condicional.

¡Manos a la obra!

1. Vamos al editor de Power Query en el archivo CAP5EJ1


– PedidosParcial.xlsx.

2. Luego, vamos a la pestaña Agregar Columna, grupo


General y pulsamos clic encima del comando Columna
condicional.

Figura 5. 6 – Comando kv
de Columna condicional

www.excelfreeblog.com
El ADN de Power Query 205

A continuación, se despliega el siguiente cuadro de diálogo:

Segundo Elemento Tercer Elemento

Cuarto Elemento

Figura 5. 7 – Cuadro de diálogo Agregar una columna condicional

3. En el cuadro de texto Nuevo Nombre de Columna es


posible digitar de manera directa un nombre
descriptivo para lo que sería el nuevo campo, en
particular, vamos a llamarla: Cat Descuento - Ejm #2.

4. La primera lista desplegable Nombre Columna


corresponde al campo en el cual queremos basar
nuestra condición lógica, pulsamos clic encima y
veremos todas las columnas disponibles en la consulta,
seleccionamos Categoría de Descuento.

5. La segunda lista desplegable Operador nos arroja un


abanico de posbildades para realizar la prueba, para
nuestro caso seleccionamos Contiene.

www.excelfreeblog.com
206 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

6. El segundo elemento señalado en la figura anterior


muestra que se compone de dos partes, la primera es
una lista desplegable que nos brinda las siguientes
opciones:

i. Escribir un valor
ii. Seleccionar una columna
iii. Parámetro.

La segunda parte es la caja de texto o lista desplegable


(dependerá de lo seleccionado) en la parte 1, aquí
dejamos todo como esta y en el cuadro de texto
escribimos: lck Fra.

¡Riesgo: Advertencia!
Es supremamente importante respetar las mayúsculas y minúsculas,
puesto que Power Query en sensible a ellas (Case Sensitive), para el
escenario encontramos el patrón lck Fra, no obstante, debemos tener
cuidado en indicar La F en mayúscula,

7. El tercer elemento lo dejamos intacto y en el cuadro de


texto escribimos: Black Friday.

8. En el cuarto elemento, en la lista desplegable,


escogemos Seleccionar columna y depués definimos
Categoría de Descuento.

www.excelfreeblog.com
El ADN de Power Query 207

La imagen siguiente muestra el cuadro de diálogo con la


respectiva selección en cada elemento y parte:

Figura 5. 8 – Cuadro de diálogo con Columna condicional y sus parámetros definidos

¡Toma Nota!

Si es necesario ir añadiendo más reglas del tipo:

Si-entonces-sino-de lo contrario-fin si

Sólo basta con pulsar clic en el botón: Agregar regla

9. Pulsamos clic en el botón Aceptar.

www.excelfreeblog.com
208 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 9 – Resultado de la Columna condicional

Columna Personalizada

La cúspide de la agregación de columnas queda en hombros de


la columna personalizada, esto es así, porque es la puerta de
iniciación más común al lenguaje M. Como su nombre lo indica
permite crear una columna nueva utilizando funciones y/u
Columna
Personalizada operadores del conjunto de funciones de Power Query.

Pongamos aprueba de manera breve de que va esta


característica.

¡Manos a la obra!

1. Vamos al editor de Power Query, en la consulta


referente al archivo CAP5EJ1 – PedidosParcial.xlsx.

www.excelfreeblog.com
El ADN de Power Query 209

2. Posteriormente, ponemos en marcha la pestaña


Agregar Columna, grupo General y pulsamos clic
encima del comando Columna personalizada:

Figura 5. 10 – Resultado de la Columna condicional

Automáticamente, aparece el Cuadro de Dialogo: Columna


Personalizada, en el cual contamos con distintos elementos
que nos permitirán crear una columna a partir de otras,
utilizando operaciones:

I. Nuevo Nombre de Columna: Aquí definimos la


denominación de la nueva columna que será
creada.

II. Fórmula de Columna Personalizada: En este


espacio establecemos la operación matemática
que definirá la nueva columna, utilizando
columnas de la misma tabla. Recuerda que
también puedes emplear funciones del
Lenguaje M.

III. Columnas Disponibles: En esta “cajita”


encontramos todos los campos de la tabla que
estamos editando y que podemos utilizar para
crear nuestra nueva columna personalizada.

www.excelfreeblog.com
210 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Denominación de
la nueva columna

Fórmula M para la
nueva columna

Figura 5. 11 – Cuadro de Dialogo Columna Personalizada

Después de conocer el cuadro de dialogo, crearemos la


columna Costo de Producción, que muestra cual fue el valor de
crear cada producto, este cálculo está determinado por la suma
entre los campos: Costo del Producto + Costo de Empaque,
excluyendo así los Costos de envió. Para crear la nueva columna
establecemos la siguiente configuración

3. En Nuevo Nombre de Columna escribimos: Costos de


Producción.
4. Luego, definimos la Formula de Columna Personalizada:
en ese caso, nos desplazamos a Columnas Disponibles,
buscamos Costo del Producto, la elegimos y damos clic
en el botón Insertar, con lo cual aparecerá en dicha
sección.

www.excelfreeblog.com
El ADN de Power Query 211

Figura 5. 12 – Agregar una Columna para crear fórmula

5. Posteriormente, agregamos el operador de suma (+)


utilizando el teclado y de nuevo añadimos un campo
que en este caso sería: Costo de Empaque.

Figura 5. 13 – Agregar operador y nueva columna

www.excelfreeblog.com
212 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Para finalizar damos clic en Aceptar, lo que trae consigo la


creación del campo: Costos de Producción.

Figura 5. 14 – Columna Personalizada: Costos de Producción

Si damos clic sobre la barra de fórmulas del Lenguaje M,


aparecerá la expresión asociada a la columna Costos de
Producción.

Figura 5. 15 – Expresión del Lenguaje M para Costos de Producción

¡Toma Nota!
Puedes Crear todo tipo de Columnas Personalizadas usando
operaciones matemáticas y los campos de la tabla en la que estás
trabajando.

www.excelfreeblog.com
El ADN de Power Query 213

Otras Columnas
Estimad(a) lector(a), como lo has podido notar en el
transcurso del presente capitulo, las opciones para crear
campos son bastante poderosas porque es posible añadir
columnas de distintos modos, todo depende de la situación en
la que nos encontremos. Ahora bien, para completar nuestro
arsenal de Agregar Columnas contamos con dos caminos
adicionales, que pueden llegar a ser empleados como paso
intermedio, y así lograr transformaciones más engorrosas, te
hablamos de Columna de Índice y Duplicar Columna, por lo tanto,
iniciemos con la exploración de la primera opción.

Como su nombre lo señala; Columna de Índice nos concede la


posibilidad de crear una columna de referencia para cada una
de las filas de la tabla en la que estamos trabajando,
Columna de
facilitándonos la búsqueda, porque agrega un número índice
indicativo a cada registro.

Para ilustrar el accionar del comando Columna de Índice,


creemos un nuevo campo.

1. En el archivo de Power BI que estamos trabajando


desplegamos el Editor de Consultas si lo hemos cerrado
y nos situamos en la consulta PedidosParcial.

2. Luego escogemos la pestaña Agregar Columna, grupo


General, y damos clic en la flecha que acompaña al
comando Columna de Índice para ver las distintas
opciones.

www.excelfreeblog.com
214 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 16 – Opciones de Columna de Índice

3. Para finalizar elegimos la opción Desde 1, que trae


como consecuencia la creación de la columna de
referencia, empezando el conteo desde el número 1.

Figura 5. 17 – Columna Índice empezando desde 1

¡Toma Nota!
Si hubiéramos elegido la opción: Desde 0, la columna de índice
empezaría el conteo desde este número, así que debes elegir la
alternativa que mejor se ajuste a tus necesidades.

www.excelfreeblog.com
El ADN de Power Query 215

La flexibilidad de Columna de Índice nos permite crear un campo


con características individuales; por ejemplo, si quisiéramos
agregar un nuevo campo que inicie el conteo en 2 (dos) y que
su incremento sea cada 3 números lo podemos hacer sin
ningún problema:

4. Nuevamente nos desplazamos a la pestaña Agregar


Columna, grupo General, comando Columna de
Índice y elegimos la opción: Personalizado …

5. En el cuadro de dialogo que aparece, definimos el


Índice Inicial: qué es el número en el cual queremos
que el conteo empiece (para este caso 2) y el
Incremento: referente al aumento que tendrá la
columna (cada 3 números).

Figura 5. 18 – Cuadro de Dialogo Agregar Columna de Índice

Para finalizar, damos clic en el botón Aceptar e inmediatamente


aparece nuestra nueva columna de Índice.

www.excelfreeblog.com
216 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 19 – Nueva Columna de Índice empezando en 2 e incrementando cada 3 números

Otra opción que debemos explorar para agregar columnas y


que puede ser requerida como paso intermedio en la limpieza
de datos es Duplicar Columna.

Como su nombre lo señala, nos permite clonar un campo


existente en la tabla, para crear otro nuevo y que contiene los
Duplicar
Columna mismos datos. Para duplicar una columna en el Editor de Power
Query debemos:

1. Primero, es fundamental elegir la columna que será


duplicada, para este escenario en particular,
seleccionamos la columna SKU que contiene los ID de
cada producto.

www.excelfreeblog.com
El ADN de Power Query 217

2. Posteriormente, vamos a la pestaña Agregar Columna,


grupo General y damos clic en el comando Duplicar
Columna.

Figura 5. 20 – Comando Duplicar Columna

Como resultado, se crea una nueva columna basada en el


campo SKU, lo cual se ve reflejado en el nombre.

Figura 5. 21 – Columna Duplicada a partir del campo SKU

www.excelfreeblog.com
218 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Operación de Rellenar: Uso y


Consideraciones

En el presente capítulo hemos venido estudiando diferentes


métodos para crear columnas en la tabla partiendo de un
campo existente o incluso desde la nada, porque puede ser
necesario su implementación para limpieza y transformación
de datos con un grado de dificultad más alto, y también, para
aumentar nuestro arsenal de herramientas. Aunque nuestro
“botiquín de primeros auxilios” no estará completo sin mencionar
la operación de Rellenar, ya que su uso nos puede sacar de
problemas de estandarización de columnas, o incluso, es un
paso intermedio y fundamental en la Anulación de
Dinamización con dos niveles de encabezados, así que
¡comience el juego!

Rellenar es un comando bastante interesante para la limpieza


de datos puesto que nos ayuda a “completar” o asignar un valor
a un grupo de celdas de una columna que se encuentran vacías;
Operación el valor que tomarán las celdas depende de la “Celda Vecina o
Rellenar Fronteriza” y de la dirección que nosotros asignemos. Es posible
dirigir este comando en dos sentidos diferentes:

▪ Rellenar Hacia Arriba


▪ Rellenar Hacia Abajo

Para ver el objetivo de rellenar ¿qué te parece si revisamos su


esquema particular?

www.excelfreeblog.com
El ADN de Power Query 219

Técnicas de Depuración
Inicio
Fecha País Cantidad Tx Detalle
31/12/2014 Buenos Aires 13
31/12/2014 14
31/12/2014 15
31/12/2014 16
Existen dos caminos en la
operación de Rellenar: Rellenar
31/12/2014 17 Producto 1
Arriba (Fill Up) y Rellenar Abajo
31/12/2014 Brasilia 18
(Fill Down). En resumen, la
31/12/2014 19 operación de relleno consiste en
31/12/2014 20 copiar la celda de arriba o de abajo
31/12/2014 21 dependiendo del caso, en las
31/12/2014 22 Producto 2 casillas vacías.

Proceso / Mecánica
1 • Identificar la columna a rellenar y seleccionarla

Fechas Ciudad Cantidad Tx Detalle 2 • Definir e identificar la dirección


31/12/2014 Buenos Aires 13 null (arriba o abajo) en la cual queremos

31/12/2014 null 14 null asignar los valores, rellenar.

31/12/2014 null Down 15 null Up


[Si más de una columna necesita ser
31/12/2014 null 16 null rellenada y tiene la misma dirección
de asignación, entonces podemos
31/12/2014 null 17 Producto 1 seleccionar todas las columnas y
aplicar el comando una sola vez]
31/12/2014 Brasilia 18 null
31/12/2014 null 19 null • Las celdas vacías son rellenadas de
3
31/12/2014 null Down 20 null Up acuerdo al sentido que nosotros
31/12/2014 null 21 null hemos establecido.

31/12/2014 null 22 Producto 2

Final
Fecha País Cantidad Tx Detalle
31/12/2014 Buenos Aires 13 Producto 1
31/12/2014 Buenos Aires 14 Producto 1
31/12/2014 Buenos Aires 15 Producto 1
Para aplicar este comando,
debemos estar seguros de que las
31/12/2014 Buenos Aires 16 Producto 1
celdas vacías han sido reconocidas
31/12/2014 Buenos Aires 17 Producto 1 como tal por el Editor de
31/12/2014 Brasilia 18 Producto 2 Consultas. Para esto verificamos
31/12/2014 Brasilia 19 Producto 2 que aparezca la palabra null en
31/12/2014 Brasilia 20 Producto 2 dichas celdas vacías
31/12/2014 Brasilia 21 Producto 2
31/12/2014 Brasilia 22 Producto 2

www.excelfreeblog.com
220 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

¡Riesgo: Advertencia!

Como te lo mencionamos en el esquema anterior, para que funcione


este comando, debemos estar seguros de que las celdas a completar
tienen establecida la palabra null, la cual es asignada por Power Query
en las casillas que no contienen ningún dato. De otra manera, no
funcionará Rellenar.

Después de conocer la esencia de Rellenar veamos en un


ejemplo como trabaja esta poderosa operación.

Limpieza de Datos Inicial

Como siempre, nuestro objetivo principal será conseguir el


Formato Tabular de una tabla para que posteriormente pueda
ser analizada, en este escenario, vamos a convertir una tabla
que contiene información de distintos productos de un
supermercado. Al abrir el archivo encontraras que la tabla tiene
filas en blanco, datos incoherentes y, además, dos campos
comparten una sola columna, así que veamos de que se trata y
que es lo que debemos hacer para arreglarla.

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 5 puedes encontrar el archivo de Excel con nombre:
CAP5EJ2 – TransformaciónNull.xlsx. (Lo abrimos para un
vistazo)

www.excelfreeblog.com
El ADN de Power Query 221

Datos Incoherentes

Dos campos
en una sola
Columna

Filas en Blanco

Figura 5. 22 – Archivo CAP5Ej2 – Transformación Null

Como ya hemos dado un vistazo a la tabla que vamos a reparar,


ahora empezaremos con la limpieza de esta.

1. Primero, abrimos un nuevo archivo de Power BI, luego,


vamos a la pestaña Inicio, grupo Datos Externos,
damos clic en Obtener Datos para desplegar las
opciones y elegimos la conexión referente al archivo
que vamos a tratar, como se trata de un archivo de
Excel, especificamos ese origen.

2. En la ventana Abrir, definimos la ruta donde se


encuentra el archivo en nuestro computador y
finalizamos dando clic en Aceptar.

www.excelfreeblog.com
222 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

3. En la ventana Navegador, seleccionamos la única hoja


del libro denominada BD_ProductosSupermercado,
que contiene la tabla que vamos a transformar. Para
iniciar el Editor de Power Query damos clic en Editar

Figura 5. 23 – Ventana Navegador

Después de dar clic en Editar, aparecerá El Editor de Power Query


con la tabla cargada, aunque aún debemos repararla. No
puedes olvidar que la consulta tendrá el mismo nombre que el
origen de datos al que nos estamos conectando.

www.excelfreeblog.com
El ADN de Power Query 223

Figura 5. 24 – Tabla cargada en el Editor de Power Query

Con la tabla cargada en El Editor de Power Query, es momento


de iniciar con la limpieza y transformación:

4. Para empezar, vamos a quitar las filas en blanco, por


lo tanto, damos clic sobre la Column2 para elegirla,
posteriormente, nos movemos a la pestaña Inicio,
grupo Reducir Filas, clic sobre el comando Quitar Filas
y escogemos la alternativa: Quitar Filas en Blanco.

Figura 5. 25 – Quitar Filas en Blanco

www.excelfreeblog.com
224 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

5. Posteriormente, eliminaremos los valores


incoherentes, como consecuencia, nos desplazamos
nuevamente hasta la Column2, damos clic sobre el
botón de filtros, y allí deshabilitamos los ítems: Fecha
y Solicitado por, puesto que no hacen parte de la tabla
de datos, para finalizar, damos clic en Aceptar.

Figura 5. 26 – Filtrar Valores Incoherentes

Como resultado, en nuestra tabla, se han eliminado dos filas,


una se encontraba en la parte superior y otra al final.
Adicionalmente se ha añadido un nuevo paso en la consulta.

www.excelfreeblog.com
El ADN de Power Query 225

Figura 5. 27 – Filtrar Valores Incoherentes

6. En seguida, eliminaremos la columna 1 (Column1)


porque no contiene datos, en ese orden de ideas,
damos clic derecho sobre ella, y en la lista de opciones
elegimos Quitar.

7. En seguida, vamos a definir las etiquetas de la tabla.


Nos desplazamos a la pestaña Transformar, grupo
Tabla y damos clic sobre el comando Usar la primera
fila como encabezado.

Al usar la primera fila como encabezado, Power Query nos da


una pequeña ayuda y agrega un paso que asigna el tipo de
dato a cada columna.

www.excelfreeblog.com
226 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 28 – Tabla con Etiquetas Asignadas

8. Ahora vamos a fijar nuestra atención sobre la columna


Producto, la cual tiene dos ítems mal escritos: Sal
(Salll) y Café (Cafée), por esta razón, utilizaremos el
comando Reemplazar los valores en dos ocasiones.
Para cambiar la primera palabra, damos clic derecho
sobre la columna, en la lista de opciones que aparece
elegimos Reemplazar los valores, y en el cuadro de
dialogo definimos la palabra que será cambiada (Salll)
y la nueva cadena de caracteres (Sal), para terminar,
damos clic en Aceptar.

Repetimos el procedimiento, para cambiar la palabra


(Cafée) por (Café), con lo cual se agregan dos pasos
nuevos, uno para cada sustitución.

www.excelfreeblog.com
El ADN de Power Query 227

Figura 5. 29 – Valores Reemplazados

9. Seguidamente, fijaremos nuestros esfuerzos en


dividir la última columna (Cantidad (g/ml)-Categoria)
porque contiene dos campos y sabemos que esto va
en contra de las reglas del formato tabular. La ventaja
es que la columna tiene un guion que divide ambas
categorías de datos y esto lo aprovecharemos para
hacer la separación; en consecuencia, seleccionamos
la columna, vamos a la pestaña Inicio, grupo
Transformar, comando Dividir Columna y elegimos la
opción Por Delimitador, en el cuadro de dialogo que
aparece; Power Query reconoce el delimitador,
definiendo el guion (-) como tal. Nosotros
simplemente configuramos Dividir en: Delimitador
situado más a la izquierda y damos clic en Aceptar.

www.excelfreeblog.com
228 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 30 – Cuadro de dialogo Dividir Columna por Delimitador

Lo que trae como consecuencia la separación de la columna en


dos:

Figura 5. 31 – Columna divida en dos

www.excelfreeblog.com
El ADN de Power Query 229

Rellenar: Aplicación y Consideraciones

Ahora ha llegado el momento de la verdad porque tenemos


que utilizar el comando Rellenar, como puedes ver, la columna
Cantidad (g/ml)-Categoria.2, que contiene la clasificación de los
distintos productos está incompleta, así que manos a la obra.

En la pestaña Transformar, grupo Cualquier Columna,


encontraremos el icono referente a la operación de Rellenar y
los dos sentidos en los cuales trabaja.

Figura 5. 32 – “Sub-operación” Rellenar Abajo

Si nosotros elegimos la columna Cantidad (g/ml)-Categoria.2, y


utilizamos el comando Rellenar hacia Abajo no va a funcionar,
esto ocurre porque Power Query no ha identificado las celdas
vacías como tal. Lo podemos verificar porque la columna NO
tiene asignada la palabra null en dichas casillas, en este
momento, aparecen sin “nada”, y ese es el motivo por el cual
podemos intentar aplicar la operación de Rellenar sin conseguir
ningún resultado. Pero no te preocupes, ya veremos cómo
resolver este problema.

www.excelfreeblog.com
230 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

En las celdas que no contienen


nada, debería aparecer la palabra
null, asignada por Power Query
para poder manejar este tipo de
inconvenientes.

Figura 5. 33 – Celdas sin valor null asignado

Como Power Query no ha identificado las celdas vacías como


tal, nosotros aplicaremos un pequeño truco para que esto
ocurra:

10. Seleccionamos la columna Cantidad (g/ml)-Categoria.2,


luego, damos clic derecho y en la lista de opciones que
aparece elegimos Reemplazar los valores,
posteriormente, en el cuadro de dialogo, NO vamos a
poner nada en Valor que Buscar.

- Si, así como lo leíste, no vamos a poner nada.

Y en Reemplazar con escribimos la palabra: null, para finalizar


damos clic en Aceptar.

www.excelfreeblog.com
El ADN de Power Query 231

Figura 5. 34 – Reemplazar vacío por null

Como consecuencia, ahora aparece la palabra null en todas las


celdas vacías de la columna, con lo cual, ya podemos aplicar la
operación de Rellenar.

Figura 5. 35 – Casillas con la palabra null asignada

www.excelfreeblog.com
232 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

11. Con la palabra null definida, ya podemos implementar la


operación de Rellenar, en ese caso, elegimos la columna
Cantidad (g/ml)-Categoria.2, después, vamos a la
pestaña Transformar, grupo Cualquier Columna, damos
clic en el comando de Rellenar y elegimos la opción
Abajo. Y como resultado, se han completado las celdas
vacías, sin sobreponer una categoría sobre otra.

Figura 5. 36 – Operación de Rellenar

12. Para completar la limpieza, mantenemos elegida la


columna, damos clic derecho sobre ella, seleccionamos
Transformar y utilizamos la opción Poner en Mayúsculas
cada palabra.

www.excelfreeblog.com
El ADN de Power Query 233

Figura 5. 37 – Poner en Mayúsculas cada palabra

13. Para finalizar, cambiamos el nombre de las columnas


que han sido divididas, dando doble clic sobre cada
etiqueta y reescribiendo su denominación:

▪ Cantidad (g/ml)-Categoria.1: Cantidad (g/ml)


▪ Cantidad (g/ml)-Categoria.2: Categoría

Como consecuencia de todos estos pasos aplicados, por fin


hemos arreglado nuestra tabla de productos del
supermercado.

www.excelfreeblog.com
234 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 38 – Tabla lista para ser analizada

Para terminar, damos clic en Cerrar y Aplicar y guardamos


nuestro archivo de Power BI.

Considerando que ya hemos agregado nuevas herramientas a


nuestro “Kit de primeros auxilios” como lo son las distintas
maneras de Agregar Columnas y Rellenar, veamos escenarios
más intrincados pero que se pueden solucionar sin ninguna
complicación.

Zipped Table: Manipulación de Datos


Comprimidos

El formato de tabla comprimida (en inglés: zipped table) como


hemos bautizado a este caso, es un formato peculiar:

www.excelfreeblog.com
El ADN de Power Query 235

Zipped Table o Tabla Comprimida


Es un formato que comprime los datos de otros campos en unas
cuantas casillas en una única columna, en ellas no sólo puede
estar la información del nombre del campo sino también los
datos de los elementos en sí.
Se ha denominado a este tipo de formato Zipped table o tabla
comprimida, a razón de que, a partir de una única columna se
deben crear los demás campos y sus elementos, para así alcanzar
el formato tabular.

Esquema visual:

Nombre del campo de


la primera columna

Datos de campos
comprimidos casillas.

Datos de campos
comprimidos casillas.

Datos de campos
Zipped Table comprimidos casillas.

Datos o elementos correspondiente al


primer campo de la tabla.

www.excelfreeblog.com
236 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Una vista de reojo puede derivar en pocas conclusiones, y creer


que este tipo de casos son muy poco comunes, a pesar de ello,
estas situaciones suceden a menudo, especialmente en
formatos de áreas como:

▪ Recursos humanos
▪ Marketing
▪ Arquitectura (dibujo técnico)
▪ Calidad
▪ Recolección de datos con encuestas
▪ Cuerpo de correos electrónicos
▪ Copiado de datos de páginas web
▪ Gestión de salarios e incentivos

¡Toma Nota!
Se puede decir, que es un tipo de formato semiestructurado, puesto
que, no está pulcramente modelado y su organización dista
considerablemente del formato tabular.

Hemos detectado que esta situación se presenta “casi siempre”


cuando pegamos datos desde Word a especificación de datos
en Power BI, básicamente porque toda la información bien
presentada en este editor de texto termina alojada en única
columna cuando se pega.

www.excelfreeblog.com
El ADN de Power Query 237

En esta ocasión no veremos un caso de algún cliente, empresa


o persona individual en consultoría, sino un escenario de
nuestras actividades en la parte online de los vídeos cursos y
gestión del blog, así que empecemos con el “combate”.

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 5 puedes encontrar el archivo de Word con nombre:
CAP5EJ3 – ZippedTable.xlsx (Tablas Comprimidas) Lo abrimos
para dar un vistazo

Al abrir el archivo de Word, encontraremos en la primera página


una portada de nuestro curso insignia que enseña todo lo
relacionado con en el Lenguaje DAX, denominado Máster en
DAX. Desde la página número dos en adelante se encuentra:

▪ Un listado de Tomos que contiene el curso (los tomos


son secciones que componen el curso).
▪ El número y nombre de los distintos módulos que
componen cada tomo.
▪ El número y nombre de cada lección que compone ese
modulo en particular.
▪ La duración en minutos y segundos de cada lección.

Como consecuencia, nuestra misión será convertir el


contenido de ese archivo de Word en una tabla con Formato
Tabular, excluyendo la primera página que es la portada del
documento y que no contiene información relevante para el
ejemplo.

www.excelfreeblog.com
238 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 39 – Contenido del archivo de Word: Zipped Tables (Tablas Comprimidas),

Al abrir el archivo y explorarlo encontrarás que son 6 tomos,


con 19 módulos y sus lecciones correspondientes, todo está
listado y escrito como un archivo de Word cualquiera, y que no
cuenta con ningún formato de tabla. Además de conseguir el
formato tabular, también es necesario dejar la duración de
lecciones en minutos únicamente, y no en segundos y minutos
como esta en el archivo, así que esta será nuestra misión.

1. Para iniciar con nuestra inquietante encomienda,


abrimos un nuevo archivo de Power BI.

www.excelfreeblog.com
El ADN de Power Query 239

2. En lugar de conectarnos al origen desde Power BI


como lo hemos venido haciendo, vamos a utilizar la
opción de Especificar datos, por este motivo, nos
dirigimos al archivo de Word y allí vamos a seleccionar
todo el texto, iniciando en el primer título: TOMO #1 -
Fundamentos, Expresiones Tabulares y Escalares, y
finalizando en la última lección: [Lección 10] –
Técnicas de Utilización de Medidas con KPIs (17:20) ,
para concluir presionamos la combinación de teclas
Ctrl + c, con esta acción copiamos la selección.

3. Luego de copiar el contenido del archivo de Word,


regresamos a Power BI, pestaña Inicio, grupo Datos
Externos y damos clic en la opción Especificar Datos,
que permite crear una tabla escribiendo o pegando
datos.

Figura 5. 40 – Especificar Datos

4. En la ventana Crear Tabla, nos posicionamos en la


única celda que aparece y presionamos la
combinación de teclas Ctrl + v para pegar el contenido
del archivo de Word.

www.excelfreeblog.com
240 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 41 – Ventana Crear Tabla

5. Al copiar los datos en la ventana, surge una


advertencia en la parte superior: La primera fila de datos
que pegó ascendió a los encabezados de la columna,
aunque esto no lo queremos, por lo tanto, damos clic
en el botón que la acompaña: Deshacer Encabezados.

Figura 5. 42 – Tabla, luego de deshacer los encabezados

www.excelfreeblog.com
El ADN de Power Query 241

Para terminar con este paso, damos clic en Editar, como


resultado aparece el Editor de Consultas con los datos
cargados.

Figura 5. 43 – Datos en el Editor de Consultas

6. Posteriormente, cambiaremos el nombre la Columna1.


Damos doble clic sobre la etiqueta y reescribimos el
nombre utilizando la palabra Info.

Figura 5. 44 – Cambiar nombre de la columna1 por Info

www.excelfreeblog.com
242 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

7. Con el nombre cambiado, ya es momento de empezar


a construir la tabla a partir de una sola columna.
Inicialmente, extraeremos el nombre de cada uno de
los tomos dejándolos en su propio campo, por
consiguiente, vamos a crear una columna condicional
que ponga el nombre del tomo utilizando la siguiente
regla:

▪ Si el contenido de la columna Info empieza por la


letra T (alusivo a la palabra Tomo), se asignará el
mismo dato que contiene la celda, en caso
contrario, que establezca la palabra null.

Teniendo en mente el objetivo del paso, nos dirigimos


a la pestaña Agregar Columna, grupo General y damos
clic sobre el comando Columna Condicional, luego
configuramos el cuadro de dialogo como se muestra
en la siguiente figura:

Figura 5. 45 – Agregar Columna Condicional para Extraer el Tomo

www.excelfreeblog.com
El ADN de Power Query 243

▪ Nuevo Nombre de Columna: Tomo


▪ Si – Nombre de Columna: Info
▪ Operador: Comienza por
▪ Valor: T
▪ Salida: Info
▪ De lo Contrario: null

Para terminar, damos clic en Aceptar, lo cual nos trae el


siguiente resultado; la creación de una nueva columna en la
consulta.

Figura 5. 46 – Columna Condicional (Tomo) creada

www.excelfreeblog.com
244 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

8. Ahora, vamos a hacer algo similar para crear el campo


que contiene el nombre de los distintos módulos, en
ese caso, añadiremos una Columna Condicional que
cumpla con la siguiente regla:

▪ Si el contenido de la columna Info empieza por la


letra M (correspondiente a la palabra Módulo), se
asignará el mismo dato que contiene la celda, en
caso contrario, que defina la palabra null

En definitiva, nos desplazamos nuevamente a la


pestaña Agregar Columna, grupo General, damos
clic en el comando Columna Condicional y en el
cuadro de dialogo que aparece, configuramos el
nuevo campo de la siguiente forma:

Figura 5. 47 – Agregar Columna Condicional para Extraer el Módulo

www.excelfreeblog.com
El ADN de Power Query 245

▪ Nuevo Nombre de Columna: Módulos


▪ Si – Nombre de Columna: Info
▪ Operador: Comienza por
▪ Valor: M
▪ Salida: Info
▪ De lo Contrario: null

Para terminar con el presente paso, damos clic en el botón


Aceptar, con lo cual, se agrega un nuevo campo en la tabla.

Figura 5. 48 – Columna Condicional (Módulo) creada

www.excelfreeblog.com
246 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

9. Posteriormente, aplicaremos la operación de Rellenar


en las columnas condicionales que hemos agregado
anteriormente (Tomo y Módulos), porque como
puedes ver, aparecen celdas vacías en cada una, algo
que debemos evitar y que no corresponde con el
Formato Tabular, por eso, seleccionamos ambas
columnas con la tecla Ctrl presionada, luego, nos
desplazamos a la pestaña Transformar, grupo
Cualquier Columna; una vez allí, damos clic sobre el
comando Rellenar: hacia Abajo.

Figura 5. 49 – Rellenar Columnas Condicionales

www.excelfreeblog.com
El ADN de Power Query 247

10. Para definir la columna que contendrá el nombre de


las lecciones únicamente, filtraremos la columna Info
quitando todos los ítems relacionados a los módulos
(Módulo 1 al 19), tomos (Tomo 1 al 6) y valores
incoherentes (celdas en blanco y punto (.)) que
aparecen aquí. En ese caso seleccionamos la columna
y utilizamos el botón de autofiltros que acompaña la
etiqueta del campo, quitamos la selección en los
elementos señalados y para finalizar damos clic en
Aceptar.

Figura 5. 50 – Aplicar Filtro en la Columna Info

www.excelfreeblog.com
248 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Con la información referente a nombre de las lecciones,


módulos y tomos separada en distintas columnas, solo queda
hacernos cargo de una nueva columna que retorne la
información de minutos y segundos para luego manipularla.

11. En ese orden de ideas, primero, extraeremos los


minutos y segundos de la columna Info, para esta
labor, elegimos la columna, luego, nos desplazamos a
la pestaña Agregar Columna, grupo De Texto,
comando Extraer y escogemos la opción: Texto entre
delimitadores.

Figura 5. 51 – Extraer Texto entre delimitadores

Automáticamente aparece el cuadro de dialogo Texto


entre delimitadores, y vamos a configurarlo de la
siguiente manera:

▪ Delimitador de Inicio: (
▪ Delimitador de Fin: )
▪ Opciones Avanzadas -> Buscar el delimitador de
Inicio: Desde el final de la entrada

www.excelfreeblog.com
El ADN de Power Query 249

Figura 5. 52 – Cuadro de Dialogo Extraer Texto entre delimitadores

Para finalizar damos clic en el botón Aceptar y con ello se crea


un nuevo campo en la tabla.

Figura 5. 53 – Columna texto entre delimitadores, que contiene los minutos y segundos

www.excelfreeblog.com
250 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

12. En seguida, vamos a dividir la columna que acabamos


de crear (Texto entre delimitadores) porque
necesitamos pasar los segundos a minutos. En
consecuencia, la seleccionamos, nos desplazamos a la
pestaña Inicio, grupo Transformar, comando Dividir
Columna y escogemos la opción; Por delimitador.

En el cuadro de dialogo que aparece, definimos el


delimitador como Dos puntos y Dividir en: Delimitador
situado más a la izquierda.

Figura 5. 54 – Columna texto entre delimitadores, que contiene los minutos y segundos

Para concluir este paso, vamos a dar clic en Aceptar, lo que trae
como resultado la división de la columna en dos, una con los
minutos y otra con los segundos.

www.excelfreeblog.com
El ADN de Power Query 251

Minutos Segundos

Figura 5. 55 – Columna dividida en minutos y segundos

13. Para convertir la columna de segundos en minutos,


construiremos una columna personalizada que divida
los segundos en 60 para hacer la conversión. Por lo
tanto, nos desplazamos hasta la pestaña Agregar
Columna, grupo General y damos clic en el comando
Columna Personalizada. En el cuadro de dialogo que
aparece, vamos a establecer la Fórmula de Columna
personalizada como:

= [Texto entre delimitadores.2] / 60

Código M

www.excelfreeblog.com
252 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 56 – Configuración Columna Personalizada

Para terminar, damos clic en Aceptar y en la tabla aparece una


nueva columna con los segundos en minutos.

Figura 5. 57 – Columna Personalizada: Contiene los segundos en minutos.

www.excelfreeblog.com
El ADN de Power Query 253

14. Adicionalmente, debemos cambiar el tipo de dato de


la columna Texto entre delimitadores.1 que contiene
los minutos porque aparece como texto y lo
necesitamos en formato numérico para que puedan
ser operados con la columna que recién hemos
creado.

15. Con los segundos transformados y el formato de la


columna Texto entre delimitadores.1 cambiado,
vamos a sumarlos para unificar toda la información en
una sola columna.

Nuevamente nos desplazamos a la pestaña Agregar


Columna, grupo General, clic en el comando Columna
Personalizada.

En el cuadro de dialogo establecemos el nombre de la


nueva columna como: Duración(minutos) y la
Fórmula de columna personalizada:

= [Texto entre delimitadores.1] + [Personalizado]

Código M

En la siguiente figura puedes ver cómo ha sido configurado el


cuadro de dialogo para crear la columna Duración(minutos)

www.excelfreeblog.com
254 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 58 – Columna Personalizada: Duración (Minutos)

16. Así mismo, quitaremos las columnas que ya no son de


nuestro interés y que hemos añadido como pasos
intermedios, por ello, seleccionamos los campos:
Texto entre delimitadores.1, Texto entre
delimitadores.2 y Personalizado manteniendo Ctrl
presionado, luego damos clic derecho y elegimos la
opción Quitar.

Al eliminar dichas columnas, ya podríamos pensar que todo


está bien y que hemos finalizado, pero la realidad es otra. Al
acercar el cursor a la Barra de Perfil de Datos de la columna
Duración (Minutos) encontraremos un error, así que
analicemos que es lo que está pasando.

www.excelfreeblog.com
El ADN de Power Query 255

Figura 5. 59 – Barra de Perfil de Datos

Si fijamos nuestra atención sobre la columna Info, que posee


el nombre de las lecciones y nos desplazamos hasta la fila 105,
encontráremos que la [Lección 10] – Función ISONORAFTER
no contiene la información correspondiente a la duración y por
eso las columnas intermedias no saben que operar en ese
registro, lo cual trae como consecuencia que aparezca el error
en la columna Duración(minutos).

Figura 5. 60 – Registro 105

Por conocimiento de los productos que manejamos, sabemos


que dicha lección tiene una duración de 3,1 minutos así que
vamos a hacer la manipulación del error para que nuestro
ejercicio quede completo.

www.excelfreeblog.com
256 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

17. Para manipular el error, vamos a cambiarlo por el dato


que representa la duración en esa lección. En ese
orden de ideas, nos dirigimos a la columna Duración
(Minutos) y damos clic derecho sobre su etiqueta, en
la lista de opciones que aparece escogemos
Reemplazar Errores.

Figura 5. 61 – Reemplazar errores…

En el cuadro de dialogo que aparece establecemos el valor que


reemplazara los errores, en este escenario: 3,1y damos clic en
Aceptar.

www.excelfreeblog.com
El ADN de Power Query 257

Figura 5. 62 –Cuadro de dialogo Reemplazar errores

Si ahora te diriges a la columna Duración(minutos) y observas


La Barra de Perfil de Datos, podrás verificar que todo se
encuentra en orden.

Figura 5. 63 –Barra de Perfil de Datos indicándonos que todo está bien

18. Por último, asignamos el tipo de dato de cada


columna de la siguiente manera:

▪ Info, Tomo y Módulos: Columnas Tipo Texto


▪ Duración (Minutos): Número Decimal

Pero ¿qué pasa si quisiéramos hacer un resumen de minutos


por cada uno de los tomos? ¿cómo podríamos lograr que se
sume este campo y nos resuma los minutos por tomos

www.excelfreeblog.com
258 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

¿Sin salir del Editor de Consultas de Power Query? Pues bien, te


presentamos la funcionalidad de Agrupar Por …

Bonus: Agrupar Por

En el Editor de consultas de Power Query contamos con un


comando bastante potente y que no tiene nada que ver con la
limpieza y transformación de datos, te hablamos de Agrupar
Por. Dicha funcionalidad nos permite tomar una tabla ya
transformada, para hacer cálculos y agruparlos por categorías

Agrupar Por: de acuerdo con los campos que la componen, nunca será un

La Operación reemplazo para la parte analítica de la interfaz de Power BI,


Perdida pero si puede ser una solución rápida para resumir datos. Si lo
quieres ver desde otra perspectiva, es como un
SUMAR.SI.CONJUNTO dentro del Editor de Consultas, pero con
L cierta es que el comando: más funciones de resumen.
Agrupar por es una
operación, sin embargo,
nuestra metodología 19. Para encontrar el total de minutos para cada tomo,
jerárquica A/O no la
incluimos porque todo lo nos dirigimos a la pestaña Transformar, grupo Tabla y
que tiene que ver con
allí en la parte izquierda encontraremos el comando
resumen de datos es mejor
llevarlo a cabo en la Agrupar Por:
segunda etapa del proceso
de inteligencia de negocios.
A excepción de dos casos
▪ Sincronizar tamaño de
grano
▪ Iteración para formato
tabular
En el capítulo 18
profundizaremos en esto.

Figura 5. 64 – Comando Agrupar Por

www.excelfreeblog.com
El ADN de Power Query 259

Al dar clic sobre él, aparece el cuadro de dialogo Agrupar Por


que tiene diferentes elementos a configurar.

▪ Agrupar por: se refiere al campo de la tabla para el cual


se quiere resumir los datos

▪ Nuevo Nombre de Columna: la denominación del


nuevo campo que será creado

▪ Operación: Aquí definimos la operación matemática


que será utilizada para crear la nueva columna

▪ Columna: En este elemento, seleccionamos la columna


sobre la cual se realizará la operación definida.

Figura 5. 65 – Cuadro de Dialogo Agrupar Por

Para nuestro escenario definimos el cuadro de dialogo de la


siguiente manera:

www.excelfreeblog.com
260 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

▪ Agrupar por: Tomo

▪ Nuevo Nombre de Columna: Total Minutos

▪ Operación: Suma

▪ Columna: Duración (Minutos)

Para concluir damos clic en aceptar, esta acción nos retornará


una tabla de resumen en el Editor de Consultas de Power Query
que nos muestra el total de minutos por cada tomo:

Figura 5. 66 – Cuadro de Dialogo Agrupar Por

Por último, cambiamos el nombre de la consulta por: Máster en


DAX, damos clic en Cerrar y Aplicar y guaramos el archivo de
Power Bi con el mismo nombre del ejemplo.

Después de hacer un “mix” de comandos para convertir un


archivo de Word en una tabla que puede ser analizada,
conozcamos un truco que puede ahorrarte horas de trabajo.

www.excelfreeblog.com
El ADN de Power Query 261

División de Columnas con Múltiples


Criterios Dinámicos

En la presente sección veremos cómo dividir una columna


utilizando varios criterios, y que, a su vez se pueda aplicar el
mismo principio para hacer dinámica la división, previniendo
así, problemas al agregar nuevos ítems que puedan dañar la
consulta.

- ¡Así que empiece el juego!

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 5 puedes encontrar el archivo de Excel con nombre:
CAP5EJ4 - División de Columna Dinámica.xlsx. (Lo abrimos para
un vistazo)

Al abrir el archivo de Excel encontrarás que se trata de una tabla


que contiene la información de distintos productos que son
enviados al exterior, por lo tanto, se indica el número de la
orden, el país al cual fue enviado el producto y una columna
con datos de dos campos: el primero es el nombre del
producto y el segundo es el valor en moneda local. Lo que
deseamos lograr en este escenario, es dejar en su propia
columna el valor de envió de cada producto.

www.excelfreeblog.com
262 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 67 – Archivo CAP5EJ4 - División de Columna Dinámica

Conociendo el desafío al cual nos enfrentaremos, es momento


de empezar con la transformación de la tabla.

1. Para iniciar, vamos a abrir un nuevo archivo de Power


BI, luego, en la interfaz nos dirigimos a la pestaña
Inicio, grupo Datos Externos, comando Obtener Datos
y elegimos el tipo de origen Excel. En la ventana que
aparece buscamos el destino del archivo en nuestro
ordenador y damos clic en Abrir.

2. En la ventana Navegador, elegimos conectarnos a la


tabla estructurada denominada CostEnvAdi13_1_18
y damos clic en Editar.

www.excelfreeblog.com
El ADN de Power Query 263

Figura 5. 68 – Navegador

Con los pasos anteriores, ya hemos cargado la tabla en el


Editor de Consultas de Power Query y está lista para ser
trabajada.

Figura 5. 69 – Tabla Cargada en el Editor de Consultas

www.excelfreeblog.com
264 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Para dividir la columna y dejar la cifra en su propio campo


vamos a llevar a cabo distintas estratagemas que nos
permitirán hacer más flexible nuestra consulta. Si te fijas en la
columna Información del Pedido, después del nombre del
producto está un código de tres letras para las divisas en
distintos países, ese código se denomina Norma ISO 4271,
luego de la norma ISO, se encuentra el valor del producto en
moneda de ese país.

Lo que vamos a hacer a continuación es tomar esa norma ISO


para dividir la columna, aunque debes tener en cuenta que ese
código cambia dependiendo del país, así que empecemos a
“cocinar” la solución de este problema.

3. Para dividir la columna la seleccionamos, nos


desplazamos hasta la pestaña Inicio, grupo
Transformar, comando dividir columna y escogemos la
opción: Por delimitador.

En el cuadro de dialogo que aparece configuramos la


división de la siguiente manera:

▪ Tipo de Delimitador: Personalizado


▪ Delimitador: COP
▪ Dividir en: Delimitador situado más a la izquierda

Para concluir damos clic en Aceptar.

www.excelfreeblog.com
El ADN de Power Query 265

Figura 5. 70 – Dividir columna por delimitador

Como resultado, se divide la columna, aunque muestra null en


los países que no corresponden con el código ISO de Colombia
(COP), porque como ya lo mencionamos este código cambia
según el país.

Figura 5. 71 – Columna Dividida aplicando el separador COP

www.excelfreeblog.com
266 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Para arreglar este dilema, vamos a editar la función del


Lenguaje M, aunque no te asustes, todavía no es necesario
entender el código, solo debes seguir al pie de la letra la
siguiente receta. En capítulos posteriores nos encargaremos de
conocer más sobre el corazón de Power Query.

4. Lo primero que vamos a hacer es seleccionar el paso: Dividir


Columna por delimitador, puesto que Power Query agrego
automáticamente Tipo Cambiado y este NO es el que
queremos editar. Luego vamos a dar clic sobre la Barra de
Formulas del Lenguaje M y allí haremos el siguiente cambio
en la expresión.

Figura 5. 72 – Expresión del Lenguaje M sin modificar

= Table.SplitColumn(#"Tipo cambiado", "Información de Pedido",


Splitter.SplitTextByEachDelimiter({"COP"}, QuoteStyle.Csv, false),
{"Información de Pedido.1", "Información de Pedido.2"})
Código M

▪ En el “pedacito” de código que dice


Splitter.SplitTextByEachDelimiter vamos a cambiar Each
por Any.

www.excelfreeblog.com
El ADN de Power Query 267

▪ En la sección de código que aparece {"COP"}, vamos


a agregar una coma y un nuevo código ISO entre
comillas: {"COP","ARS"}. Aplicando los cambios, la
fórmula quedaría:

= Table.SplitColumn(#"Tipo cambiado", "Información de Pedido",


Splitter.SplitTextByAnyDelimiter({"COP","ARS"}, QuoteStyle.Csv,
false), {"Información de Pedido.1", "Información de Pedido.2"})
Código M

Figura 5. 73 – Expresión Modificada

Si regresamos al último paso, veremos en la tabla que los


valores correspondientes a Colombia y Argentina no aparecen
con null y si ha hecho la división como queremos. En cambio,
en los demás todavía persiste el problema porque la división se
hace por dos códigos (Colombia y Argentina) y al no encontrar
los códigos de los otros países arroja null.

Figura 5. 74 – Resultado de Modificar la Expresión

www.excelfreeblog.com
268 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Aunque ya sabemos cómo agregar más códigos ISO


manualmente, por ejemplo, podríamos adicionar en la fórmula
el código ISO de Brasil.

▪ En la sección de código que aparece {"COP","ARS"}, de


nuevo añadimos una coma y el código ISO para Brasil:
{"COP","ARS",”BRL”}. Aplicando los cambios, la
fórmula quedaría:

= Table.SplitColumn(#"Tipo cambiado", "Información de Pedido",


Splitter.SplitTextByAnyDelimiter({"COP","ARS","BRL"}, QuoteStyle.Csv,
false), {"Información de Pedido.1", "Información de Pedido.2"})
Fórmula

Figura 5. 75 – Nuevo Código ISO añadido

Figura 5. 76 – Tabla después de agregar el nuevo código ISO

www.excelfreeblog.com
El ADN de Power Query 269

Podríamos aplicar el mismo principio para completar los países


que hacen falta, pero vamos a llevar a otro nivel nuestra
expresión del Lenguaje M, de tal manera que, si en la tabla
llegan nuevos países, igual lo tenga en cuenta para la división,
así que presta atención a los pasos que vamos a realizar.

5. En Google vamos a poner: Norma ISO 4271 y


ubicamos la página de Wikipedia que contiene estos
datos.

Figura 5. 77 – Norma ISO 4217 en Google

Al ingresar a la página encontraremos una tabla con el código


de divisa ISO 4217 para una cantidad de países bastante
grande.

6. A continuación, copiamos en enlace de dicha página


web para luego importar su información en Power
Query.

www.excelfreeblog.com
270 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 78 – Norma ISO 4217 en Wikipedia

7. Después, regresamos a nuestro Editor de Power


Query. En el Panel de Consultas damos clic derecho,
elegimos la opción Nueva Consulta y establecemos el
origen como WEB.

Figura 5. 79 – Crear nueva consulta a partir de la Web

www.excelfreeblog.com
El ADN de Power Query 271

8. En el cuadro de dialogo que aparece, vamos a pegar


la dirección web que hemos tomado de internet y
damos clic en Aceptar.

Figura 5. 80 – Desde la Web

9. Automáticamente aparece la ventana Navegador,


aquí seleccionamos la tabla dentro de la página web
denominada: Códigos de divisa ISO 4217[nota 1]
[editar] y damos clic en Aceptar.

Figura 5. 81 – Ventana Navegador

www.excelfreeblog.com
272 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Al dar clic en Aceptar se crea una nueva consulta con esta tabla
que vamos a manipular un poco:

10. De esta tabla únicamente nos interesa la columna


Código, así que damos clic derecho sobre ella y
escogemos la opción Quitar Otras Columnas.

Figura 5. 82 – Quitar Otras Columna

Como consecuencia, nos ha quedado una sola columna en la


consulta, dicho campo lo vamos a convertir en una Lista:

11. Para convertir una Columna en una lista la elegimos


con clic izquierdo, luego, nos desplazamos a la
pestaña Transformar, grupo Cualquier Columna y
damos clic sobre el comando Convertir en Lista.

www.excelfreeblog.com
El ADN de Power Query 273

Figura 5. 83 – Convertir en Lista

Como consecuencia, la columna ahora se ha transformado en


una Lista de Power Query. Esto también se ve reflejado en los
iconos que aparecen en el Panel de Consultas.

Figura 5. 84 – Columna convertida en lista

Posterior a ello, vamos a jugar un poco con el Editor Avanzado


para ver el código del lenguaje M.

12. Nos desplazamos a la pestaña Vista, grupo Uso


Avanzado y damos clic en el botón Editor Avanzado.
Automáticamente aparece una ventana con el Código
de la Consulta que trae los códigos ISO.

www.excelfreeblog.com
274 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 85 – Ubicación del Comando Editor Avanzado

Figura 5. 86 – Editor Avanzado para la consulta que trae el Código ISO

13. Al abrir el Editor Avanzado, vamos a copiar todo el


código que aparece, seleccionándolo y presionando la
combinación de teclas Ctrl + C, para terminar, damos
clic en el botón Listo.

14. Seguidamente, vamos a elegir la primera consulta, la


que hemos venido trabajando y se denomina:
CostEnvAdi13_1_18 y allí desplegamos de nuevo el
Editor Avanzado:

www.excelfreeblog.com
El ADN de Power Query 275

Figura 5. 87 – Editor Avanzado para la consulta que inicialmente estábamos trabajando

15. Después de la palabra Let que está en la primera línea


de código vamos a dar dos veces Enter y escribimos
(CODISO=), luego, presionamos Enter de nuevo y Ctrl
+ v para pegar las líneas de código de la consulta
Códigos de Divisa.

¡Toma Nota!
Debes realizar este procedimiento al pie de la letra y con una precisión
quirúrgica pues de eso depende que el truco funcione sin ningún
problema

www.excelfreeblog.com
276 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 88 – Agregar palabra y pegar el código del lenguaje M que recién copiamos

14. En la línea #11 aparece la palabra Código, aquí


simplemente vamos a agregar una coma después de la
palabra.

Figura 5. 89 – Agregar una coma a la línea 11

15. Para terminar con la manipulación de las líneas de


código del Lenguaje M, vamos a ir hasta la línea 16, allí
se encuentra en el segundo renglón, la lista que
nosotros hemos venido expandiendo manualmente. El
cambio que haremos es poner la palabra CODISO en
lugar de {"COP","ARS","BRL"}

www.excelfreeblog.com
El ADN de Power Query 277

Figura 5. 90 – Línea de Código número 16 sin cambiar

Figura 5. 91 – Línea de Código número 16 modificada

Figura 5. 92 – Código después de aplicar todos los cambios.

Para terminar, damos clic en el botón Listo, y podría parecer


que nos está arrojando un error por el mensaje que nos
muestra el panel de resultados, aunque no debemos
preocuparnos, simplemente damos clic en el botón Continuar.

www.excelfreeblog.com
278 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 93 – Mensaje de Advertencia en el Editor de Power Query

Luego aparece una ventana indicándonos un mensaje de


advertencia, aquí simplemente habilitamos la opción que
aparece señalada en la imagen y damos clic en Guardar

Figura 5. 94 – Niveles de Privacidad

www.excelfreeblog.com
El ADN de Power Query 279

Como resultado aparece nuestra tabla, con el valor de envió en


su propia columna

Figura 5. 95 – Columna Dividida Dinámicamente

Para concluir la limpieza de esta tabla, vamos a cambiar los


espacios en blanco y los dos puntos ( : ) que tienen algunos
datos de la columna por ningún carácter, apoyados en el
comando de Reemplazar Valores.

16. Damos clic derecho sobre la columna, elegimos la


opción Reemplazar Valores, en el cuadro de dialogo
configuramos el Valor que buscar como los dos
puntos ( : ) y en el valor por reemplazar no ponemos
nada. Para terminar, damos clic en Aceptar.

www.excelfreeblog.com
280 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

Figura 5. 96 – Reemplazar los dos puntos por nada

17. Para quitar los espacios, clic derecho sobre la


columna, Reemplazar los Valores y en el cuadro de
dialogo configuramos el Valor que buscar: con un
espacio y en Reemplazar con: no ponemos nada, por
último, clic en Aceptar.

Figura 5. 97 – Reemplazar un espacio por nada

18. Para concluir el ejercicio, cambiamos el nombre de la


columna Información de Pedido.2 por Valores y
asignamos el tipo de dato (Número Decimal)

www.excelfreeblog.com
El ADN de Power Query 281

Figura 5. 98 – Tabla Limpia y lista para ser analizada

Con la edición del código nos aseguramos de que, si llega a


aparecer un nuevo país con un código ISO, la consulta lo
reconocerá y aplicará la división correctamente.

Pausemos un Momento
Una variación de este mismo caso la hemos compartido en nuestro
canal de YouTube en el vídeo: Cómo convertir en un Crack de Excel.
En el cual se realiza la modificación del código M algo diferente,
además, la tabla se carga desde SharePoint:
Enlace:

www.excelfreeblog.com
282 Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración

El Siguiente Paso

Sin duda, un buen entendimiento de las operaciones asociadas


a las técnicas de primer grado, han sido plasmadas hasta aquí,
en consecuencia, la hora de tender la alfombra roja a aquellas
operaciones que involucran los modos de dinamización, es decir,
las técnicas de segunda grado para darle un giro de 180 grados
a los formatos de tablas, ha dado las 12.

Disfruta, disfruta los capítulos que se viene a continuación


porque son de las frutas más dulces que se ha probado en
mucho tiempo.

www.excelfreeblog.com
Capítulo 6

Capítulo 6: Materialización Alterna de Tablas con Modos


de Dinamización
286 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!

www.excelfreeblog.com
El ADN de Power Query 287

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.

www.excelfreeblog.com
288 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.

www.excelfreeblog.com
El ADN de Power Query 289

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.

www.excelfreeblog.com
290 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
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:

www.excelfreeblog.com
El ADN de Power Query 291

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.

www.excelfreeblog.com
292 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:

www.excelfreeblog.com
El ADN de Power Query 293

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.

www.excelfreeblog.com
294 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:

=
Table.UnpivotOtherColumns
( 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.

www.excelfreeblog.com
El ADN de Power Query 295

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)

www.excelfreeblog.com
296 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.

www.excelfreeblog.com
El ADN de Power Query 297

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 SemestreI.xlsx.

7. En el cuadro de dialogo Navegar seleccionamos el


elemento Ingresos Semestre I 2015 y clic en el botón
Editar.

www.excelfreeblog.com
298 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

www.excelfreeblog.com
El ADN de Power Query 299

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, ect. puede que no promueva la primera
fila como encabezado.

www.excelfreeblog.com
300 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

www.excelfreeblog.com
El ADN de Power Query 301

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:

www.excelfreeblog.com
302 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.

www.excelfreeblog.com
El ADN de Power Query 303

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

www.excelfreeblog.com
304 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?

www.excelfreeblog.com
El ADN de Power Query 305

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.

www.excelfreeblog.com
306 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.

www.excelfreeblog.com
El ADN de Power Query 307

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, EJ2.xlsx.

www.excelfreeblog.com
308 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

www.excelfreeblog.com
El ADN de Power Query 309

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, EJ2.xlsx y lo cargamos.

4. En el cuadro de diálogo Navegar seleccionamos el


elemento IPV y clic en el botón Editar

www.excelfreeblog.com
310 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.

www.excelfreeblog.com
El ADN de Power Query 311

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

www.excelfreeblog.com
312 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 -)

www.excelfreeblog.com
El ADN de Power Query 313

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

www.excelfreeblog.com
314 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.

www.excelfreeblog.com
El ADN de Power Query 315

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.

www.excelfreeblog.com
316 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í:

www.excelfreeblog.com
El ADN de Power Query 317

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

www.excelfreeblog.com
318 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

www.excelfreeblog.com
El ADN de Power Query 319

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

www.excelfreeblog.com
320 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, EJ3.xlsx.

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 3.xlsx

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:

www.excelfreeblog.com
El ADN de Power Query 321

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

www.excelfreeblog.com
322 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

www.excelfreeblog.com
El ADN de Power Query 323

¡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

www.excelfreeblog.com
324 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.

www.excelfreeblog.com
El ADN de Power Query 325

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.

www.excelfreeblog.com
326 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ámica.xlsx.

www.excelfreeblog.com
El ADN de Power Query 327

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ámica.xlsx
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.

www.excelfreeblog.com
328 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

www.excelfreeblog.com
El ADN de Power Query 329

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


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.

www.excelfreeblog.com
330 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.

www.excelfreeblog.com
El ADN de Power Query 331

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.

www.excelfreeblog.com
332 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.

www.excelfreeblog.com
El ADN de Power Query 333

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ámica.xlsx.

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

www.excelfreeblog.com
334 Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización

3. Buscamos en nuestro computador el archivo CAP6EJ4


– Columna Dinámica.xlsx 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.

www.excelfreeblog.com
El ADN de Power Query 335

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.

www.excelfreeblog.com
336 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

www.excelfreeblog.com
El ADN de Power Query 337

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.

www.excelfreeblog.com
338 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

www.excelfreeblog.com
El ADN de Power Query 339

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:

www.excelfreeblog.com
340 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.

www.excelfreeblog.com
El ADN de Power Query 343

Capítulo 7

Capítulo 7: Grados de Libertad y Pseudo Generalización


NxM

www.excelfreeblog.com
344 Capítulo 7 • Grados de Libertad y Pseudo Generalización NxM

Preámbulo
Power Query es de talante proclive a la sistematización, lo cual
lo dota de esa capacidad magnífica de economizar tiempo en
tareas monótonas, no en vano se abastece de su propio
lenguaje de funciones.

Si bien el Lenguaje M cuenta con un vasto conjunto de


funciones prestablecidas, también es cierto que es propenso a
la creación de funciones personalizadas a necesidad, situación
que sería deseable si tenemos que preparar tablas por
anulación de dinamización en altas cantidades, sin embargo,
para saborear sus dulces maravillas es imperativo tener en
«papel»:

▪ Cada paso bien establecido y


▪ Simplificados a sus factores mínimos.

Anular la dinamización de n encabezados de columnas con m


rótulos de filas será la misión del presente capítulo, esto nos
servirá de atajo y estructuración para cada vez necesitemos
abordar este tipo de tareas de preparación de datos, sumado a
ello, también se deja el algoritmo para crear una función M
personalizada más adelante en el libro.

Entremos en materia.

www.excelfreeblog.com
El ADN de Power Query 345

Grados de Libertad

Hemos visto cómo pasar una tabla a formato tabular que tiene
dos encabezados de columnas y dos rótulos de filas, a
continuación, vamos a realizar los pasos para el caso 3x3
donde saltará a la vista que el procedimiento es muy similar,
pero aquí vamos a seguir una ruta ligeramente diferente
debido a que queremos economizar en pasosos, es decir, tratar
de llevar acabo la preparación en la mínima expresión

Pero antes, hay que resaltar ciertas características de la


Ley 0
limpieza de datos inicial. Limpieza Inicial

Entendiendo Grados de Libertad


Para entender a que nos referimos con el termino: Grados de
Libertad, lo mejor será ir directamente a nuestro archivo de
trabajo.

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 6 puedes encontrar el archivo de Excel con nombre:
CAP7EJ1 – Escenario 3x3.xlsx.

Abrámoslo por un segundo desde su origen nativo, es decir,


Excel, así tenemos la oportunidad de ver algunos detalles

Para entender a que nos referimos con el termino grados de


libertad, lo mejor será ir directamente a nuestro archivo de
trabajo y entrever visualmente de que va todo esto.

www.excelfreeblog.com
346 Capítulo 7 • Grados de Libertad y Pseudo Generalización NxM

3 niveles de Rótulos 3 niveles de Encabezados


para Filas de Columnas

Fila en Blanco

Figura 7. 1 – Tabla con 3 Rótulos de Fila y 3 Niveles de Encabezados de Columna

En la figura se aprecia por un lado los 3 niveles de encabezados


de columnas y por otra parte también se observa los 3 niveles
de rótulos de fila, pero en este preciso instante nos debemos
fijar en la fila en blanco, que sería evidentemente tarea de la
limpieza de datos inicial.

La manera con grado de libertad bajo para remover la fila en


blanco de la figura vendría de la mano con el comando Quitar
filas alternas.

www.excelfreeblog.com
El ADN de Power Query 347

Pero antes, sigamos los pasos iniciales, ya que cargada en la


NOTA
interfaz puede variar ligeramente.
Queremos dejar claro que
nuestra acepción de grados
1. Abrimos un archivo nuevo de Power BI. de libertad dista a los
utilizadas en otras áreas del
conocimiento, tales como
2. Vamos al grupo Datos Externos y desplegamos las estadística, mecánica clásica
(física), ciencia de los
opciones comando Obtener datos, para allí seleccionar materiales entre otros, por
Excel. lo tanto, buscar una
analogía entre ellas no es
adecuado.
3. Navegamos en nuestro PC y seleccionamos el
cargamos el archivo CAP7EJ1 – Escenario 3x3.xlsx.

4. En el cuadro de dialogo Navegar seleccionamos el


elemento Ingresos y clic en el botón Editar

Figura 7. 2 – Fragmento de la Tabla 3x3 en la Interfaz de Power Query

Y así es, una vez en Power Query podemos notar que se ha


colado una fila en blanco al principio, además de la señalada en
la fila 8 también se evidencia una adicional en la fila 15.

www.excelfreeblog.com
348 Capítulo 7 • Grados de Libertad y Pseudo Generalización NxM

Perdida de Información y Flexibilidad

Una posibilidad para darle tratamiento a la primera fila en


blanco sería optar por el comando Quitar filas superiores, para
ello:

5. Encaminamos el cursor del ratón a la pestañá Inicio,


luego ubicamos el grupo Reducir filas y desplegamos las
opciones de Quitar Filas para de allí pulsar clic en el
comando Quitar filas superiores.

Figura 7. 3 – Cuadro de diálogo Quitar filas superiores

Quitar filas En el cuadro de diálogo podemos digitar el número 1 ya que


superiores como dijimos previamente la primera fila de la tabla está vacía,
aceptamos y todo listo.

— ¿Cuál es problema que vemos de este método?

Todo radica en que, si la tabla de origen es actualizada,


supongamos por ejemplo que se elimina la primera fila,
entonces en Power Query no existirá la necesidad d remover
dicha fila.

www.excelfreeblog.com
El ADN de Power Query 349

A pesar de lo anterior, el paso Filas superiores quitada en el panel


de Pasos Aplicados sigue existiendo, por lo tanto, removería la fila
que contiene el dato del año, esto quiere decir que tendríamos
perdida de información.

Si queremos agravar un poco más esta situación podemos


optar por el comando Quitar filas alternas para suprimir las filas Quitar filas
en blanco en mitad de tabla, he aquí los pasos alternas

6. Pestaña Insertar, grupo Reducir filas, opciones Quitar


filas y comando Quitar filas alternas. En el cuadro de
diálogo digitamos lo parámetros mostrados en la figura
siguiente para remover la fila número 13 (dicha fila esta
enteramente vacía)

Figura 7. 4 – Quitar fila alterna número 13

El paso anterior elimina sólo una fila, sin embargo, aún


tenemos más, de hecho, La misma lógica la podemos seguir
para remover la fila 21.

www.excelfreeblog.com
350 Capítulo 7 • Grados de Libertad y Pseudo Generalización NxM

7. Vamos al comando Quitar filas alternas directamente e


ingreamos los parametros en su cuadro de texto
correspondiente.

Figura 7. 5 – Quitar fila alterna número 21

Queda faltando por eliminar una fila en blanco adicional que se


localiza en la parte final de la tabla, al tener esta ubicación
podemos optar por un comando diferente, es decir, vamos a
dar paso al comando Quitar filas inferiores.

8. Vamos a la pestañá Inicio, luego ubicamos el grupo


Reducir filas y desplegamos las opciones de Quitar Filas
para de allí pulsar clic en el comando Quitar filas
inferiores.

www.excelfreeblog.com
El ADN de Power Query 351

Figura 7. 6 – Cuadro de diálogo quitar filas inferiores

Seguir los pasos anteriores es una práctica indeseada si


conocemos que puede manipular el origen de datos
insertando o eliminando filas, porque cualquiera de estas dos
modificaciones causar perdida de información, y per aún
pueden conservarse filas en blanco. Los grados de libertad son
mínimos.

A lo anterior es lo que nos referimos con grados de libertad:

Grado de Libertad
Cuán flexible es el paso creado (función seleccionada en el
lenguaje M) para adaptarse a las modificaciones / actualizaciones
del origen de datos y seguir cumpliendo su objetivo, dicho de
otro modo, que tan autómata es la línea M para el objetivo.

— ¿Cómo podemos hacer que los pasos para remover filas en blanco
sean más flexibles?

La respuesta es declaradamente sencilla, puesto que tenemos


un comando con dicho nombre.

www.excelfreeblog.com
352 Capítulo 7 • Grados de Libertad y Pseudo Generalización NxM

Antes de ir a la solución, primero hay que quitar todos esos


pasos que añadimos con los comandos: Quitar filas superiores,
alternas e inferiores.

Figura 7. 7 – Quitar pasos asociados a Filas

Ahora si

NOTA Solo basta con seguir el paso a continuación:

Enumeramos este paso


nuevamente como 5, 5. Vamos a la pestañá Inicio, luego ubicamos el grupo
porque a consecuencia de
eliminar todo lo que tiene Reducir filas y desplegamos las opciones de Quitar Filas
que ver quitar filas para de allí pulsar clic en el comando Quitar filas en
superiores, alternas e
inferiores, también blanco.
podemos decir que nos
regresamos al estado inicial
de la tabla quedando así en Y eso es todo, no sólo hemos ahorrado en pasos, sino que
el paso número 4.
también sabemos que cualquier supresión o agregación de filas
en el origen datos no afectara, puesto que dicho comando
eliminara si y solo si todas las “celdas” en la fila tiene la palabra
null, que corresponde a una fila en blanco.

www.excelfreeblog.com
El ADN de Power Query 353

Pseudo Generalización NOTA


Era necesario aclar y tener presente el concepto de grados de En la limpieza de datos
libertad en Power Query, porque si tenemos la parte inicial lo inicial, no podemos olvidar
quitar lo totales,
suficientemente flexible entonces podremos seguir con particularmente
desplegamos los filtros de la
nuestra siguiente fase, básicamente llegar a un algoritmo para columna 3 y deshabilitamos
anular la dinamización de n encabezados de columnas con m la opción TOTAL.

rótulos de filas.

3 encabezados y 3 Rótulos

Si nos permiten en símil taurino: antes de clavar la banderilla


en a la generalización NxM, vamos a proceder a realizar la
solución del caso particular 3 niveles de encabezados con 3
rotulo de filas, ya que de allí sacaremos las generalidades y
además ejecutaremos un orden de solución ligeramente
diferente al presentado en el capítulo anterior.

La tabla que trabajaremos aquí es la misma que hemos venido


utilizando, de hecho, con la limpieza inicial ya aplicada.

Figura 7. 8 – Fragmento de la tabla 3x3 con la limpieza inicial aplicada

www.excelfreeblog.com
354 Capítulo 7 • Grados de Libertad y Pseudo Generalización NxM

Aunque anteriormente resaltamos lo niveles de encabezados y


rótulos de filas, vamos a enmarcarlo otra vez desde la interfaz
de Power Query con la limpieza de datos inicial aplicada.

3 niveles de Encabezados de Columnas


3 niveles de Rótulos para Filas

Figura 7. 9 – Tabla 3 niveles de encabezados y 3 niveles de rótulos en Power Query

¡Manos a la obra!

11. Rellenar Abajo #1: El paso de apertura consiste en


seleccionar las dos primeras columnas y luego clic
derecho para ubicar la opción Rellenar y posicionar
encima de ella, para finalmente pulscar clic en Abajo.

Conclusión: Podemos notar que al ser 3 niveles de


rótulos de fila únicamente se seleccionan las 2 primeras
columnas, denotamos con la letra n al número de
rótulos de fila podemos inferir la generalización:

www.excelfreeblog.com
El ADN de Power Query 355

Rellanar abajo n-1 columnas

Luego de la ejecución de este paso nuestra tabla de lucir como


la imagen siguiente.

Rellenar abajo las dos primeras


columnas

Figura 7. 10 – Rellenar abajo las dos primeras columnas

2. Combina Columnas: En segunda instancia


procedemos a seleccionar las tres primeras columnas y
a continuación pulsamos clic derecho para en el menú
contextual que se despliega ubicar el comando
Combinar columnas y pulsar clic encima del mismo.

Conclusión: De aquí se concluye que …

www.excelfreeblog.com
356 Capítulo 7 • Grados de Libertad y Pseudo Generalización NxM

De los 3 niveles de rótulo de fila se seleccionan 3 columnas


asociados, siguiendo la notación de n derivamos la
generalización:

Combinar n columnas por delimitador

Conociendo la temática de delimitadores nos vamos por: |, con


ello la tabla después de este paso debe quedar:

Combinar tres primeras columnas


(Delimitador: |)

3. Transponer: Nuestro próximo paso cosnsite en


transponer la tabla para así poder trabajar los nievles de
encabezados de columnas

Conlusión: La conslución aquí es sencilla ya que solo


transponer.

www.excelfreeblog.com
El ADN de Power Query 357

Transponer

La tabla transpuesta tiene el siguiente aspecto.

Transponer

Figura 7. 11 – Fragmento de la tabla transpuesta

¡Riesgo: Advertencia!

Una consideración importante al trasponer la tabla es que nuestros


encabezados de niveles de columnas pasan ser parte ahora de
columnas diferentes.

4. Rellenar Abajo #2: Seguido seleccionamos las dos


primeras columnas y pulsamos clic derecho para
ejecutar Rellenar abajo.

Conclusión: Recordemos en primer lugar que aquí los


niveles de encabezados de columnas cambiaron …

www.excelfreeblog.com
358 Capítulo 7 • Grados de Libertad y Pseudo Generalización NxM

De posición por la transposición, por lo tanto, de estos 3 niveles


de encabezados de columnas se seleccionan 2 columnas para
ejecutar la operación de rellenar, si indicamos con la letra m el
número de niveles de encabezados de columnas podemos
concluir para la generalización

Rellenar m-1 columnas

Nuestra tabla se aprecia así:

Rellenar abajo las dos primeras


columnas

Figura 7. 12 – Fragmento de la tabla después de rellenar las dos primeras columnas por segunda vez

5. Promover encabezado: Este paso es simple, tan sólo


vamos al menú de contexto para pulsar clic en el
comando: Usar la primera fila como encabezado.

Vease la imagen enseguida para mayor claridad

www.excelfreeblog.com
El ADN de Power Query 359

Menú de Contexto

Figura 7. 13 – Menú de contexto para promover encabezado

La generalización es:

Utilizar primera fila como encabezado

Luego de la ejecución de este paso nuestra tabla de lucir como


la imagen siguiente.

Primera fila utilizada como encabezado

Figura 7. 14 – Tabla con Encabezado promovido

www.excelfreeblog.com
360 Capítulo 7 • Grados de Libertad y Pseudo Generalización NxM

6. Anular dinamización de otras columnas: En este


punto nos enfocamos en seleccionar las tres primeras
columnas para posteriormente pulscar clic derecho y en
el menu ejecutar el comadno Anular dinamización de
otras columnas.

Conlusión: Notese que que de tres niveles de


encabezados de columnas se selccionar las tres
promeras columnas, por consiguiente, deidcimos la
generalzación así:

A.D.O.C seleccionado M primeras columnas

A este kilómetro del viaje la tabla debe observarse tal cual la


imagen enseguida:

kv
Figura 7. 15 – Tabla con columnas con anulación de dinamización

www.excelfreeblog.com
El ADN de Power Query 361

7. Dividir la columna Atributo por delimitador: La


columna generada por la operación de anulación de
dinamización con nombre Atributo la seleccionamos y
dividimos por el delimitador asociado, en nuestro caso;
la pleca:(|).

La generalización es:

Dividir columna atributo por delimitador asociado

Así están las cosas:

Figura 7. 16 – Tabla después de dividir columnas

8. Renombrar columnas: El último paso consiste en


renombrar cada columna y brindarle algo más
descriptivo.

www.excelfreeblog.com
362 Capítulo 7 • Grados de Libertad y Pseudo Generalización NxM

Las m primeras están asociadas como se deduce a los niveles


de encabezados de columnas, mientras que la n subsiguientes
a m están asociados a los niveles de rótulos de filas, la
generalización es también sencilla y para dejarla documentada
con la enumeración y diseño vamos a enmarcarla:

Renombrar columnas

Un paso adicional consiste en verificar y asignar los tipos de


datos correspondientes.

Nuestra tabla final queda:

Figura 7. 17 – Tabla 3x3 Final después de renombrar y asignar formatos

www.excelfreeblog.com
El ADN de Power Query 363

Pseudo Generalización NxM

Ya tenemos todas las piezas del puzzle con lo cual ya podemos


unificarlas y extrapolar para ver el algoritmo de generalización
de anulación de dinamización de NxM.

¡Algoritmo!

1. Rellenar abajo n-1 columnas


2. Combinar la n primeras columnas
3. Transponer
4. Rellenar abajo m-1 primeras columnas
5. Promover encabezado
6. Anular dinamización de otras columnas con m seleccionadas
7. Dividir columna Atributo por delimitador asociado
8. Renombrar columnas

Pausemos un Momento
Decidimos llamarla pseudo generalización ya que si bien la
generalización para el caso NxM está hecha, la automatización del caso
no ha sido expuesta aún, pues bien, ya que para cualquier caso así sea
50x50 solo basta con seguir los pasos del algoritmo y llegáramos la
solución rápidamente, sin embargo, la ideal será alcanzar una
automatización superior.

www.excelfreeblog.com
364 Capítulo 7 • Grados de Libertad y Pseudo Generalización NxM

El Siguiente Paso
Así hemos tejido las redes que sostienen el esquema general
NxM, no obstante, es indudable que existen muchos otros
escenarios que se desprenden de aquí; bien sea porque
requiere de uno u otro paso adicional, o porque, para mayor
derroche de nuestra creatividad, requiere manipulaciones
superiores o más complejas.

En suma, la generalización NxM es un gran logro, a pesar de


ello, ¿Quién puede presumir de conocer todos los escenarios?

Lo que haremos en el siguiente capítulo es estudiar un par de


casos adicionales que involucran la operación de anulación de
dinamización y/o columna dinámica con un ligero giro de
tuerca.

Abróchate el cinturón que la aventura continua.

www.excelfreeblog.com
Capítulo 8

Capítulo 8: Transformaciones Superiores con Modos de


Dinamización
368 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

Prefacio

Alzaremos la mirada para ver casos que involucran los modos


de dinamización, pero con destellos que quiebran la línea entre
lo ya estudiado con la generalización NxM, esto lo que quiere
decir no es otra cosa que: otros pasos serán parte del proceso
o seguirán un curso diferente.

La verdad es que la cantidad de variaciones puede ir con total


comodidad más allá de infinito, ya que, como es natural todos
tenemos necesidades puntuales y al seguir el rumbo inevitable
del tiempo más y más escenarios irán brotando. Por lo anterior,
crear una lógica sólida con los modos de dinamización es la vía
óptima para en un futuro resolver casos concretos, no
estudiados y con parámetros 100% diferentes, con esto
queremos dar a entender: no depender de recetas “copie y
pegue” es la inversión menos riesgosa que podemos hacer para
ser unos gurús en Power Query.

Por lo anteriormente expuesto y otros factores vamos a dedicar


este capítulo a otros casos con los modos de dinamización,
pero con especial énfasis en el análisis y compresión de cada
paso. Si bien, para tener un título honorifico en la compresión
y manejo de estas dos operaciones se requiere de un buen
conocimiento del leguaje M, los que trataremos enseguida
requieran un manejo sutil del mismo, por lo tanto, al menos
“izaremos bandera” por demonio pleno y sincero en esta
temática.

www.excelfreeblog.com
El ADN de Power Query 369

Stacked Table: Tratamiento de Tablas


Apiladas

El formato de tabla apilada (en inglés: stacked table) como se


han empezado a conocer a este tipo de casos en la jerga de
Power Query es un escenario bastante particular:

Stacked Table o Tabla Apilada


Es un formato que congrega toda la información de un objeto
único de datos en pequeños grupos apilados uno debajo de otro
(verticalmente), “a modo de estibas guardas en un almacén”, a
estos grupos, son los que asociamos a un registro o tupla en una
base de datos.
Un registro es un conjunto de campos que contiene los datos
que pertenecen a una misma repetición de entidad, mejor dicho,
una fila en una base de datos (formato tabular).

Esquema visual:
Datos

Campos
Pila 1
Pila 2

Stacked Table
Pila 3

Figura 8. 1 – Esquema de Tabla Apilada (Stacked Table)

www.excelfreeblog.com
370 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

Nombre de campos coincidentes

Para atacar este escenario vamos a utilizar la siguiente tabla:

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 8 puedes encontrar el archivo de Excel con nombre:
CAP8EJ1 – Nuevos Gerentes.xlsx.

Démosle un vistazo en su origen:

Nombres de campos
congruentes: Quiere decir
que el nombre de todos
los campos en los grupos
(pilas) deben ser
idénticos, ejemplo:
Nombre y Nombre

Figura 8. 2 – Presentación de tabla apilada a transformar, parcial

www.excelfreeblog.com
El ADN de Power Query 371

Para este escenario nótese que lo nombres de los grupos de los Nombres de Campos
campos son idénticos, esto es algo que vamos a asumir en la Coincidentes

resolución de este escenario.

— Otro tema crucial:

Si bien es una tabla apilada, necesita de un tratamiento previo


antes de entrar en la resolución del formato, hemos machacado
tanto esto que vamos a hacer una ley, al estilo de Isaac Newton
o las leyes de la termodinámica.

Toda tabla debe pasar por el proceso de limpieza de datos inicial


(si es necesario) antes de entrar al proceso de resolución de su
Ley 0
formato. Limpieza Inicial

— Manos a la obra:

1. En esta ocasión abrimos un archivo de Power BI en


blanco.

2. Vamos a la pestaña Inicio, grupo Datos Externos y


desplegamos las opciones de Obtener datos y ubicamos
en el comando Excel para finalmente pulsar clic encima.

3. Navegamos en nuestro computador hasta encontrar el


archivo: CAP8EJ1 – Nuevos Gerentes.xlsx.

www.excelfreeblog.com
372 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

4. Inmediatamente emerge el cuadro de diálogo


Navegador, allí apreciaremos en su extremo un único
elemento, denominado Hoja1, lo seleccionamos y
presionamos clic en el botón Editar.

Observemos como luce en la interfaz la tabla apilada:

Figura 8. 3 – Tabla apilada cargada en la interfaz de Power Query

De allí detectamos los siguientes ítems de limpieza inicial:

▪ Encabezado no congruente
▪ Totales y subtotales
▪ Filas en blanco
▪ Columnas en blanco

Para eliminar la fila de: Nuevos Gerentes País, Información es


menester quitar dicha fila como encabezado, a pesar de ello, lo
apropiado será eliminar los dos últimos pasos en el área de
pasos aplicados.

www.excelfreeblog.com
El ADN de Power Query 373

5. Pulsamos clic derecho encima del paso Encabezados


promovidos, con lo cual se muestra un menú, allí
localizamos el coma Eliminar hasta el final para pulsar
clic encima del mismo.

Figura 8. 4 – Comando Eliminar hasta el final

Con lo anterior los pasos: Encabezados promovidos y Tipo


cambiados han sido suprimidos conjuntamente.

5. Desplegamos los filtros de la columna 1 (Column1) y NOTA


deshabilitamos los elementos:
Aquí deshabilitamos (nulo)
porque si observamos la
tabla vemos que se
a. (nulo)
corresponde con filas en
b. Nuevos Gerentes País blanco, no obstante, en cada
situación esto se tiene que
c. TOTAL analizar para no incurrir en
d. TOTAL ABSOLUTO perdida de información.

www.excelfreeblog.com
374 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

Figura 8. 5 – Elementos de Filtro a Deshabilitar

6. Para acabar con la limpieza inicial solo resta seleccionar


las dos últimas columnas (Column3 y Column4) para
luego pulsar clic derecho y oprimir el comando Quitar
columnas.

Figura 8. 6 – Quitar últimas dos columnas

www.excelfreeblog.com
El ADN de Power Query 375

Nuestra tabla queda:

Figura 8. 7 – Tabla apilada después de la limpieza inicial

Para estar claros:

Queremos llegar al siguiente destino:

kv
Figura 8. 99 – Formato de destino que se desea obtener

Si recordamos la mecánica de la columna dinámica y


analizamos nuestro formato, será evidente que es por allí el
camino, sin embargo: ¿Qué pasa si aplicamos la operación
inmediatamente?

www.excelfreeblog.com
376 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

Si dejamos como columna dinámica a Columna1 aparecen


errores. Esperamos que a este punto sea 100% claro el porqué,
no obstante, si aún no comprendes del todo el motivo, un
repaso al capítulo 6 en su sección Columna Dinámica será
prudente.

Vamos con el truco:

7. Agregamos una columna de índice, para ello vamos a la


NOTA
pestaña Agregar columna, grupo General y desplegamos
La columna índice fue
las opciones de Columna de índice, allí pulsamos clic en
objeto de estudio en la
primera sección del capítulo cualquiera de los dos comandos, aquí utilizaremos
5, sino recuerdas de que
trata o no lo has estudiado, desde 1.
te recomendamos que le des
un vistazo.
Es algo sencillo, pero de
bastante utilidad como en el
caso que está en actual
exposición

Figura 8. 8 – Agregar columna de índice

8. A continuación, seleccionamos la Column1 para luego


ir a la pestaña Transformar y en el grupo Cualquier
columna ubicar el comando Columna dinámica para
pulsar clic encima de él.

Nuestra tabla debe lucir con la figura 8.7, pero con una
columna adicional llamada índice que asigna los valores 1 a 18
fila a fila.

www.excelfreeblog.com
El ADN de Power Query 377

9. Enseguida se muestra el cuadro de diálogo Columna


dinámica. Allí en la lista desplegable Columna de valores
seleccionamos Column2. Luego, expandimos las Opciones
avanzadas para en la lista desplegable Función de valor
agregado escoger No agregar.

Figura 8. 9 – Cuadro de diálogo Columna dinámica

Con todo configurado en el cuadro de diálogo, procedemos a


pulsar clic en el botón Aceptar. Nuestra tabla debe lucir:

Figura 8. 100 – Fragmento de la tabla después de aplicar Columna dinámica

www.excelfreeblog.com
378 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

Analicemos porque el resultado mostrado: 1


1
Columna dinámica: Para las columnas no seleccionadas,
Columna de valor
Extrae elementos los elementos únicos deja la list de elementos únicos
y cada uno de ellos se convierte en para esa columna
encabezado de columna

La intersección 6, País no existe


en la tabla de inicio, por lo tanto,
retorna: null.

Para cada casilla en el área “naranja” (asumir que no existe ningún valor) mira la intersección
fila (área con borde rojo) – columna (área gris) y busca el valor correspondiente que cumpla
con los dos parámetros en la tabla de inicio en la columna de valor, dicho valor es el que retorna,
sino encuentra nada retorna null

Figura 8. 101 – Análisis de columna dinámica con columna índice

www.excelfreeblog.com
El ADN de Power Query 379

Pausemos un Momento
¿Puedes ver por qué la columna índice no importa si va desde 0 o
desde 1?
El motivo radica en que lo que realmente es importante es crear una
columna que sea parte de los datos que identifique de manera única
cada registro

Una vez entendido esto, vamos a:

10. Seleccionar desde la columna Apellido hasta la última


columna (Fecha ingreso), para conseguirlo basta con
seleccionar la primera columna y con la tecla Shift
sostenida seleccionamos la última. Seguidamente.
pulsamos clic derecho para mostrar las opciones de
Rellenar. Finalmente, clic en Arriba.

Figura 8. 11 – Vista parcial de la tabla después de rellenar arriba

www.excelfreeblog.com
380 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

11. Ahora, desplegamos las opciones de filtro de la


columna Nombre para deseleccionar el elemento
(nulo).

12. Eliminamos la columna índice y asignamos el tipo de


dato más conveniente a cada campo.

Y voila:

Figura 8. 12 – Tabla con formato tabular

Nombre de campos no coincidentes (Tabla de


conversión)

Un caso especial emerge cuando los nombres de los campos en


las distintas pilas no coinciden.

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 8 puedes encontrar el archivo de Excel con nombre:
CAP8EJ2 – Nuevos Gerentes.xlsx.

Abramos el archivo de Excel de origen para entender mejor aún


la situación que se presenta.

www.excelfreeblog.com
El ADN de Power Query 381

El título de los campos el cual corresponde


al nombre varía en cada “pila”, así:
Nombre, Nombre Gerente y Gerente
Nombre.

Adicionalmente a no coincidencia en los


títulos de los campos, no sólo ocurre en
el campo nombre, sino también, en
Horas de Trabajo/Mes, Horas Mensuales
y Trabajo en horas al mes.

Mientras que, y Fecha Ingreso, Fecha de


Inicio y Fecha de Ingreso también sufren
del mismo inconveniente.

Figura 8. 13 – Tabla apilada con nombres de campos en pilas no coincidentes

Si bien este escenario se puede resolver fácilmente


renombrando cada campo para que coincidan, dicho método
no es sostenible si tenemos por ejemplo 300 pilas.

Por lo anterior, vamos a utilizar una tabla auxiliar o tabla de


conversación para estandarizar todos esto nombres.

www.excelfreeblog.com
382 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

— Manos a la obra:

1. Cargamos en un Power BI nuevo el archivo CAP8EJ2 –


Nuevos Gerentes.xlsx.

2. Realizamos la limpieza de datos inicial (todos estos


pasos son exactamente iguales a los ejecutados en el
apartado previo)

Figura 8. 14 – Tabla apilada después de limpieza inicial

Antes de continuar con el procedimiento, debemos en primer


lugar crear la tabla de conversión.

www.excelfreeblog.com
El ADN de Power Query 383

La tabla de conversión no es otra cosa que indicar mediante registro


en una tabla cuál sería el nombre estándar que seguirá cada campo
en las distintas “pilas”, eso sí, si el nombre de un campo coincide
con el nombre estándar, entonces, no existe necesidad de
colocar dicho registro en la tabla de conversión

Nótese que el campo Horas de


Trabajo/Mes de la Pila 1 coincide de
manera idéntica con el nombre estándar
(objetivo), por lo tanto, no hay necesidad
Pila 1

de señalarlo en la tabla de conversión.


Pila 2
Pila 3

Figura 8. 15 – Tabla de Conversión

Crear una tabla de conversión puede consumir muchísimo


tiempo, no obstante, se diferencia de cambiar manualmente
cada nombre manualmente en las diversas pilas, en que no
existe necesidad de crear los registros que coinciden.

— ¿Dónde podemos crear la tabla de conversión en Power BI?

www.excelfreeblog.com
384 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

En el editor de Power Query nos dirigimos a la pestaña Inicio,


grupo Nueva consulta y pulsamos clic en el comando Especificar
datos.

Con loa anterior se despliega el cuadro de diálogo Crear tabla

Figura 8. 16 – Especificar datos para tablad de conversión

Allí creamos nuestra tabla de conversión:

Nombre de la
tabla: tConversion

Figura 8. 102 – Tabla de conversión creada

www.excelfreeblog.com
El ADN de Power Query 385

3. Seleccionamos la consulta Gerentes y de allí vamos a la


pestaña Inicio, grupo Combinar y desplegamos las
opciones Combinar consultas, en este pequeño menú
pulsamos clic en el comando: Combinar consultas, con
esto se despliega el siguiente cuadro de diálogo
Combinar:

Seleccionamos Column1
de la consulta Gerentes

Seleccionamos Original de
la consulta tConversion

Figura 8. 18 - Cuadro de diálogo Combinar

Se puede pensar en esta opción como un BUSCARV, donde


en la primera tabla (Gerentes) vamos a llevar los datos de la
tabla de búsqueda tConversión.

www.excelfreeblog.com
386 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

4. Pulsamos clic en el botón Aceptar.

Figura 8. 19 – Nueva columna con valores table

5. En la parte superior derecha del nombre de la columna


tConversion encontraremos el botón de expandir,
pulsamos clic encima y luego presionamos clic en el
botón Aceptar.

Deshabilitar

Figura 8. 20 – Botón expandir

www.excelfreeblog.com
El ADN de Power Query 387

Figura 8. 21 – Columna expandida

En nuestro paso enseguida vamos a crear una columna


condicional, con lo cual vamos a copiar el valor de la
Column1 si la casilla en la columna correspondiente a
Objetivo es null, de lo contrario mantenemos el valor de la
casilla Objetivo.

6. Vamos a la pestaña Agregar columna y en el grupo


General ubicamos el comando Columna condicional para
pulsar clic en el mismo. Configuramos el cuadro de
diálogo Agregar una columna condicional de la siguiente
manera.

www.excelfreeblog.com
388 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

Figura 8. 22 – Columna condicional

7. Eliminamos la columna Objetivo y la columna


denominada Column1.

Figura 8. 23 – Tabla Apilada Columnas Coincidentes

www.excelfreeblog.com
El ADN de Power Query 389

Los pasos siguientes consisten en aplicar las operaciones


de la tabla apilada después de la limpieza inicial, es decir,
del paso 7 en delante de nuestro apartado anterior
(Nombres de campos coincidentes), en suma:

9. Agregar columna de índice.

10. Aplicar Operación de Columna dinámica


a. Columna dinámica: Personalizada
b. Columna de valor: Column2
c. Función de Valor Agregado: No Agregar

11. Aplicar operación de Rellanar abajo (sin incluir


columna Nombre índice)

12. Deshabilitar los elementos nulos en la columna


Nombre

13. Quitar la columna Índice.

El resultado:

Figura 8. 24 – Tabla con formato Tabular (Vista Parcial)

www.excelfreeblog.com
390 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

Bulky Table: Posibles Manejos a


Tablas Abultadas

El formato de tabla abultada (en inglés: bulky table) como


denominamos a la recolección de datos en un formato mu
poco usual en Power Query es un escenario con sus propias
particularidades:

Bulky Table o Tabla Abultada


Es un formato que abulta bloques de información de un objeto
único de datos en pequeños grupos congregados uno al lado del
otro (horizontalmente), “a modo de costales de arroz en
almacenamiento”, a estos grupos, son los que asociamos a un
registro o tupla en una base de datos.
Una característica de este formato -poco usual- es que los
nombres de los campos se repiten a lo largo de una fila seguido
de un valor numérico para identificación única).

Esquema visual:

Campos Nombres de Campos


Principales Secundarias

Bulky Table

Datos Datos

www.excelfreeblog.com
El ADN de Power Query 391

Patrón Claro en los Nombres de Campos

Abramos el archivo de esta situación, para visualizar el objetivo


que se desea según su configuración inicial:

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 8 puedes encontrar el archivo de Excel con nombre:
CAP8EJ3 – BulkyTable.xlsx.

Bulky Table
Queremos llegar a:

Formato Tabular
Figura 8. 25 – Bulky Table a Formato Tabular

— Manos a la obra:

1. Abrimos un archivo de Power BI.

2. Vamos a la pestaña Inicio, grupo Datos Externos y


desplegamos las opciones de Obtener datos y ubicamos
en el comando Excel para finalmente pulsar clic encima.

www.excelfreeblog.com
392 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

4. Navegamos para ubicar la carpeta del compendio de


archivos, y en la SUBCARPETA capítulo 8 cargar el
archivo CAP8EJ3 – BulkyTable.xlsx.

5. En el cuadro de diálogo Navegador vamos a seleccionar


únicamente el elemento CantidadPatron para luego
pulsar clic en el botón Editar.

Figura 8. 26 – Vista parcial de la Bluky Table

6. Seleccionamos la columna ID del Producto para luego


aplicar el comando: Anulación de dinamización de Otras
Columnas.

Figura 8. 27 – Vista parcial de la Bulky Table con A.D.O.C

www.excelfreeblog.com
El ADN de Power Query 393

7. Agregamos una columna de índice a partir de uno. (Este


paso es vital puesto que permitirá asignar la función no
agregar más adelante)

Nuestro siguiente paso consiste en estandarizar los los


nombres. Cuando vemos un patrón claro como este caso,
donde se llaman: Cantidad 1, Cantidad 2, Cantidad 3, etc. Y,
Fecha 1, Fecha 2, Fecha 3, etc. Apoyarnos de las columnas con
ejemplos es una excelente opción

8. Seleccionamos la columna Atributo y luego vamos a la


pestaña Agregar Columna en donde ubicamos el
comando: Columna a partir de ejemplos. Allí ponemos
Cantidad en la primera casilla, con lo cual Power Query
detecta inteligentemente la solución

Figura 8. 28 – Columnas mediante ejemplos

7. Clic en el botón Aceptar.

www.excelfreeblog.com
394 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

Figura 8. 29 – Columnas mediante ejemplos Agregada

8. Removemos la columna Atributo.

9. Seleccionamos la columna: Texto antes del delimitador


para luego pulsar clic en el comando Columna Dinámica
y allí elegimos en la lista desplegable la columna Valor,
finalmente en Opciones avanzadas escogemos No
agregar y Aceptar.

Figura 8. 29 – Tabla después de Columna Dinámica

10. Seleccionamos la columna Cantidad para luego


pulsar clic derecho y ubicar las opciones de Rellenar
y presionar Abajo.

www.excelfreeblog.com
El ADN de Power Query 395

Figura 8. 30 – Tabla después de Rellenar Abajo

11. Desplegamos las opciones de filtro de la columna


Fecha y deshabilitamos (nulo).

12. Eliminamos la columna índice

Figura 8. 31 – Resultado final (Formato Tabular)

No Hay Patrón en los Nombres de Campos

En nuestro caso anterior teníamos un patrón clarísimo en los


nombres de los campos para su estandarizan, pero, qué pasa
si no existe una lógica clara en los nombres.

www.excelfreeblog.com
396 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 8 puedes encontrar el archivo de Excel con nombre:
CAP8EJ3 – BulkyTable.xlsx.

Observémoslo desde su origen:

Figura 8. 32 – Bulky Table con nombres no coincidentes

— Manos a la obra:

1. Abrimos un archivo de Power BI.

2. Vamos a la pestaña Inicio, grupo Datos Externos y


desplegamos las opciones de Obtener datos y ubicamos en el
comando Excel para finalmente pulsar clic encima.

3. Navegamos para ubicar la carpeta del compendio de


archivos, y en la subcarpeta capítulo 8 cargar el archivo
CAP8EJ3 – BulkyTable.xlsx.

4. En el cuadro de diálogo Navegador vamos a seleccionar


únicamente el elemento CantidadNoPatron para luego
pulsar clic en el botón Editar.

www.excelfreeblog.com
El ADN de Power Query 397

5. Seleccionamos la columna ID del Producto para luego


aplicar el comando: Anulación de dinamización de Otras
Columnas.

6. Agregamos una columna de índice desde 1 (aunque


realmente si se agrega desde 0 no afecta en nada)

Y aquí es donde radica nuestra diferencia

7. Agregamos una columna de personalizada con la


siguiente expresión M:

if Number.IsEven( [Índice] ) then

"Fecha"
else

"Cantidad" Código M

8. Removemos columna Atributo


9. Aplicamos columna dinámica
10. Rellenamos abajo columna Cantidad
11. Deshabilitamos los nulo en columna Fecha
12. Quitamos la columna índice

Resumimos estos pasos debido a que son idénticos al caso del


aparato anterior (Patrón claro en los nombres de campos). Lo
único que varía fue la estandarización de los nombres.

www.excelfreeblog.com
398 Capítulo 8 • Transformaciones Superiores con Modos de Dinamización

El Siguiente Paso
Con este capítulo damos por concluido la gran acción de
limpieza de datos, en la siguiente pare del libro nos
ocuparemos de la integración de datos, destinada manipular
múltiples tablas o consultas.

www.excelfreeblog.com
→ ←

Las operaciones de la gran acción de integración de datos: Anexar y combinar es el


objeto de estudio de esta parte.

Capítulo 9 • Anexar
Capítulo 10 • Combinar y Tipos de Joins
Capítulo 1

Capítulo 9: Anexar
404 Capítulo 9 • Anexar

Introducción
¿Qué es la Integración de Datos?

En la naturaleza podemos encontrar muchos ejemplos de


integración, por ejemplo, existen diversas moléculas en el
universo que son esenciales para la vida (02 , 𝐻2 𝑂) todas ellas
están compuestas por átomos de diferentes elementos que
encontramos en la tabla periódica y que están unidos por
enlaces químicos.

Algo similar ocurre en la etapa de integración de datos, aquí


utilizamos distintas tablas de datos (átomos) para conseguir
una Tabla Consolidada/Tabla Maestra (Moléculas) aunque
debemos utilizar una serie de operaciones (Enlaces Químicos)
para unir las tablitas más pequeñas y conseguir la tabla que
contiene toda la información que más tarde vamos a analizar.

En términos más simples, la integración de datos consiste en


fusionar varias tablas que tienen información de interés o
incluso extraer una columna de una tabla y añadirla a otra, todo

Integración de depende del escenario en el que nos estamos enfrentando,


Datos para consolidarlas en una gran tabla maestra que contendrá
todos los datos.

En la Integración en Power Query contamos con dos “enlaces


químicos” u operaciones que podemos utilizar para crear una
Tabla Maestra, te hablamos de:

www.excelfreeblog.com
El ADN de Power Query 405

▪ Anexar
▪ Combinar

Ambas operaciones son bastante potentes y nos pueden


ayudar a optimizar nuestros procesos de consolidación de
datos que son bastante frecuentes.

En este capítulo nos ocuparemos de la operación de Anexar,


así que empecemos con el estudio del primer tipo de “Enlace
Químico”.

¿Qué es Anexar?

Este proceso consiste en unir, fusionar o consolidar un


conjunto de “tablas”, una debajo de otra manteniendo un
orden establecido, es decir que al final conformaremos una
Anexar
tabla maestra con todos los datos centralizados.

A pesar de mencionar en la definición que anexamos tablas,


debemos siempre tener presente que Power Query trabaja con
consultas, es decir que anexa consultas creadas.

En pocas palabras, Anexar crea una Tabla Maestra pegando


tablas una debajo de otra, pero veamos nuestro querido
esquema para no dejar lugar a dudas y ser lo más precisos con
la misión que tiene la operación de Anexar.

www.excelfreeblog.com
406 Capítulo 9 • Anexar

Técnicas de Integración
Inicio

Fecha Ciudad Cantidad Tx Detalle Fecha Ciudad Cantidad Tx Detalle Fecha Ciudad Cantidad Tx Detalle
31/12/2014 Buenos Aires 13 Producto 1 31/12/2014 Brasilia 22 Producto 1 31/12/2014 Bogotá 26 Producto 1
31/12/2014 Buenos Aires 14 Producto 2 31/12/2014 Brasilia 23 Producto 2 31/12/2014 Bogotá 17 Producto 2
31/12/2014 Buenos Aires 15 Producto 3 31/12/2014 Brasilia 25 Producto 3 31/12/2014 Bogotá 10 Producto 3
31/12/2014 Buenos Aires 16 Producto 4 31/12/2014 Brasilia 27 Producto 4 31/12/2014 Bogotá 15 Producto 4
31/12/2014 Buenos Aires 17 Producto 5 31/12/2014 Brasilia 28 Producto 5 31/12/2014 Bogotá 29 Producto 5

Tabla 1 Tabla 2 Tabla 3

Proceso / Mecánica
Fecha Ciudad Cantidad Tx Detalle Final
1 • Definir las
31/12/2014 Buenos Aires 13 Producto 1 consultas a Anexar Fecha Ciudad Cantidad Tx Detalle
31/12/2014 Buenos Aires 14 Producto 2
31/12/2014 Buenos Aires 13 Producto 1
31/12/2014 Buenos Aires 15 Producto 3
31/12/2014 Buenos Aires 14 Producto 2
31/12/2014 Buenos Aires 16 Producto 4
31/12/2014 Buenos Aires 15 Producto 3
31/12/2014 Buenos Aires 17 Producto 5 Une la Tabla 1 con la Tabla
2 , agregándola debajo 31/12/2014 Buenos Aires 16 Producto 4

s 31/12/2014 Buenos Aires 17 Producto 5


Fecha Ciudad Cantidad Tx Detalle 31/12/2014 Brasilia 22 Producto 1
• Establecer 31/12/2014 Brasilia 22 Producto 1
2 el orden del
31/12/2014 Brasilia 23 Producto 2
31/12/2014 Brasilia 23 Producto 2
las “Tablas” 31/12/2014 Brasilia 25 Producto 3
31/12/2014 Brasilia 25 Producto 3
a Anexar 31/12/2014 Brasilia 27 Producto 4
31/12/2014 Brasilia 27 Producto 4
31/12/2014 Brasilia 28 Producto 5
31/12/2014 Brasilia 28 Producto 5
31/12/2014 Bogotá 26 Producto 1
s 31/12/2014 Bogotá 17 Producto 2
Une la Tabla 1 y 2 con la Fecha Ciudad Cantidad Tx Detalle
Tabla 3 , agregándola 31/12/2014 Bogotá 10 Producto 3
31/12/2014 Bogotá 26 Producto 1
debajo 31/12/2014 Bogotá 15 Producto 4
31/12/2014 Bogotá 17 Producto 2
31/12/2014 Bogotá 29 Producto 5
3 • El Editor de 31/12/2014 Bogotá 10 Producto 3
Consultas fusiona 31/12/2014 Bogotá 15 Producto 4
las “Tablas” 31/12/2014 Bogotá 29 Producto 5

• El método ilustrado corresponde a tablas coincidentes


• Desde el 2016 podemos anexar n tablas en el orden deseado
con la interfaz de manera amigable.

www.excelfreeblog.com
El ADN de Power Query 407

Para aplicar la operación de Anexar de la mejor manera posible


debemos tener en cuenta el tipo de tablas que vamos a unir,
por lo que es válido mencionar que existen dos especímenes:
Tablas Coincidentes y Tablas No Coincidentes

Las Tablas Coincidentes son Aquellas que describen las mismas Tablas
entidades semánticas y sus elementos, aparte de los nombres Coincidentes

de las columnas coinciden de manera idéntica.

Fechas Ciudad Tx Detalle Fechas Ciudad Tx Detalle


31/12/2014 Buenos Aires Producto 3 31/12/2014 Brasilia Producto 2
31/12/2014 Buenos Aires Producto 2 31/12/2014 Brasilia Producto 1
31/12/2014 Buenos Aires Producto 1 31/12/2014 Brasilia Producto 0
31/12/2014 Buenos Aires Producto 0 31/12/2014 Brasilia Producto 1
31/12/2014 Buenos Aires Producto 1 31/12/2014 Brasilia Producto 2

Fechas Ciudad Tx Detalle


31/12/2014 Buenos Aires Producto 3
31/12/2014 Buenos Aires Producto 2
31/12/2014 Buenos Aires Producto 1
31/12/2014 Buenos Aires Producto 0
31/12/2014 Buenos Aires Producto 1
31/12/2014 Brasilia Producto 2
31/12/2014 Brasilia Producto 1
31/12/2014 Brasilia Producto 0
31/12/2014 Brasilia Producto 1
31/12/2014 Brasilia Producto 2

Figura 9. 1 – Esquema Tablas Coincidentes

www.excelfreeblog.com
408 Capítulo 9 • Anexar

Tablas NO Las Tablas No Coincidentes son aquellas que describen las


Coincidentes mismas entidades semánticas y sus elementos, sin embargo,
los nombres de las columnas no coinciden. Además, contamos
con dos variaciones:

▪ Sincronía de Orden de Columnas: Todos los campos en


las diversas tablas comparten el mismo orden a pesar
de que los nombres de las columnas son diferentes.
▪ Asincronía de Orden de Columnas: Una o algunas de las
columnas en las diversas tablas no comparten el mismo
orden.

Fechas Ciudad Tx Detalle Fechas City Tx Detalle


31/12/2014 Buenos Aires Producto 3 31/12/2014 Brasilia Producto 2
31/12/2014 Buenos Aires Producto 2 31/12/2014 Brasilia Producto 1
31/12/2014 Buenos Aires Producto 1 31/12/2014 Brasilia Producto 0
31/12/2014 Buenos Aires Producto 0 31/12/2014 Brasilia Producto 1
31/12/2014 Buenos Aires Producto 1 31/12/2014 Brasilia Producto 2

Fechas Ciudad Tx Detalle


31/12/2014 Buenos Aires Producto 3
31/12/2014 Buenos Aires Producto 2
31/12/2014 Buenos Aires Producto 1
31/12/2014 Buenos Aires Producto 0
31/12/2014 Buenos Aires Producto 1
31/12/2014 Producto 2
31/12/2014 Producto 1
31/12/2014 Producto 0
31/12/2014 Producto 1
31/12/2014 Producto 2

Figura 9. 2 – Esquema Tablas NO Coincidentes

www.excelfreeblog.com
El ADN de Power Query 409

¡Toma Nota!
En el presente capitulo vamos a trabajar con Tablas Coincidentes, pero
es fundamental que tengas en cuenta que, si cuentas con Tablas No
Coincidentes y aplicas la operación de Anexar, se pueden presentar
problemas en la consulta, aunque todo se puede arreglar manipulando
los pasos.

Ahora que estamos conectados con la operación de Anexar y


su objetivo, es momento de empezar a trabajar en distintos
escenarios en los que Anexar viene al rescate.

Anexar Consultas
Anexar dos o Más Consultas

En Power Query existe la posibilidad de “Pegar” una tabla


debajo de otra y así mismo ir añadiendo gradualmente más
datos al consolidado. En el presente escenario analizaremos la
operación de Anexar en su forma más básica pero igualmente
potente.

¡Let’s Play!

ARCHIVOS DE TRABAJO: En el compendio de archivos y carpeta


Capítulo 9 puedes encontrar una subcarpeta (Anexar dos o más
Consultas) con tres archivos de Excel:
▪ CAP5EJ1 - Inventario_2013
▪ CAP5EJ1 - Inventario_2014
▪ CAP5EJ1 - Inventario_2015
En consecuencia, vamos a abrir el correspondiente al año 2015
para echar un vistazo

www.excelfreeblog.com
410 Capítulo 9 • Anexar

Figura 9. 3 – CAP5EJ1 - Inventario_2015

El archivo contiene los datos del inventario de los diferentes


productos almacenados para el año 2015 en los distintos
meses de ese año. Como puedes ver tenemos que ajustar la
fecha porque no tiene ningún formato asignado.

Los archivos del año 2014 y 2013 tienen la misma estructura


así que vamos a utilizar la operación de Anexar para crear una
tabla con todos los datos consolidados. Así que empecemos a
construir nuestra solución.

www.excelfreeblog.com
El ADN de Power Query 411

1. Lo primero que vamos a hacer es abrir un nuevo


archivo de Power BI, una vez allí, nos dirigimos a la
pestaña Inicio, grupo Datos Externos, comando
Obtener Datos y elegimos Excel como el origen al cual
vamos a conectarnos.

2. En la ventana que aparece, buscamos el destino


dentro de nuestro computador donde se encuentra el
archivo para el inventario del año 2015, lo
seleccionamos y presionamos el botón Abrir.

3. En la ventana Navegador, elegimos la tabla


estructurada con nombre Inventario_2015 y damos
clic en Cargar.

Figura 9. 4 – Inventario_2015 en la ventana Navegador

www.excelfreeblog.com
412 Capítulo 9 • Anexar

Con esta acción, ya se ha cargado la tabla de inventario del año


2015 en Power BI, aunque debemos tener presente que la
fecha todavía no tiene el tipo de dato apropiado, así que vamos
a repararlo más adelante. Ahora vamos a repetir el mismo
proceso para cargar las tablas del año 2014 y 2013.

4. Nuevamente, vamos a la pestaña Inicio, grupo Datos


Externos, comando Obtener Datos y establecemos
Excel como el origen al cual nos vamos a conectar.

5. En la ventana, elegimos el archivo correspondiente al


año 2014 y damos clic en Abrir.

6. Automáticamente aparece la ventana Navegador, aquí


elegimos la tabla estructurada Inventario_2014 y
damos clic en Cargar.

Figura 9. 5 – Inventario_2014 en la ventana Navegador

www.excelfreeblog.com
El ADN de Power Query 413

7. De nuevo, volvemos a la pestaña Inicio, grupo Datos


Externos, Obtener Datos y elegimos Excel como
origen de conexión.

8. En la ventana, escogemos el archivo del inventario


para el año 2013 y damos clic en el botón Abrir.

9. En el navegador habilitamos la tabla Inventario_2013


y damos clic en Cargar.

Figura 9. 6 – Inventario_2013 en la ventana Navegador

Al cargar las tablas en Power BI aparecen en el panel de


campos, pero aun nos falta crear la tabla de consolidados:

www.excelfreeblog.com
414 Capítulo 9 • Anexar

10. Después, desplegamos El Editor de Consultas de


Power Query, en consecuencia, vamos a la pestaña
Inicio, grupo Datos Externos y damos clic en el botón
Editar Consultas.

Figura 9. 7 – Botón Editar Consultas

Automáticamente aparece el editor de Power Query con las


consultas creadas para trabajar con ellas.

Figura 9. 8 – Botón Editar Consultas

Ahora ha llegado el momento de la verdad, conoceremos la


operación de Anexar en Power Query, así que manos a la obra.

www.excelfreeblog.com
El ADN de Power Query 415

11. Primero, elegimos la consulta que contiene la tabla que


ira en la parte superior del consolidado, para este caso
Inventario_2015, como se muestra en la figura
anterior.

12. Luego, pestaña Inicio, botón Combinar (que se


encuentra en todo el extremo derecho), en la lista de
opciones que aparece elegimos Anexar Consultas, y
seleccionamos la alternativa Anexar consultas para
crear una Nueva.

Figura 9. 9 – Botón Combinar

Como consecuencia, aparece el cuadro de dialogo Anexar. En


primera instancia nos permite “pegar” únicamente dos tablas,
configurando los campos:

▪ Tabla Principal: Esta será la tabla a la cual se le añadirá


una segunda tabla debajo.

www.excelfreeblog.com
416 Capítulo 9 • Anexar

▪ Tabla para Anexar a la Tabla Principal: Aquí definimos la


tabla que será pegada debajo de la tabla principal.

Figura 9. 10 – Ventana Anexar

Como contamos con tres tablas, vamos a habilitar la opción


Tres o más Tablas, por ende, cambia el cuadro de dialogo Anexar.

Figura 9. 11 – Ventana Anexar: Tres o Más Tablas

www.excelfreeblog.com
El ADN de Power Query 417

Aquí puede añadir las tablas que desees para conformar la


tabla maestra en el orden que lo requieras, así que esto es lo
que haremos.

13. Como ya tenemos el inventario del año 2015 en la


sección Tablas para Anexar, solo resta añadir las demás.
Por esta razón, vamos a la sección: Tablas Disponibles,
damos clic sobre Inventario_2014 para elegirla y luego
presionamos el botón Agregar que se encuentra en
todo el centro del cuadro de dialogo.

Figura 9. 12 – Añadir Inventario 2014 a Tablas para Anexar

Si damos clic en Aceptar en este momento, se creará un


consolidado únicamente con esas dos tablas, así que vamos a
repetir el procedimiento para incorporar el inventario del 2013.

www.excelfreeblog.com
418 Capítulo 9 • Anexar

14. Nos dirigimos a la sección Tablas Disponibles,


elegimos Inventario_2013, luego damos clic sobre el
botón Agregar, y con ello la tabla es añadida a Tablas
para Anexar.

Figura 9. 13 – Añadir Inventario 2013 a Tablas para Anexar

Pausemos un Momento

Es válido subrayar que, si elegimos alguna tabla añadida en Tablas


para Anexar, los botones de la parte derecha se habilitan, la función
que tienen es alterar el orden del consolidado moviendo tablas hacia
arriba o hacia abajo o incluso nos permiten quitar una tabla agregada.

www.excelfreeblog.com
El ADN de Power Query 419

Subir Tabla

Quitar Tabla

Bajar Tabla

Figura 9. 14 – Botones que permiten alterar el consolidado

Puesto que el orden de las tablas es el apropiado solo resta dar


clic sobre el botón Aceptar, como resultado se crea una nueva
consulta con el nombre Append 1, que incluye todas las tablas.

Figura 9. 15 – Consulta Append 1

www.excelfreeblog.com
420 Capítulo 9 • Anexar

Por defecto, la tabla consolidada aparece con el nombre


Append 1, que significa Anexar. Aunque todavía nos falta hacer
un par de cambios; si te fijas en la columna fecha aparece con
un tipo de dato que no es apropiado, así que lo vamos a
modificar.

15. Elegimos la columna fecha, damos clic en el icono Tipo


de dato que aparece en la etiqueta y después lo
definimos como Fecha.

Figura 9. 16 – Cambiar Tipo de Dato

Pausemos un Momento

También se puede cambiar el tipo de dato en cada una de las consultas


previamente: Inventario_2015, Inventario_2014 e Inventario_2013, pero
este no es el camino optimo porque lo tendríamos que hacer en tres
ocasiones diferentes, por esta razón, esperamos hasta Anexar las tablas
para modificarlo.

www.excelfreeblog.com
El ADN de Power Query 421

16. Por último, cambiamos el nombre de la consulta


reemplazando Append 1 por Inventario, en
consecuencia, nos desplazamos al Panel de
Configuración de la Consulta, sección Propiedades,
campo Nombre y aquí lo reescribimos.

Figura 9. 17 – Cambiar Nombre

Si nosotros damos clic en Cerrar y Aplicar, aparecerán las


cuatro tablas en la vista de informe de Power BI, aunque solo
queremos que se muestre el consolidado, por esta razón,
vamos a ocultar las demás.

17. Seleccionamos la consulta Inventario_2015 en el


Panel de Consultas, luego damos clic derecho sobre
su nombre, y en la lista de opciones que aparecen
damos clic en Habilitar Carga para desactivar dicha
opción. En la advertencia que aparece damos clic en
Continuar.

Como resultado, la fuente que hace referencia a la consulta se


pondrá en cursiva, indicándonos que ya no aparecerá en la
Vista de Informe de Power BI.

www.excelfreeblog.com
422 Capítulo 9 • Anexar

Figura 9. 18 – Deshabilitar Consulta de la vista de informe

Figura 9. 19 – Consulta deshabilitada en la Vista de Informe

Luego, repetimos este paso para las consultas Inventario_2014


e Inventario 2013, con lo cual deben quedar en cursiva como
se muestra en la siguiente figura.

www.excelfreeblog.com
El ADN de Power Query 423

Figura 9. 20 – Consultas deshabilitadas en la Vista de Informe

Para terminar, damos clic en el comando Cerrar y Aplicar y


como resultado, ya tenemos la tabla Inventario cargada en el
panel de campos de la Vista de Informe de Power BI lista para
ser analizada.

Figura 9. 21 – Tabla Inventario en el Panel de Campos de Power BI

Pausemos un Momento
La opción Anexar Consultas no es muy recomendable de utilizar
porque no crea una consulta nueva para consolidar las tablas, sino que
añade a una consulta existente las demás tablas y esto puede llegar a
confundirnos así que nuestro consejo: siempre utilizar Anexar
Consultas para Crear una Nueva. Y ocultar de la vista de informe las
que no serán empleadas.

www.excelfreeblog.com
424 Capítulo 9 • Anexar

No olvides cerrar y guardar el archivo de Power BI que recién


hemos creado.

Anexar Varias Hojas de un Archivo de Excel

Ya sabemos cómo consolidar tablas que se encuentran en


distintos archivos utilizando el comando de Anexar. De aquí en
adelante analizaremos un escenario bastante común y es unir
múltiples hojas de un archivo de Excel para crear una tabla
maestra, así que ¡empecemos a construir nuestra solución!

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 9 puedes encontrar el archivo de Excel con nombre:
CAP9EJ2 - Población.xlsx. vamos a abrirlo para darle un vistazo

Al Abrir nuestro archivo en cuestión, podrás notar que se


compone de tres hojas, cada una de ellas contiene la población
de distintos municipios de Colombia y lo que queremos
conseguir: es crear una gran tabla maestra que los contenga a
todos.

Aunque debemos tener cierto cuidado porque las etiquetas de


las dos primeras hojas es el mismo, pero, la última hoja tiene un
cambio en la etiqueta, en lugar de decir Total como en las
demás, dice Población Total, lo que nos indica que son Tablas
No Coincidentes Con Sincronía de Orden de Columnas así que
vamos a reparar este problema manualmente.

www.excelfreeblog.com
El ADN de Power Query 425

Figura 9. 22 – Hoja 1 del Archivo

Figura 9. 23 – Hoja 2 del Archivo

Figura 9. 24 – Hoja 3 del Archivo

www.excelfreeblog.com
426 Capítulo 9 • Anexar

1. Inicialmente, abrimos un nuevo archivo de Power BI,


posteriormente, vamos a la pestaña Inicio, grupo
Datos Externos, botón Obtener Datos y elegimos
origen de conexión: Excel.

2. En la ventana que aparece, buscamos el destino del


archivo dentro de nuestro ordenador, lo
seleccionamos y damos clic en Abrir.

3. Automáticamente aparece la ventana Navegador, allí


habilitamos las tres hojas del archivo y damos clic en
Editar.

Figura 9. 25 – Ventana Navegador

www.excelfreeblog.com
El ADN de Power Query 427

Como resultado, aparecen las tres tablas cargadas en El Editor


de Consultas de Power Query.

Figura 9. 26 – Tablas cargadas en El Editor de Power Query

4. Posteriormente, vamos a anexar las tres tablas. En ese


caso, elegimos la consulta con nombre Hoja 1 que
será la tabla que quedará en la parte superior, después
nos desplazamos a la pestaña Inicio, botón Combinar,
Anexar Consultas y escogemos la opción Anexar
Consultas para Crear una Nueva

Figura 9. 27 – Anexar consultas para crear una nueva

5. Como consecuencia, aparece el cuadro de dialogo


Anexar, aquí definimos la opción Tres o Mas Tablas y
añadimos las hojas restantes manteniendo el orden.
Por esta razón elegimos la Hoja 2 que esta en

www.excelfreeblog.com
428 Capítulo 9 • Anexar

Tablas Disponibles y damos clic Agregar. Repetimos el


procedimiento para la Hoja 3.

Figura 9. 28 – Anexar Tres o más Tablas

Para terminar, vamos a dar clic en Aceptar y como resultado se


crea una nueva consulta llamada Append 1

Figura 9. 29 – Nueva Consulta: Append1

Si fijas tú atención en la consulta resultante, tiene un problema


en la última columna, ya que muestra valores faltantes.

www.excelfreeblog.com
El ADN de Power Query 429

Esta situación se presenta porque la Hoja 3 tiene una columna


con nombre distinto (Población Total), a diferencia de la Hojas
1 y 2 que para el mismo campo se llama Total. Power Query al
no encontrar la coincidencia no quita datos, sino que agrega
una nueva columna con ese nombre (Población Total) y en las
filas que no tiene datos agrega la palabra null; por eso, si bajas
en la consulta encontraras los datos correspondientes a la hoja
3 para Población Total y en la columna Total ahora aparecerá
null.

Figura 9. 30 – Columna Total y Población Total

6. Para resolver este dilema, nos dirigirnos a la consulta


con nombre Hoja 3, y allí reescribimos el nombre
Población Total cambiándolo por Total, que es la
misma denominación que tiene el campo en las otras
consultas.

www.excelfreeblog.com
430 Capítulo 9 • Anexar

Figura 9. 31 – Cambiar Nombre de Columna en la Consulta Hoja


3
Al regresar a la consulta Append1 encontraremos que el
problema ya se ha solucionado, por lo que la unión de las tres
consultas ahora si se ha conseguido con éxito.

Figura 9. 32 – Columna Total en la consulta Append1

Podríamos pensar que ya hemos terminado con la tabla,


aunque aquí tenemos una situación en los campos Población
Cabecera, Población resto y Total, al ver los números que
componen cada columna encontraremos que tienen un
espacio que divide las cifras, aunque dicho espacio no es el
normal que nosotros agregamos con la barra espaciadora y por
eso las columnas se muestran como texto.

www.excelfreeblog.com
El ADN de Power Query 431

Figura 9. 33 – Espacio de NO Separación

7. Para reparar este problema, vamos a definir el tipo de


dato de las tres columnas en cuestión como texto, así
pues, manteniendo Ctrl presionado las elegimos,
luego vamos a la pestaña Inicio, grupo Transformar y
en Tipo de Datos seleccionamos la opción Texto

Figura 9. 34 – Seleccionar y Cambiar Tipo de Dato a las Columnas

8. Manteniendo las tres columnas seleccionadas, vamos


a dar clic derecho sobre la etiqueta de alguna de ellas,
en la lista de opciones que aparece vamos a
seleccionar Reemplazar los Valores …

9. En el cuadro de dialogo Reemplazar los Valores vamos


a Opciones Avanzadas, luego, habilitamos
Reemplazar con Caracteres Especiales y
automáticamente se hablita el botón Insertar

www.excelfreeblog.com
432 Capítulo 9 • Anexar

Carácter Especial, damos clic sobre él y en las alternativas


que aparecen escogemos: Espacio de No Separación.

Figura 9. 35 – Insertar Carácter Especial

Y con ello se agrega dicho carácter a la sección Valor que


buscar, en Reemplazar Con no vamos a poner nada porque
queremos quitarlo, por último, damos clic en Aceptar.

Figura 9. 36 – Reemplazar Carácter Especial por Nada

www.excelfreeblog.com
El ADN de Power Query 433

Como resultado, nuestra tabla ya no tiene esos molestos


espacios.

Figura 9. 37 – Columnas Sin Espacios

10. Adicionalmente, seleccionamos las columnas


Población Cabecera, Población Resto y Total,
manteniendo Ctrl presionado y dando clic sobre ellas,
nos dirigimos a la pestaña Inicio, grupo Transformar
Tipo de dato y lo cambiamos por Número Entero.

Figura 9. 38 – Cambiar Tipo de Dato de Columnas

www.excelfreeblog.com
434 Capítulo 9 • Anexar

11. Para terminar, cambiamos el nombre de la consulta


Append1 por Población, en ese caso, vamos al panel
de configuración de la consulta, propiedades y en
Nombre lo reescribimos.

Figura 9. 39 – Cambiar Nombre de la Consulta

Ahora solo queda resta, dar clic en Cerrar y Aplicar, con lo cual,
ya tenemos la tabla lista para ser utilizada en Power BI. No
olvides guardar el archivo de Power BI y ocultar las demás
consultas.

Anexar desde una Carpeta

El comando Anexar en Power Query como ya lo has visto, es


bastante potente, aunque existe una manera de optimizar este
proceso si la cantidad de archivos que deseamos unir es
bastante grande.

Además, para agregar más tablas a un consolidado debemos


hacerlo manualmente, por esta razón, vamos a analizar la
opción de Anexar Desde una Carpeta, así que empecemos por
el primer escenario y conozcamos un método que sin duda
alguna nos ayudara a ahorrar mucho tiempo.

www.excelfreeblog.com
El ADN de Power Query 435

Anexar desde una Carpeta –Archivos únicos en la


Carpeta

La opción de Anexar desde una carpeta, como su nombre lo


señala, nos permite conectarnos a una carpeta dentro de
nuestro ordenador para luego Anexar todos los archivos que
tiene dentro y así crear una tabla maestra con tan solo un par
de clics.
¡Let’s Play!

ARCHIVOS DE TRABAJO: En el compendio de archivos y carpeta


Capítulo 9 puedes encontrar una subcarpeta (Anexar desde una
Carpeta) con 17 archivos de Excel, los cuales hacen referencia al
Inventario de Productos de una compañía en distintos años
En consecuencia, vamos a ir a la carpeta en cuestión para
observar su contenido

Figura 9. 40 – Contenido de Anexar desde una Carpeta

www.excelfreeblog.com
436 Capítulo 9 • Anexar

Aquí es válido resaltar dos cosas: en la carpeta no existe ningún


otro archivo que no corresponda con el inventario de la
compañía y si abrimos cualquiera de los archivos, podremos
darnos cuenta de que tienen el mismo formato.

Figura 9. 41 – Inventario año 1999

Figura 9. 42 – Inventario año 2015

www.excelfreeblog.com
El ADN de Power Query 437

Con todo esto en mente, vamos a iniciar con la operación de


Anexar desde una carpeta.

1. Abrimos un nuevo archivo de Power BI, después


vamos a la pestaña Inicio, grupo Datos Externos,
Obtener Datos y seleccionamos la opción Más …

Figura 9. 43 – Opción Más …

2. Automáticamente aparece la ventana Obtener Datos,


aquí buscamos el origen Carpeta y damos clic en el
botón Conectar.

www.excelfreeblog.com
438 Capítulo 9 • Anexar

Figura 9. 44 – Ventana Obtener Datos opción Carpeta

3. Después, aparece el cuadro de dialogo Carpeta, aquí


debemos especificar la dirección dentro de nuestro
ordenador donde se encuentra la carpeta con los
archivos que deseamos consolidar, por esta razón,
vamos a dar clic sobre el botón Examinar, para definir
la ruta.

www.excelfreeblog.com
El ADN de Power Query 439

Figura 9. 45 – Cuadro de Dialogo Carpeta

4. En la ventana que aparece, buscamos la ubicación de


la carpeta y luego damos clic en Aceptar

Figura 9. 46 – Ruta de la subcarpeta

A causa de esta acción, aparece en el cuadro de dialogo la ruta


dentro de nuestro computador donde se encuentra la carpeta
con los archivos que vamos a Anexar. A continuación, damos
clic en Aceptar

www.excelfreeblog.com
440 Capítulo 9 • Anexar

Figura 9. 47 – Ruta de la carpeta establecida en el Cuadro de Dialogo

5. Por consiguiente, surge una ventana con los


metadatos que contiene la carpeta, aquí vamos a dar
clic en el botón Combinar y en las opciones que
aparece escogemos: Combinar y Editar.

Figura 9. 48 – Combinar y Editar

www.excelfreeblog.com
El ADN de Power Query 441

6. Luego de dar clic en Combinar y Editar aparece la


ventana Combinar Archivos, aquí definimos el Archivo de
Ejemplo (Power Query lo asigno por defecto) y
posteriormente elegimos el contenido dentro del
archivo de Ejemplo que será empleado para Anexar, en
este caso la Hoja 1 por que en los demás archivos se
encuentra alojada la misma hoja 1 con los datos
guardados. Para concluir este paso damos clic en
Aceptar.

Figura 9. 49 – Combinar Archivos

www.excelfreeblog.com
442 Capítulo 9 • Anexar

Pausemos un Momento

Si eliges la tabla estructurada y no la hoja 1, saldrá mal la unión de los


datos, porque el nombre de las demás tablas estructuradas en cada
archivo cambia y necesitamos que Power Query reconozca los mismos
objetos para Anexar el contenido de cada uno de ellos.

Como resultado, Power Query crea un montón de consultas


intermedias que no debemos eliminar y también ha
consolidado el contenido de todos los archivos en una sola
tabla.

Figura 9. 50 – Tabla Consolidada

Al seleccionar el botón de filtros de la columna Source_Name


se muestra la lista de archivos que componen la tabla, si no te
aparecen todos, puedes dar clic en Cargar Más para que los
enseñe.

www.excelfreeblog.com
El ADN de Power Query 443

Figura 9. 51 – Filtros en la Columna Source_Name

Figura 9. 52 – Cargar Más

www.excelfreeblog.com
444 Capítulo 9 • Anexar

Al verificar que el contenido de todos los archivos si esta en el


consolidado, es momento de hacer algunos ajustes en la
consulta.

7. Posteriormente quitaremos la columna Source Name,


dando clic derecho sobre ella y escogiendo la opción
Quitar.

8. Además, vamos a cambiar el tipo de dato de la


columna Fecha que esta como Número Entero, en ese
caso, damos clic sobre el icono Tipo de Dato y
elegimos la opción Fecha.

Figura 9. 53 – Cargar Más

www.excelfreeblog.com
El ADN de Power Query 445

9. Más Tarde, vamos a renombrar la consulta, que asigna


el mismo nombre de la carpeta a la cual nos estamos
conectando por Inventario. Nos dirigimos al panel de
configuración de la consulta, Propiedades, sección
Nombre y reescribimos la denominación.

Figura 9. 54 – Renombrar Consulta

Para terminar con este escenario, damos clic en Cerrar y Aplicar


y guardamos el archivo de Power BI.

Anexar desde Carpeta – con Archivos Extra

En el escenario anterior, analizamos como importar y


consolidar múltiples archivos de una carpeta que contenía
únicamente las tablas que íbamos a fusionar, ¿pero que pasa si
ahora contamos en la carpeta con más archivos extra que no
forman parte del consolidado?

- Pues bien, en esta sección del libro estudiaremos esa


posibilidad y como debemos afrontar esta situación.

www.excelfreeblog.com
446 Capítulo 9 • Anexar

¡Let’s Play!

ARCHIVOS DE TRABAJO: En el compendio de archivos y carpeta


Capítulo 9 puedes encontrar una subcarpeta (Anexar desde una
Carpeta – Con Archivos Extra) con 45 elementos de toda clase.
En consecuencia, vamos a ir a la carpeta en cuestión para
observar su contenido

Figura 9. 55 – Carpeta: Anexar desde Carpeta – Con Archivos Extra

En este escenario lo que deseamos hacer es crear una tabla


maestra con toda la información que se encuentra en los
archivos CSV, relacionadas a la producción de la compañía
desde el año 1999 hasta el 2015 sin tener en cuenta los demás;
quiere decir que de alguna manera debemos ignorar los otros
archivos que componen la carpeta.

También es importante señalar que todos los archivos


relacionados a la producción tienen el mismo formato
exceptuando el del año 2015.

www.excelfreeblog.com
El ADN de Power Query 447

Figura 9. 56 – Producción_1999

Figura 9. 57 – Producción_2011

Figura 9. 58 – Producción_2015

Con la estructura mental del contenido de los archivos es


momento de ponernos los “guantes de cirugía” y resolver esta
situación.

www.excelfreeblog.com
448 Capítulo 9 • Anexar

1. Inicialmente, abrimos un nuevo archivo de Power BI ,


después nos desplazamos a la pestaña Inicio, grupo Datos
Externos, botón Obtener Datos y escogemos la opción
Mas…

2. En la ventana Obtener Datos, buscamos y elegimos la


opción Carpeta y damos clic en Conectar.

3. En el cuadro de dialogo Carpeta, damos clic en Examinar


para especificar la ruta donde se encuentra la carpeta con
los archivos a consolidar

4. En la ventana Buscar Carpeta, señalamos la ruta dentro de


nuestro ordenador donde se encuentra: Anexar desde una
carpeta – con Archivos Extra y damos clic en Aceptar.

Figura 9. 59 – Buscar Carpeta

Como resultado, la ruta ya aparece en el cuadro de dialogo,


ahora, solo queda dar clic en Aceptar.

www.excelfreeblog.com
El ADN de Power Query 449

Figura 9. 60 – Cuadro de Dialogo Carpeta, con la ruta definida

5. Posteriormente, aparece una ventana con los


archivos y metadatos que contiene la carpeta, aquí
vamos a dar clic en el botón Editar.

Figura 9. 61 – Ventana con Metadatos y Archivos

www.excelfreeblog.com
450 Capítulo 9 • Anexar

Como resultado, aparece el editor de consultas de Power Query


con una consulta que tiene los metadatos de los archivos en la
carpeta.

Figura 9. 62 – Consulta con metadatos de la carpeta

A partir de este momento, empezaremos a manipular la


consulta para Anexar el contenido de los archivos
correspondientes a la producción.

6. Para quitar los archivos que no están implicados,


vamos a ir a la columna Extension, damos clic en el
botón de filtros y allí deshabilitamos todas las
extensiones que no sean CSV, para terminar, damos
clic en el botón Aceptar

Figura 9. 63 – Columna Extension y Botón de Filtros

www.excelfreeblog.com
El ADN de Power Query 451

Figura 9. 64 – Filtrar extensiones que no sean .CSV

Con esta acción, hemos dejado solamente los archivos


correspondientes a la producción en nuestra consulta.

Figura 9. 65 – Consulta únicamente con los archivos CSV relacionados a la producción

www.excelfreeblog.com
452 Capítulo 9 • Anexar

7. Como podrás recordar, el archivo de producción de


2015 tiene una estructura diferente, por esta razón, lo
vamos a excluir para más tarde añadirlo, en ese caso
nos dirigimos a la columna Name, damos clic en el
botón de filtros y deshabilitamos Producción_2015,
para concluir, damos clic en Aceptar.

Figura 9. 66 – Filtrar Producción_2015

Como consecuencia, se ha quitado de la consulta el archivo


correspondiente al Año 2015.

www.excelfreeblog.com
El ADN de Power Query 453

Figura 9. 67 – Consulta sin el archivo Producción 2015

Ahora que la consulta contiene únicamente los archivos con el


mismo formato, vamos a quitar unas columnas para luego
crear el consolidado.

8. Elegimos la columna Content, damos clic derecho


sobre ella, y en las opciones que aparecen;
escogemos Quitar otras Columnas. Como
consecuencia, se eliminan los otros campos.

Figura 9. 68 – Columna Content

www.excelfreeblog.com
454 Capítulo 9 • Anexar

9. Asegurándonos que la consulta solo tiene la columna


Content, vamos a ir la etiqueta y presionamos el botón
Combinar Archivos que se encuentra en la parte
derecha.
Botón Combinar Archivos

Figura 9. 69 – Botón Combinar Archivos

10. Luego, aparece la ventana Combinar Archivos


definiendo el Archivo de ejemplo, mostrando la
estructura de todos los archivos y como está
separado. Aquí simplemente damos clic en Aceptar.

Figura 9. 70 – Ventana Combinar Archivos

www.excelfreeblog.com
El ADN de Power Query 455

Acto seguido y como si fuera por arte de magia aparece una


tabla consolidada con los datos de la producción desde el año
1999 a 2014. Además, se han creado una serie de consultas
como pasos intermedios para unir los archivos, así que no
debes eliminarlas.

Consultas como Pasos Intermedios

Consulta con la Tabla Consolidada

Figura 9. 71 – Tabla Consolidada

11. En este instante, vamos a ir al panel de configuración


de la consulta, Propiedades, sección Nombre y lo
cambiamos por: Producción1999_2014

Figura 9. 72 – Cambiar Nombre a la Consulta

www.excelfreeblog.com
456 Capítulo 9 • Anexar

Como todavía nos hace falta agregar a la tabla


Produccion1999_2014 los datos del año 2015, vamos a crear
una nueva consulta para conectarnos a ese archivo.

12. Sin salir del Editor de Consultas de Power Query, nos


dirigimos a la pestaña Inicio, grupo Nueva Consulta,
botón Nuevo Origen y escogemos la opción: Texto o
CSV.

Figura 9. 73 – Nuevo Origen: Texto o CSV

www.excelfreeblog.com
El ADN de Power Query 457

13. En la ventana Abrir, definimos la ruta dentro de


nuestro pc para el Archivo Producción_2015, y por
último damos clic en Abrir.

Figura 9. 74 – Ruta del Archivo Producción_2015

14. En ese instante, aparece una ventana con una vista


previa del contenido del archivo, aquí simplemente
damos clic en el botón Aceptar.

Figura 9. 75 – Vista Previa del Archivo Producción_2015

www.excelfreeblog.com
458 Capítulo 9 • Anexar

A causa de esto, se ha creado una nueva consulta con los datos


del archivo Producción 2015, aunque todavía nos falta cambiar
su estructura.

Figura 9. 76 – Consulta Producción 2015

15. En la figura anterior, puedes ver que la tabla esta


transpuesta así que vamos a realizar ese cambio.
Manteniendo seleccionada la primera columna, vamos
a la Pestaña Transformar, grupo Tabla y damos clic
sobre el comando Transponer.

Figura 9. 77 – Transponer

Con ello, se ha cambiado la orientación de la tabla


Producción_2015.

www.excelfreeblog.com
El ADN de Power Query 459

Figura 9. 78 – Tabla Transpuesta

16. Por otro lado, hace falta definir las etiquetas de la


tabla, así que nuevamente nos movemos a la pestaña
Transformar, grupo Tabla y damos clic en el botón
Usar Primera Fila como Encabezado.

Figura 9. 79 – Usar Primera Fila como Encabezado

Al promover los encabezados, Power Query ha agregado un


paso para asignar el tipo de dato de las columnas, así que ya
tenemos lista la tabla Producción_2015.

www.excelfreeblog.com
460 Capítulo 9 • Anexar

Para terminar la construcción de nuestro consolidado de


Producción, vamos a Anexar a Produccion1999_2014 la
consulta Producción_2015.

17. En ese orden de ideas, seleccionamos la consulta


Produccion1999_2014, en ese instante, nos
desplazamos a la pestaña Inicio, botón Combinar,
Anexar Consultas y escogemos la opción Anexar
Consultas para crear una nueva.

18. En el cuadro de dialogo Anexar, mantenemos la


opción Dos Tablas y lo configuramos de la siguiente
manera:

▪ Tabla Principal: Produccion1999_2014


▪ Tabla para Anexar a la Tabla Principal:
Producción_2015

Para terminar, damos clic en Aceptar.

Figura 9. 80 – Cuadro de Dialogo: Anexar

www.excelfreeblog.com
El ADN de Power Query 461

Con ello, se crea una nueva consulta denominada Append1,


que contiene todos los datos de la producción desde el Año
1999 hasta el 2015.

Figura 9. 81 – Consulta Append1

19. Para concluir, vamos al Panel de Configuración de la


Consulta, Propiedades, y en la sección Nombre
cambiamos Append1 por Producción.

Figura 9. 82 – Cambiar nombre a la Consulta

Luego, ocultamos las consultas Produccion1999_2014 y


Producción_2015, dando clic derecho sobre cada una de ellas
y desactivando la opción Habilitar Carga. Después damos clic
en Cerrar y Aplicar y con ello aparece la tabla lista para ser
utilizada en la Vista de Informe de Power BI. No olvides guardar

www.excelfreeblog.com
462 Capítulo 9 • Anexar

Tú archivsas de Power BI.

Pausemos un Momento

Si, por ejemplo, llegará un nuevo archivo: Producción_2016 con una


estructura idéntica a los demás y lo arrastramos a la carpeta a la cual
nos hemos conectado, solo tendríamos que dar clic en el botón
Actualizar Todo, que se encuentra en el grupo Datos Externos para
que añada estos nuevos datos a la consulta Produccion1999_2014, así
que ese es un factor bien interesante para Anexar datos desde una
carpeta.

El Siguiente Paso
En el siguiente capítulo seguiremos explorando una operación
más de integración de datos, en este caso combinar.

www.excelfreeblog.com
Capítulo 10

Capítulo 10: Combinar y Tipos de Joins


466 Capítulo 10 • Combinar y Tipos de Joins

Preámbulo
En el capítulo anterior, enfocamos nuestros esfuerzos en
conocer la primera operación diseñada específicamente para
integrar datos y aprendimos que con Anexar podemos fusionar
tablas, una debajo de otra para conseguir una gran Tabla
Maestra, aunque, esa es solo la punta del iceberg, porque en la
presente sección hablaremos de la segunda operación para
consolidar datos: Combinar.

¿Qué es Combinar?

Es el segundo “tipo de enlace” con el que contamos en Power


Query y su nombre nos da una pequeña pista de lo que hace;
Combinar nos ayuda a consolidar una Tabla existente,

Combinar agregando una nueva columna o columnas que pertenecen a


otra Tabla de manera consistente. Para utilizar este comando
debemos estar seguros de que hay una columna común entre
ambas.

Dependiendo del tipo de columna, puede que se creen


agregaciones o simplemente adiciona el registro que
corresponde a los valores de esa fila.

Si lo quieres ver de otro modo, Combinar nos permite:


relacionar o entretejer dos tablas que tienen una columna en
común, aunque, para aclarar aún mas este concepto veamos
nuestro querido esquema, para no dejar lugar a dudas.

www.excelfreeblog.com
El ADN de Power Query 467

Técnicas de Integración
Inicio
Fecha Ciudad Cantidad Código Producto Código Producto Nombre Producto Marca Producto
31/12/2014 Buenos Aires 13 P01 P01 Iphone 8 Apple
31/12/2014 Buenos Aires 14 P02 P02 Iphone X Apple
31/12/2014 Buenos Aires 16 P04 P03 Galaxy S8 Samsung
31/12/2014 Buenos Aires 17 P05 P04 Galaxy S9 Samgung
31/12/2014 Brasilia 25 P03 P05 Huawei P10 Huawei
31/12/2014 Brasilia 27 P04
31/12/2014 Brasilia 28 P05
Tabla 2
31/12/2014 Bogotá 26 P01
31/12/2014 Bogotá 17 P02
31/12/2014 Bogotá 10 P03 Tabla 1

Proceso / Mecánica
Fecha Ciudad Cantidad Código Producto Código Producto Nombre Producto Marca Producto
31/12/2014 Buenos Aires 13 P01 P01 Iphone 8 Apple

31/12/2014 Buenos Aires 14 P02 P02 Iphone X Apple

31/12/2014 Buenos Aires 16 P04 P03 Galaxy S8 Samsung

31/12/2014 Buenos Aires 17 P05 P04 Galaxy S9 Samgung

31/12/2014 Brasilia 25 P03 P05 Huawei P10 Huawei

31/12/2014 Brasilia 27 P04 Columna Común Columna a Agregar


31/12/2014 Brasilia 28 P05
1 • Identificar y Definir la Columna común en
31/12/2014 Bogotá 26 P01 ambas tablas
31/12/2014 Bogotá 17 P02
• El Editor de consultas , trae consistentemente
2
31/12/2014 Bogotá 10 P03 el valor que coincide con dicha fila, creando una
nueva columna

Final
Fecha Ciudad Cantidad Código Producto Nombre Producto
31/12/2014 Buenos Aires 13 P01 Iphone 8
31/12/2014 Buenos Aires 14 P02 Iphone X
31/12/2014 Buenos Aires 16 P04 Galaxy S9
31/12/2014 Buenos Aires 17 P05 Huawei P10 Para utilizar la
31/12/2014 Brasilia 25 P03 Galaxy S8 Operación de Combinar,
31/12/2014 Brasilia 27 P04 Galaxy S9 tiene que existir una
31/12/2014 Brasilia 28 P05 Huawei P10 columna común entre
31/12/2014 Bogotá 26 P01 Iphone 8
ambas tablas
31/12/2014 Bogotá 17 P02 Iphone X
31/12/2014 Bogotá 10 P03 Galaxy S8

www.excelfreeblog.com
468 Capítulo 10 • Combinar y Tipos de Joins

Después de ver el esquema y entender la naturaleza de


Combinar, trabajaremos distintos escenarios para entender la
variedad de aplicaciones en que dicha operación puede ser
nuestra mejor aliada.

Combinar Dos Tablas

A continuación, implementaremos la operación de Combinar


en su forma más elemental; quiere decir que traeremos
columnas de una tabla para añadirlas a otra y así consolidar la
información que mas tarde puede ser analizada.

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 10 puedes encontrar el archivo de Excel con nombre:
CAP10EJ1 - Productos.xlsx. vamos a abrirlo para darle un vistazo

Al abrir el archivo encontraremos dos tablas, una contiene el


nombre y código de distintos productos, mientras que la otra
cuenta con la información de la producción en distintos años
de la compañía. Lo que deseamos lograr es añadir a la tabla de
Producción el nombre de cada producto de acuerdo con el
código que cada fila tiene para así mantener una consistencia
en los datos.

Otro aspecto para resaltar es que la tabla Nombre de Productos


esta compuesta por valores únicos (un solo código para un
único producto) mientras que en Producción si se repiten los
códigos.

www.excelfreeblog.com
El ADN de Power Query 469

Columna Coincidente con Valores Únicos

Figura 10. 1 – Tabla: Nombre Producto

Columna Coincidente con Valores Repetidos


Figura 10. 2 – Tabla: Producción

www.excelfreeblog.com
470 Capítulo 10 • Combinar y Tipos de Joins

En gestores de bases de datos e incluso en Power BI y Power


Pivot para Excel, podemos crear relaciones que nos permiten
comunicar varias tablas entre sí, para mostrar cálculos con
distintos campos que las componen, de allí se desprenden los
Tipos de Relaciones. En este caso en particular, podríamos crear
una Relación de Uno a Muchos (1:*) porque la tabla Nombre de
Productos tiene la columna coincidente ( SKU ) con valores
únicos mientras que en la tabla Producción la columna
coincidente (SKU) cuenta con valores repetidos.

¡Referencia Cruzada!
Si quieres aprender sobre la creación de relaciones tienes que moverte
al territorio del lenguaje DAX que corresponde a la segunda etapa de
proceso de inteligencia de negocios, todo esto es tema de otro libro
de la Colección ADN:
El ADN de Power Pivot
ISBN: 978-958-46-8542-7

Aunque no vayamos a relacionarlas, es importante tener en


cuenta como se componen las columnas que son comunes a
ambas tablas porque de esto depende el resultado de la
operación Combinar, así que echa esta salvedad y conociendo
la estructura de los datos, empecemos a solucionar este
escenario.

1. Primero, abrimos un nuevo archivo de Power BI,


después nos desplazamos a la pestaña Inicio, grupo
Datos Externos, clic en el botón Obtener Datos y
seleccionamos Excel, como origen al cual vamos a
conectarnos.

www.excelfreeblog.com
El ADN de Power Query 471

2. En la ventana Abrir, buscamos dentro de nuestro


ordenador la ruta de la carpeta Capitulo 10 y elegimos
el archivo Cap10EJ1- Productos, para terminar, damos
clic en Abrir.

3. Automáticamente aparece la ventana Navegador,


aquí habilitamos las dos tablas que contiene el
archivo y damos clic en Editar para empezar a trabajar
con Power Query.

Figura 10. 3 – Ventana Navegador

www.excelfreeblog.com
472 Capítulo 10 • Combinar y Tipos de Joins

Como resultado, aparecen las tablas cargadas en el Editor de


Consultas de Power Query con el tipo de dato asignado.

Figura 10. 4 – Tabla Producción

Figura 10. 5 – Tabla Nombre Productos

Una vez cargadas y con el formato tabular definido, es


momento de combinarlas, para ello, agregaremos la columna
Producto(s) que contiene el nombre de acuerdo con el código
a la tabla Producción, utilizando la operación de Combinar.

www.excelfreeblog.com
El ADN de Power Query 473

4. En ese caso, elegimos la Tabla Producción1 (nombre


asignado por Power Query), posteriormente, nos
desplazamos a la pestaña Inicio, botón Combinar,
opción Combinar Consultas y elegimos la opción
Combinar Consultas para Crear una Nueva.

Figura 10. 6 – Combinar Consultas

Como resultado, aparece la ventana Combinar, mostrando en


la parte superior nuestra tabla de Producción así que vamos a
terminar de definir lo que hace falta.

Si observas dicha ventana existen dos áreas para configurar la


operación de combinar:

▪ En la parte superior definimos la tabla a la cual se le van


a agregar las columnas.

▪ En la sección inferior se encuentra el espacio donde


establecemos la tabla de la cual serán tomadas las
columnas para añadirlas a la otra y así crear el
consolidado.

www.excelfreeblog.com
474 Capítulo 10 • Combinar y Tipos de Joins

Tabla a la cual se le agregan las nuevas columnas

Tabla que contiene las columnas que serán añadidas a


la tabla que se encuentra en la parte superior

Figura 10. 7 – Combinar Consultas

5. En el área de selección de la parte inferior, vamos a


desplegar las opciones para buscar y elegir la tabla
Nombre de Productos y con ello añadirla a la ventana
Combinar.

Figura 10. 8 – Seleccionar Tabla Nombre Productos

www.excelfreeblog.com
El ADN de Power Query 475

Figura 10. 9 – Cuadro Combinar

6. Con las tablas agregadas en la ventana Combinar,


solo falta elegir las columnas coincidentes, en ese
caso, nos desplazamos a la Sección Superior y en el
área donde aparece la tabla, damos clic sobre la
columna SKU de la tabla Producción, después, nos
desplazamos a la Sección Inferior y damos clic sobre
la columna SKU de la tabla NombreProductos y con
ello quedan resaltadas las columnas coincidentes.

www.excelfreeblog.com
476 Capítulo 10 • Combinar y Tipos de Joins

Figura 10. 10 – Señalar Columnas Coincidentes

Posterior a la configuración de la operación de Combinar,


damos clic en el botón Aceptar y con ello se crea una nueva
consulta denominada Merge1 que contendrá el consolidado de
datos.

Pausemos un Momento

Si hubiéramos elegido la opción Combinar Consultas, no se habría


creado una consulta nueva, por el contrario, se hubieran añadido las
columnas a una consulta existente, aunque debemos tener cuidado con
esta opción porque podemos llegar a confundirnos.

www.excelfreeblog.com
El ADN de Power Query 477

Figura 10. 11 – Consulta Merge1

Si prestas atención a esta nueva consulta denominada


Merge1, notaras que tiene las columnas de la tabla
Producción1 y al final aparece una columna con el nombre de
la otra consulta, pero todavía no aparecen las columnas de la
otra tabla, así que vamos a añadirlas.

7. Para agregar las columnas de la tabla


NombreProducto, nos vamos hasta el final de la
consulta, allí aparece la columna con el nombre de
dicha consulta y en su contenido aparece la palabra
Table, allí vamos a dar clic sobre el botón Expandir, que
acompaña la etiqueta y tiene dos flechas apuntando
en direcciones distintas.

Figura 10. 12 – Botón Expandir

Como consecuencia, se despliegan una serie de opciones que


nos permiten configurar las columnas a añadir.

www.excelfreeblog.com
478 Capítulo 10 • Combinar y Tipos de Joins

Figura 10. 13 – Opciones para Añadir Columnas: Expandir

Aquí se encuentran dos opciones para añadir columnas:


Expandir y Agregar, la primera opción que es la establecida por
defecto nos permite añadir columnas como si fuera la función
BUSCARV de Excel, mientras que Agregar nos permite resumir
y agrupar los datos con operaciones de acuerdo con el
contenido de las columnas de dicha tabla.

Figura 10. 14 – Opciones para Añadir Columnas: Agregar

En este escenario, mantenemos la opción Expandir, luego,


dejamos señaladas las columnas a añadir: únicamente

www.excelfreeblog.com
El ADN de Power Query 479

La columna Producto(s) y deshabilitamos la casilla que dice:


Usar el nombre de la Columna original como Prefijo:

Figura 10. 15 – Configurar Expandir

Para concluir damos clic en Aceptar.

Figura 10. 16 – Consulta Con la nueva columna Añadida

Como resultado, se ha añadido la columna con el nombre de


los distintos productos de acuerdo con los códigos que
aparecen en la columna SKU. Para terminar, cambiamos el
nombre de la consulta Merge1 por ConsolidadoProducción y
ocultamos las otras dos consultas de la vista de informe.

www.excelfreeblog.com
480 Capítulo 10 • Combinar y Tipos de Joins

Figura 10. 17 – Nuevo Nombre de la Consulta

Figura 10. 18 – Consultas Ocultas de la Vista de Informe

Para finalizar damos clic en Cerrar y Aplicar y con ello aparece


la tabla consolidada lista para ser analizada en Power BI. No
olvides guardar tú archivo.

Combinar Dos Tablas: Relación Muchos a


Muchos

En el escenario anterior, utilizamos la operación de Combinar


para crear un consolidado y traer una columna que estaba en
otra tabla de acuerdo con el código SKU que era común a
ambas, teniendo en cuenta que en una tabla la columna
coincidente tenia los valores repetidos mientras que en la otra
solo había valores únicos. En el presente escenario
analizaremos como implementar la operación cuando en
ambas columnas coincidentes los valores se repiten, así que
empecemos con el ¡combate!

www.excelfreeblog.com
El ADN de Power Query 481

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 10 puedes encontrar el archivo de Excel con nombre:
CAP10EJ2 – (Relación M – M).xlsx. vamos a abrirlo para darle
un vistazo

Al abrirlo encontraras dos tablas, una con el nombre de


vendedores y los medios que tienen para hacer regalos a sus
clientes y otra, con el mes, el medio y el monto destinado de
los vendedores para hacer regalos a los distintos compradores.
Lo que se quiere lograr en este escenario es calcular para cada
vendedor y medio, la cantidad de dinero que puede utilizar
como regalo a sus clientes en los cuatros meses, teniendo
presente que la cifra de regalo es para cada vendedor si tiene
asignado ese medio. Así que veamos las tablitas para darnos
una mejor idea.

Figura 10. 19 – Tabla Comerciales

www.excelfreeblog.com
482 Capítulo 10 • Combinar y Tipos de Joins

En conclusión, queremos crear una nueva columna en la tabla


Comerciales que muestre el total de regalo, para cada medio y
vendedor en los cuatro meses, si aplica.

Ahora que entendemos el escenario a trabajar, iniciemos con la


¡integración de datos!

1. Abrimos un nuevo archivo de Power BI y nos


desplazamos a la pestaña Inicio, grupo Datos
Externos, botón Obtener Datos y elegimos Excel como
origen al cual nos conectaremos.

2. En la ventana Abrir, ubicamos el archivo CAP10EJ2 –


(Relación M – M) dentro de nuestro pc, lo elegimos y
damos clic en Abrir.

www.excelfreeblog.com
El ADN de Power Query 483

3. Automáticamente, aparece la ventana Navegador


indicándonos el contenido del archivo, en ese caso,
habilitamos las tablas Comerciales y Monto
Destinado y damos clic en el botón Editar.

Figura 10. 21 – Ventana Navegador

En ese instante aparece El Editor de Consultas de Power Query


con las Tablas Comerciales y Monto Destinado cargadas, listas
para ser utilizadas y combinarlas.

Si te fijas en cada consulta, se ha agregado un paso nuevo que


define el tipo de dato de cada columna que compone la tabla
así que ahora solo resta combinarlas.

www.excelfreeblog.com
484 Capítulo 10 • Combinar y Tipos de Joins

Figura 10. 22 – Tabla Comerciales Cargada en el Editor de Power Query

Figura 10. 23 – Tabla MontoDestinado Cargada en el Editor de Power Query

Con las tablas añadidas en El Editor de Consultas, vamos a


iniciar con la integración de datos.

4. A continuación, elegimos la consulta Comerciales,


porque a esta tabla será a la que le vamos a añadir las
nuevas columnas, después, nos movemos a la pestaña
Inicio, botón Combinar, opción Combinar Consultas y
elegimos el comando Combinar Consultas para Crear
una Nueva

www.excelfreeblog.com
El ADN de Power Query 485

Figura 10. 24 – Combinar Consultas para Crear una Nueva

5. En ese instante, aparece la ventana Combinar así que


vamos a configurarla de la siguiente manera:

▪ En la sección superior: la tabla Comerciales


▪ En la Sección Inferior: la tabla MontoDestinado

Figura 10. 25 – Ventana Combinar con las tablas elegidas

www.excelfreeblog.com
486 Capítulo 10 • Combinar y Tipos de Joins

6. Posteriormente, vamos a elegir las columnas


coincidentes, en este escenario se trata de la columna
Medio, así que damos clic izquierdo sobre ella en
ambas tablas, como resultado quedan resaltadas. Para
terminar este paso damos clic en Aceptar

Figura 10. 26 – Columnas Coincidentes

Al dar clic en el botón Aceptar, se crea una nueva consulta


denominada Merge1, con las columnas de la tabla Comerciales
y un nuevo campo con el nombre de la tabla MontoDestinado
que nos permitirá expandir la tabla y traer las nuevas columnas.

www.excelfreeblog.com
El ADN de Power Query 487

Figura 10. 27 – Consulta Merge1

7. Para añadir las columnas de la otra tabla, vamos a ir a


la columna MontoDestinado y damos clic sobre el
botón Expandir que aparece en la parte derecha de la
etiqueta del campo.

Figura 10. 28 – Botón Expandir

8. En la lista de opciones que aparecen, habilitamos la


alternativa Agregar y escogemos como nueva
columna la operación: Suma de Regalo. No olvides
deshabilitar la casilla: Usar el Nombre de Columna
Original como Prefijo y damos clic en Aceptar.

Figura 10. 29 – Opciones para Añadir Columnas a la Tabla

www.excelfreeblog.com
488 Capítulo 10 • Combinar y Tipos de Joins

Como resultado se ha creado una nueva columna que suma el


monto destinado para cada vendedor y medio que tiene a
cargo:

Figura 10. 30 – Tabla Consolidada

9. Para ir finalizando con esta consulta, cambiamos el


nombre de la columna Suma de Regalo por
TotalRegalo y asignamos el tipo de dato como
Número Decimal.

Figura 10. 31 – Cambiar Tipo de Dato y Nombre de la Columna

Como últimos retoques, modificamos el nombre de Merge1


por Consolidado, ocultamos las otras consultas y damos clic en
Cerrar y Aplicar.

Figura 10. 32 – Cambiar Nombre

www.excelfreeblog.com
El ADN de Power Query 489

- Recuerda guardar tu archivo de Power BI. Es importante


señalar que, en este caso, añadimos y sumamos los datos
de una tabla en otra de acuerdo con una columna
coincidente, a diferencia del primer ejemplo que
simplemente trajimos los ítems como si fuera un simple
BUSCARV.

Combinar con Múltiples Columnas Coincidentes

Para nosotros ya es algo natural saber que, para hacer la


operación de Combinar, es necesario tener dos columnas
coincidentes para así poder traer datos de una tabla a otra
congruentemente, pero ¿qué pasa si en lugar de tener una
columna coincidente tenemos dos o más columnas
semejantes? Pues bien, en la presente sección del libro
resolveremos esta encrucijada.

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 10 puedes encontrar el archivo de Excel con nombre:
CAP10EJ3 - Combinar con Múltiples Columnas xlsx. vamos a
abrirlo para darle un vistazo

Al abrir el archivo en cuestión, encontraras dos tablitas, en la


primera contamos con la información de ventas de varios
productos identificados por el código SKU que han sido
distribuidos a distintos países y ciudades. En la segunda se
muestra información adicional que será vital para el análisis,
como, por ejemplo: Nombre de Producto, Costo de Envió a

www.excelfreeblog.com
490 Capítulo 10 • Combinar y Tipos de Joins

Cada ciudad y el precio unitario de cada ítem.

Figura 10. 33 – Tabla: Ventas_País

Figura 10. 34 – Tabla: InfoProductos

En este escenario queremos añadir el Nombre de Producto,


Valor Unitario y Costo de Envió de la tabla InfoProductos a la
tabla Ventas_País. Así que demos rienda suelta al poder de
¡Combinar!

www.excelfreeblog.com
El ADN de Power Query 491

1. Como es costumbre, lo primero que haremos será


abrir un nuevo archivo de Power BI, luego, nos
desplazamos a la pestaña Datos Externos, botón
Obtener Datos y elegimos el origen a conectarnos
como: Excel.

2. En la ventana Abrir, buscamos el archivo CAP10EJ3 -


Combinar con Múltiples Columnas dentro de nuestro
ordenador y damos clic en Abrir.

3. En la ventana Navegador, habilitamos las tablas


InfoProductos y Ventas_País, Además, damos clic en
Editar para cargarlas en El Editor de Consultas.

Figura 10. 35 – Ventana Navegador

www.excelfreeblog.com
492 Capítulo 10 • Combinar y Tipos de Joins

Como consecuencia, ya aparecen las tablas en el Editor de


Consultas de Power Query

Figura 10. 36 – Tabla InfoProductos en el Editor de Power Query

Figura 10. 37 – Tabla Ventas_País en el Editor de Power Query

Si prestas atención a cada consulta, puedes ver que Power


Query ha agregado el tipo de dato de cada columna por
nosotros, también, verificamos que las tablas tengan el
Formato Tabular y con ello ya podemos iniciar con la operación
de Combinar.

4. En ese orden de ideas, damos clic sobre la consulta


Ventas_País, luego, nos desplazamos a la pestaña
Inicio, grupo botón Combinar, opción Combinar
Consultas y elegimos Combinar Consultas para crear

www.excelfreeblog.com
El ADN de Power Query 493

Una nueva.

Figura 10. 38 – Combinar Consultas para Crear una Nueva

5. En ese momento se muestra la ventana Combinar, así


que la vamos a configurar de la siguiente manera:

▪ Sección Superior: tabla Venta_País


▪ Sección Inferior: tabla InfoProductos

Figura 10. 39 – Configuración de la Ventana Combinar

www.excelfreeblog.com
494 Capítulo 10 • Combinar y Tipos de Joins

Si analizamos las tablas, podemos ver que hay tres columnas


semejantes en ambas: País, Ciudad y SKU. Si utilizamos
únicamente la columna SKU como columna coincidente la
operación de combinar no arrojará valores acertados, porque
como puedes ver, en ambas tablas se repiten los ítems;
adicionalmente, la columna costo de envió (que deseamos
añadir a Ventas_País) tiene un valor diferente dependiendo de
la ciudad y el país a la cual se envía el producto. En ese orden
de ideas, vamos a emplear las tres columnas semejantes en
ambas tablas y con ello aseguramos que los valores retornados
si son los correctos, así que, completemos esta misión con
éxito.

6. Por consiguiente, mantenemos la tecla Ctrl


presionada y en la sección superior elegimos las
columnas: País, Ciudad y SKU. Luego, vamos a la
sección inferior y siguiendo el mismo orden de
selección vamos a dar clic sobre las mismas columnas.

Pausemos un Momento

Al momento de elegir las columnas coincidentes debes seguir el mismo


orden en ambas tablas, todo con el objetivo de asegurarnos que la
operación de Combinar si funcione perfectamente.

www.excelfreeblog.com
El ADN de Power Query 495

Para concluir damos clic en Aceptar y con ello se crea una


nueva consulta:

Figura 10. 41 – Nueva Consulta: Merge1

En la nueva consulta solo hace falta agregar las columnas que


deseamos.

www.excelfreeblog.com
496 Capítulo 10 • Combinar y Tipos de Joins

7. Para agregar las columnas, nos desplazamos hasta el


final de la nueva consulta, allí se encuentra el campo
InfoProductos, y damos clic sobre el botón Expandir
que acompaña la etiqueta.

Figura 10. 42 – Botón Expandir

8. En las opciones que aparecen, elegimos Expandir y


dejamos habilitadas únicamente las columnas a
añadir: Nombre de Producto, Valor Unitario y Costo de
Envió. No olvides desmarcar la casilla Usar el nombre de
la columna original como prefijo y damos clic en aceptar.

Figura 10. 43 – Opciones para Expandir

Como resultado se agregan las nuevas columnas a la consulta


y así hemos obtenido nuestra tabla consolidada.

www.excelfreeblog.com
El ADN de Power Query 497

Figura 10. 44 – Tabla Consolidada

9. Después cambiamos el nombre de la consulta Merge1


por ConsolidadoVentas y ocultamos las consultas
InfoProductos y Ventas_País

Figura 10. 45 – Cambiar Nombre y Ocultar Consultas

Para terminar con este escenario damos clic en nuestro ya


conocido botón Cerrar y Aplicar. Y recuerda guardar tú archivo
de Power BI.

Ya sabemos la importancia de la o las columnas coincidentes


para completar la operación de combinar, pero de aquí en
adelante hablaremos de un tema que no ha sido tratado y es
fundamental, se trata de los Tipos de “Joins” o Tipos de
Uniones que podemos crear con esta operación, así que
iniciemos nuestro viaje por este fascinante tema.

www.excelfreeblog.com
498 Capítulo 10 • Combinar y Tipos de Joins

Tipos de Uniones / Types of Joins


En los escenarios que hemos venido realizando, siempre
asumimos que las tablas coincidían y que no teníamos valores
faltantes, además, queríamos añadir columnas de la tabla
configurada en la segunda sección a la que se encuentra en la
primera, aunque la realidad es diferente, habrá momentos en
que el resultado que deseamos debe cambiar, por esta razón,
es necesario hacer un estudio a conciencia de los tipos de
uniones que podemos conseguir con la operación de combinar.

Es fundamental que entiendas que existen 6 tipos de uniones


en la operación de combinar y que cada uno de ellos nos
arrojara una tabla de consolidados completamente distinta, a
continuación, te los mencionaremos para que te vayas
haciendo una idea:

▪ Externa Izquierda (Todas de la Primera, Coincidencias


de la Segunda)
▪ Externa Derecha (Todas de la Segunda, Coincidencias
de la Primera)
Tipos de Uniones ▪ Externa Completa (Todas las Filas de Ambas)
▪ Interna (Todas las Filas Coincidentes)
▪ Anti Izquierda (Solo Filas de la Primera)
▪ Anti Derecha (Solo Filas de la Segunda)

El tipo de unión se configura en la parte inferior de la ventana


Combinar, y en el presente capitulo nos encargaremos de
explorar cada resultado.

www.excelfreeblog.com
El ADN de Power Query 499

Figura 10. 46 – Tipos de Uniones

Para abordar este tema que es bastante interesante,


trabajaremos con dos tablas e iremos revisando el resultado
que arroja cada tipo de unión.

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 10 puedes encontrar el archivo de Excel con nombre:
CAP10EJ4 - Tipos de Uniones xlsx. vamos a abrirlo para darle
un vistazo

En el libro de Excel encontrarás dos tablas; la primera


denominada VentaProductos que contiene la cantidad de
productos que han sido vendidos en varios días de acuerdo con
el código SKU y la segunda llamada Productos, que tiene datos
en detalle sobre todos los artículos que vende la compañía,
como, por ejemplo: Código SKU, el nombre del producto, tipo,
precio de venta unitario, costo de envió y costo de producto.

Es importante que reconozcas las columnas coincidentes en


ambas tablas, así como los ítems que las componen. Si prestas
atención a la columna SKU, encontrarás que en las dos tablas
hay ítems que no están en la otra.

www.excelfreeblog.com
500 Capítulo 10 • Combinar y Tipos de Joins

Filas que Coinciden con la


Tabla Productos de
acuerdo con el código SKU

Filas que no coinciden


porque el Código SKU NO
está en la tabla Productos

Figura 10. 47 – Tabla VentaProductos

Filas que Coinciden con la Tabla VentaProductos


de acuerdo con el código SKU

Filas que no coinciden porque el Código SKU


NO está en la tabla VentaProductos

Figura 10. 48 – Tabla Productos

▪ En la tabla VentaProductos tenemos dos códigos que no


están en la tabla Productos: B07 y B08.

▪ En la tabla Productos existen dos códigos que no se


encuentran en la tabla VentaProductos: B04 y L03

Ahora que conocemos el contenido de ambas tablas y las


características que las rigen, es momento de empezar a
conocer los tipos de uniones.

www.excelfreeblog.com
El ADN de Power Query 501

1. Inicialmente, vamos a abrir un archivo de Power BI,


luego, nos desplazamos al grupo Datos Externos,
botón Obtener Datos y elegimos Excel.

2. En la ventana Abrir, buscamos el archivo con nombre


CAP10EJ4 - Tipos de Uniones y damos clic en Abrir.

3. En la ventana Navegador, habilitamos las tablas


VentaProductos y Productos, después, damos clic en
Editar.

Figura 10. 49 – Ventana Navegador

Como resultado, aparecen ambas tablas cargadas en el Editor

www.excelfreeblog.com
502 Capítulo 10 • Combinar y Tipos de Joins

De Consultas de Power Query.

Figura 10. 50 – Tabla Productos

Figura 10. 51 – Tabla VentaProductos

4. Con las tablas Cargadas, vamos a seleccionar la


consulta VentaProductos y nos movemos a la pestaña
Inicio, botón Combinar, Combinar Consultas y damos
clic sobre la opción Combinar Consultas para Crear una
Nueva.

Figura 10. 52 – Combinar Consultas para Crear una Nueva

www.excelfreeblog.com
El ADN de Power Query 503

5. La ventana Combinar aparece, así que la


configuraremos de la siguiente manera:

▪ Sección Superior: tabla VentaProductos


▪ Sección Inferior: tabla Productos

Figura 10. 53 – Ventana Combinar

Tabla Izquierda / Tabla Derecha

Para entender las uniones es fundamental tener en cuenta el


significado de la Tabla Izquierda y la Tabla Derecha. En la
ventana Combinar sabemos que debemos elegir una tabla en
la sección superior y otra en la sección inferior, aunque al

www.excelfreeblog.com
504 Capítulo 10 • Combinar y Tipos de Joins

Hablar de tipos de uniones debemos pensar en otros términos.


La tabla que ubicamos en la sección superior será conocida de
ahora en adelante como la Tabla Izquierda, mientras que, la
tabla configurada en la sección inferior será llamada la Tabla
Derecha y esto ocurre por que los tipos de uniones trabajan en
esas condiciones. Es importante que recuerdes siempre esta
simple asignación que internamente hace Power Query para
realizar la operación de Combinar.

Tabla Izquierda

Tabla Derecha

Figura 10. 54 – Ventana Combinar

Ahora que entendemos en la ventana Combinar, cual es la tabla


de la Izquierda y la de la derecha, empecemos a hablar de los
Tipos de Uniones.

www.excelfreeblog.com
El ADN de Power Query 505

Externa Izquierda (Todas de la Primera,


Coincidencias de la Segunda)

Si escogemos este tipo de combinación que es el que está


configurado por defecto, lo que ocurrirá como resultado al unir
las tablas es que se mantendrán todas las filas de la Tabla
Izquierda y se añadirán los registros que coincidan de la tabla
de la derecha, en caso de que no se encuentre el registro en la
tabla derecha, Power Query añade filas completas con la
palabra Null indicándonos que no hay coincidencia para ese
ítem de la Tabla Izquierda.

Tipos de Uniones
Inicio

1 Tabla Izquierda

Elementos Coincidentes

2 Tabla Derecha

Elementos NO Coincidentes

www.excelfreeblog.com
506 Capítulo 10 • Combinar y Tipos de Joins

Final

Izquierda Derecha

Filas Coincidentes Tabla Derecha

Tabla Izquierda Valores Faltantes

6. En la ventana elegimos las columnas SKU en ambas


tablas señalando que es la columna Coincidente,
también, vamos a ir a Tipo de Combinación y
configuramos: Externa Izquierda (Todas de la Primera,
Coincidencias de la segunda) y para terminar damos
clic en Aceptar.

Figura 10. 55 – Tipo de Unión: Externa Izquierda

www.excelfreeblog.com
El ADN de Power Query 507

Como resultado aparece una nueva consulta denominada


Merge1, con la columna Productos, que contiene las columnas
de dicha tabla.

Figura 10. 56 – Nueva Consulta: Merge1

7. Posteriormente, nos dirigimos a la columna


Productos, damos clic sobre el botón Expandir, y en
las opciones que aparecen seleccionamos Expandir,
habilitamos todas las columnas de la tabla productos
excepto SKU y por último desmarcamos la casilla Usar
el nombre de la columna original como Prefijo y
damos clic en Aceptar.

Figura 10. 57 – Botón Expandir

www.excelfreeblog.com
508 Capítulo 10 • Combinar y Tipos de Joins

A causa de esto, obtenemos el consolidado de datos de ambas


tablas de acuerdo con el tipo de unión elegida.

Tabla Izquierda Filas Coincidentes Tabla Derecha

Valores Faltantes

Figura 10. 58 – Resultado del Tipo de Unión: Externa Izquierda

8. Para terminar, cambiamos el nombre de la consulta


por Externa Izquierda

Figura 10. 59 – Cambiar Nombre a la Consulta

Externa Derecha (Todas de la Segunda,


Coincidencias de la Primera)

Este tipo de unión trae todos los registros de la tabla de la


derecha y las filas que coincidan de la tabla izquierda, en caso
de que no se encuentre el registro en la tabla izquierda, Power
Query agrega filas completas con la palabra Null mostrándonos
que no hay sincronía para ese ítem de la tabla derecha.

www.excelfreeblog.com
El ADN de Power Query 509

Tipos de Uniones
Inicio

1 Tabla Izquierda
Fecha de Pedido Cantidad Sku
11/02/2019 2 B01
12/02/2019 1 L01
13/02/2019 3 C01
14/02/2019 2 B02
Elementos Coincidentes
15/02/2019 4 B07
16/02/2019 1 B08

2 Tabla Derecha

Sku Producto Tipo Precio Costo Envio Costo Producto


B01 Batman Begins Blue Ray 50 5 11
B02 The Dark Knight Blue Ray 60 6 13
L01 Calculus For Dummies - Mark Libro 31 3 6
C01 Sabaton: Heroes CD 20 2 4
B04 Men of Steel Blue Ray 70 7 15
L03 Calculus - Ron Larson Libro 30 3 6

Elementos NO Coincidentes

Final

Izquierda Derecha

Filas Coincidentes Tabla Izquierda Tabla Derecha


Fecha de Pedido Cantidad Sku Producto Tipo Precio CostoEnvio CostoProducto
11/02/2019 2 B01 Batman Begins Blue Ray 50 5 11
12/02/2019 1 L01 Calculus For Dummies - Mark Libro 31 3 6
14/02/2019 2 B02 The Dark Knight Blue Ray 60 6 13
13/02/2019 3 C01 Sabaton: Heroes CD 20 2 4
null null null Men of Steel Blue Ray 70 7 15
null null null Calculus - Ron Larson Libro 30 3 6

Valores Faltantes www.excelfreeblog.com


510 Capítulo 10 • Combinar y Tipos de Joins

Para observar el resultado de esta unión, vamos a crear una


nueva consulta en el mismo archivo.

1. Elegimos la tabla VentaProductos, luego, nos


movemos a la pestaña Inicio, botón Combinar, opción
Combinar Consultas y seleccionamos el comando:
Combinar consultas para crear una nueva.

2. En la ventana Combinar, definimos la Tabla Izquierda


como VentaProductos y la Tabla Derecha como
Productos, luego elegimos en ambas la columna SKU
como Columna Coincidente. En el Tipo de
Combinación escogemos: Externa Derecha (Todas de
la Segunda, Coincidencias de la Primera).

Tabla Izquierda

Tabla Derecha

Figura 10. 60 – Ventana Combinar: Externa Derecha

www.excelfreeblog.com
El ADN de Power Query 511

Para concluir damos clic en Aceptar y como consecuencia


aparece una nueva consulta denominada Merge1, para este
tipo de unión.

Figura 10. 61 – Nueva Consulta: Merge1

3. En la nueva consulta, vamos a la Columna Productos,


allí damos clic en el botón Expandir, en las opciones
que se muestran, elegimos Expandir, habilitamos
todos los campos de la tabla Productos excepto SKU
y desmarcamos la casilla Usar el nombre de la
columna original como Prefijo y Aceptar.

Figura 10. 62 – Botón Expandir para añadir Columnas de la tabla Productos al Consolidado

www.excelfreeblog.com
512 Capítulo 10 • Combinar y Tipos de Joins

Por ende, aparecen las columnas de la tabla Producción


obteniendo así nuestra tabla de consolidado para este tipo de
unión.

Filas Coincidentes Tabla Izquierda Tabla Derecha

Valores Faltantes

Figura 10. 63 – Resultado del Tipo de Unión: Externa Derecha

4. Para concluir, cambiamos el nombre de la consulta por


Externa Derecha

Figura 10. 64 – Cambiar nombre a la consulta recién creada

Externa Completa (Todas las Filas de Ambas)

Continuando con el estudio de Tipos de Uniones, tenemos la


denominada Externa Completa, que como su nombre lo indica,
trae todas las filas de la Tabla Derecha y la Tabla Izquierda, y en
los valores que no son coincidentes, agrega una fila en su
correspondiente sección con la palabra Null, mostrando así
todos los registros de ambas tablas.

www.excelfreeblog.com
El ADN de Power Query 513

Tipos de Uniones
Inicio

1 Tabla Izquierda
Fecha de Pedido Cantidad Sku
11/02/2019 2 B01
12/02/2019 1 L01
13/02/2019 3 C01
14/02/2019 2 B02
Elementos Coincidentes
15/02/2019 4 B07
16/02/2019 1 B08

2 Tabla Derecha

Sku Producto Tipo Precio Costo Envio Costo Producto


B01 Batman Begins Blue Ray 50 5 11
B02 The Dark Knight Blue Ray 60 6 13
L01 Calculus For Dummies - Mark Libro 31 3 6
C01 Sabaton: Heroes CD 20 2 4
B04 Men of Steel Blue Ray 70 7 15
L03 Calculus - Ron Larson Libro 30 3 6

Elementos NO Coincidentes

Final

Izquierda Derecha

Tabla Izquierda Tabla Derecha


Fecha de Pedido Cantidad Sku Producto Tipo Precio CostoEnvio CostoProducto
11/02/2019 2 B01 Batman Begins Blue Ray 50 5 11
12/02/2019 1 L01 Calculus For Dummies - Mark Libro 31 3 6
14/02/2019 2 B02 The Dark Knight Blue Ray 60 6 13
13/02/2019 3 C01 Sabaton: Heroes CD 20 2 4
null null null Men of Steel Blue Ray 70 7 15
null null null Calculus - Ron Larson Libro 30 3 6
15/02/2019 4 B07 null null null null null
16/02/2019 1 B08 null null null null null
www.excelfreeblog.com
Valores Faltantes
514 Capítulo 10 • Combinar y Tipos de Joins

Ahora vamos a utilizar las Tablas VentaProductos y Productos


para ver el resultado de este tipo de unión.

1. Escogemos la tabla VentaProductos, nos


desplazamos a la pestaña Inicio, botón Combinar,
opción Combinar Consultas y damos clic en el
comando: Combinar consultas para crear una nueva.

2. En la ventana Combinar, definimos la Tabla Izquierda


como VentaProductos y la Tabla Derecha como
Productos, después, elegimos en ambas SKU como
Columna Coincidente. En el Tipo de Combinación
establecemos: Externa Completa (Todas las Filas de
Ambas).

Tabla Izquierda

Tabla Derecha

Figura 10. 65 – Tipo de Unión: Externa Completa

www.excelfreeblog.com
El ADN de Power Query 515

Luego de configurar la ventana damos clic en Aceptar y con


ello aparece una nueva tabla de consolidados denominada
Merge1.

Figura 10. 66 – Nueva Consulta: Merge1 – Tipo de Unión: Externa Completa

3. En la consulta, vamos a la Columna Productos, damos


clic en el botón Expandir, en las opciones que
aparecen, seleccionamos Expandir, después,
habilitamos todos los campos de la tabla Productos
excepto SKU y desmarcamos la casilla Usar el nombre
de la columna original como Prefijo y Aceptar.

Figura 10. 67 – Botón Expandir para añadir Columnas de la tabla Productos al Consolidado

www.excelfreeblog.com
516 Capítulo 10 • Combinar y Tipos de Joins

En ese instante, se agregan las nuevas columnas a la consulta


para obtener la tabla de consolidado que resulta de la unión
Externa Completa.

Tabla Izquierda Tabla Derecha

Valores Faltantes
Figura 10. 68 – Resultado del Tipo de Unión: Externa Completa

4. Para terminar, modificamos el nombre de la consulta


por Externa Completa

Figura 10. 69 – Cambiar nombre a la consulta recién creada

Interna (Todas las Filas Coincidentes)

Este tipo de unión es bien útil cuando tenemos valores


faltantes en ambas tablas, porque crea un consolidado
únicamente con las filas que SI son coincidentes en las dos
tablas, quiere decir que trae los registros que concuerdan en la
Tabla Derecha y en la Tabla Izquierda, aunque en este caso no
agrega ninguna fila con valores vacíos, excluyendo así los datos
que no están en ambas.

www.excelfreeblog.com
El ADN de Power Query 517

Tipos de Uniones
Inicio

1 Tabla Izquierda
Fecha de Pedido Cantidad Sku
11/02/2019 2 B01
12/02/2019 1 L01
13/02/2019 3 C01
14/02/2019 2 B02
Elementos Coincidentes
15/02/2019 4 B07
16/02/2019 1 B08

2 Tabla Derecha

Sku Producto Tipo Precio Costo Envio Costo Producto


B01 Batman Begins Blue Ray 50 5 11
B02 The Dark Knight Blue Ray 60 6 13
L01 Calculus For Dummies - Mark Libro 31 3 6
C01 Sabaton: Heroes CD 20 2 4
B04 Men of Steel Blue Ray 70 7 15
L03 Calculus - Ron Larson Libro 30 3 6

Elementos NO Coincidentes

Final

Izquierda Derecha

Filas Coincidentes Tabla Izquierda Filas Coincidentes Tabla Derecha


Fecha de Pedido Cantidad Sku Producto Tipo Precio CostoEnvio CostoProducto
11/02/2019 2 B01 Batman Begins Blue Ray 50 5 11
12/02/2019 1 L01 Calculus For Dummies - Mark Libro 31 3 6
14/02/2019 2 B02 The Dark Knight Blue Ray 60 6 13
13/02/2019 3 C01 Sabaton: Heroes CD 20 2 4

www.excelfreeblog.com
518 Capítulo 10 • Combinar y Tipos de Joins

Ahora pongamos a prueba el tipo de unión Interna, con


nuestras tablitas ya conocidas: VentaProductos y Productos.

1. Elegimos la tabla VentaProductos, luego, nos


movemos a la pestaña Inicio, botón Combinar, opción
Combinar Consultas y damos clic en el comando:
Combinar consultas para crear una nueva.

2. En la ventana que aparece, definimos la Tabla


Izquierda como VentaProductos y la Tabla Derecha
como Productos, después, establecemos en ambas,
SKU como Columna Coincidente y el Tipo de
Combinación: Interna (Todas las Filas Coincidentes).

Tabla Izquierda

Tabla Derecha

Figura 10. 70 – Tipo de Unión: Interna

www.excelfreeblog.com
El ADN de Power Query 519

Damos clic en Aceptar y como consecuencia, aparece una


nueva consulta denominada Merge1, así que vamos a
desplegar las columnas faltantes para crear el consolidado.

Figura 10. 71 – Nueva Consulta: Merge1 – Tipo de Unión: Interna

3. Después, nos desplazamos a la Columna Productos,


damos clic en el botón Expandir y en las opciones que
se muestran, seleccionamos Expandir, habilitamos
todos los campos de la tabla Productos menos SKU y
deshabilitamos: Usar el nombre de la columna original
como Prefijo y Aceptar.

Figura 10. 72 – Botón Expandir para añadir Columnas de la tabla Productos al Consolidado

www.excelfreeblog.com
520 Capítulo 10 • Combinar y Tipos de Joins

Al mismo tiempo, aparecen las nuevas columnas en la consulta


para obtener la tabla de consolidado que resulta de la unión
Interna:

Tabla Izquierda Tabla Derecha

Figura 10. 73 – Resultado del Tipo de Unión: Interna

4. Finalmente, modificamos el nombre de la consulta por


Interna

Figura 10. 74 – Cambiar nombre a la consulta recién creada

Anti Izquierda (Solo Filas de la Primera)

El tipo de unión: Anti Izquierda (Solo Filas de la Primera), como


su nombre lo resalta, nos muestra las filas que están
únicamente en la Tabla Izquierda y que NO tienen ninguna
coincidencia con la Tabla Derecha. Podríamos utilizarla como
una manera de ver que registros no tienen sincronía en la otra
tabla. Este tipo de unión agrega null en todas las columnas y
registros agregados de la tabla derecha porque no existe
coincidencia alguna.

www.excelfreeblog.com
El ADN de Power Query 521

Tipos de Uniones
Inicio

1 Tabla Izquierda
Fecha de Pedido Cantidad Sku
11/02/2019 2 B01
12/02/2019 1 L01
13/02/2019 3 C01
14/02/2019 2 B02
Elementos Coincidentes
15/02/2019 4 B07
16/02/2019 1 B08

2 Tabla Derecha

Sku Producto Tipo Precio Costo Envio Costo Producto


B01 Batman Begins Blue Ray 50 5 11
B02 The Dark Knight Blue Ray 60 6 13
L01 Calculus For Dummies - Mark Libro 31 3 6
C01 Sabaton: Heroes CD 20 2 4
B04 Men of Steel Blue Ray 70 7 15
L03 Calculus - Ron Larson Libro 30 3 6

Elementos NO Coincidentes

Final

Izquierda Derecha

Filas que solo están en la Tabla Izquierda

Fecha de Pedido Cantidad Sku Producto Tipo Precio CostoEnvio CostoProducto


15/02/2019 4 B07 null null null null null
16/02/2019 1 B08 null null null null null

Valores Faltantes (No están en la Tabla Derecha)

www.excelfreeblog.com
522 Capítulo 10 • Combinar y Tipos de Joins

Ahora observemos el resultado que arroja el tipo de unión Anti


Izquierda al combinar VentaProductos y Productos.

1. Damos clic en la tabla VentaProductos, luego, nos


movemos a la pestaña Inicio, botón Combinar, opción
Combinar Consultas y elegimos: Combinar consultas
para crear una nueva.

2. En la ventana Combinar, definimos la Tabla Izquierda


como VentaProductos y la Tabla Derecha como
Productos, después, establecemos en ambas, SKU
como Columna Coincidente y el Tipo de Combinación:
Anti Izquierda (Solo Filas de la Primera).

Tabla Izquierda

Tabla Derecha

Figura 10. 75 – Tipo de Unión: Anti Izquierda

www.excelfreeblog.com
El ADN de Power Query 523

Damos clic en Aceptar y con ello aparece una nueva consulta


en la cual hace falta agregar las columnas de la tabla Productos
para ver que resultado tomará el consolidado.

Figura 10. 76 – Nueva Consulta: Merge1 – Tipo de Unión: Anti Izquierda

3. En ese instante vamos a la Columna Productos,


damos clic en el botón Expandir y en las opciones que
aparecen, elegimos Expandir, habilitamos todos los
campos de la tabla Productos menos SKU y
desmarcamos: Usar el nombre de la columna original
como Prefijo y Aceptar.

Figura 10. 77 – Botón Expandir para añadir Columnas de la tabla Productos al Consolidado

www.excelfreeblog.com
524 Capítulo 10 • Combinar y Tipos de Joins

Como resultado, aparecen las columnas de la tabla Productos


vacías porque no existe coincidencia con los registros de la
tabla VentaProductos:

Filas que solo están en la Tabla Izquierda Valores Faltantes (No están en la Tabla Derecha)

Figura 10. 78 – Resultado del Tipo de Unión: Anti Izquierda

4. Por último, cambiamos el nombre de la consulta por


Anti Izquierda

Figura 10. 79 – Cambiar nombre a la consulta por Anti Izquierda

Anti Derecha (Solo Filas de la Segunda)

El tipo de unión Anti Derecha (Solo Filas de la Segunda) trae las


registros que están únicamente en la Tabla Derecha y que NO
tienen ninguna coincidencia con la Tabla Izquierda; y al igual
que Anti Izquierda, podemos emplearla para ver que registros
no tienen sincronía en la otra tabla. Esta unión añade null en
todas las columnas y registros agregados al consolidado de la
Tabla Izquierda porque no existe coincidencia alguna con la
Tabla Derecha.

www.excelfreeblog.com
El ADN de Power Query 525

Tipos de Uniones
Inicio

1 Tabla Izquierda
Fecha de Pedido Cantidad Sku
11/02/2019 2 B01
12/02/2019 1 L01
13/02/2019 3 C01
14/02/2019 2 B02
Elementos Coincidentes
15/02/2019 4 B07
16/02/2019 1 B08

2 Tabla Derecha

Sku Producto Tipo Precio Costo Envio Costo Producto


B01 Batman Begins Blue Ray 50 5 11
B02 The Dark Knight Blue Ray 60 6 13
L01 Calculus For Dummies - Mark Libro 31 3 6
C01 Sabaton: Heroes CD 20 2 4
B04 Men of Steel Blue Ray 70 7 15
L03 Calculus - Ron Larson Libro 30 3 6

Elementos NO Coincidentes

Final

Izquierda Derecha

Filas que solo están en la Tabla Derecha


Fecha de Pedido Cantidad Sku Sku Producto Tipo Precio CostoEnvio CostoProducto
null null null B04 Men of Steel Blue Ray 70 7 15
null null null L03 Calculus - Ron Larson Libro 30 3 6

Valores Faltantes (No están en la Tabla Izquierda)

www.excelfreeblog.com
526 Capítulo 10 • Combinar y Tipos de Joins

Con esto en mente, observemos el resultado de la Unión Anti


Derecha con las tablas: VentaProductos y Productos.

1. Elegimos la consulta VentaProductos, luego, vamos a la


pestaña Inicio, botón Combinar, opción Combinar
Consultas y elegimos: Combinar consultas para crear una
nueva.

2. En la ventana Combinar, definimos la Tabla Izquierda como


VentaProductos y la Tabla Derecha como Productos,
después, establecemos en ambas, SKU como Columna
Coincidente y el Tipo de Combinación: Anti Derecha (Solo
Filas de la Segunda).

Tabla Izquierda

Tabla Derecha

Figura 10. 80 – Tipo de Unión: Anti Derecha

www.excelfreeblog.com
El ADN de Power Query 527

Además, damos clic en Aceptar y con ello aparece una nueva


consulta: Merge1 a la cual hace falta agregar las columnas de
la tabla Productos, para ver el resultado de esta unión.

Figura 10. 81 – Nueva Consulta: Merge1 – Tipo de Unión: Anti Derecha

3. Como consecuencia, nos desplazamos a la Columna


Productos, damos clic en el botón Expandir y en las
opciones, elegimos Expandir, habilitamos todos los
campos de la tabla Productos incluso SKU y
desmarcamos: Usar el nombre de la columna original
como Prefijo y Aceptar.

Figura 10. 82 – Botón Expandir para añadir Columnas de la tabla Productos al Consolidado

www.excelfreeblog.com
528 Capítulo 10 • Combinar y Tipos de Joins

En ese momento, surgen las columnas de la tabla Productos,


aunque los campos de la tabla VentaProductos siguen vacíos
porque no existe coincidencia con los registros de la tabla
Productos:

Valores Faltantes (No están en la Tabla Izquierda)

Filas que solo están en la Tabla Derecha

Figura 10. 83 – Resultado del Tipo de Unión: Anti Derecha

4. Para concluir, modificamos el nombre de la consulta


por Anti Derecha

Figura 10. 84 – Cambiar nombre a la consulta por Anti Derecha

Luego de un extenso recorrido, podemos pensar que cada tipo


de unión esta diseñada para ayudarnos con problemas
específicos y dependiendo del tipo de tablas que tenemos,
podemos elegir alguno de los seis tipos de uniones disponibles
para solucionar una situación que tengamos en particular, así
que ten presente esta operación para Integrar Datos.

- Recuerda guardar tu archivo de Power BI.

www.excelfreeblog.com
El ADN de Power Query 529

Tipos de Uniones

Izquierda Derecha Izquierda Derecha

Externa Izquierda Externa Derecha

Izquierda Derecha Izquierda Derecha

Externa Completa Interna

Izquierda Derecha Izquierda Derecha

Anti Izquierda Anti Derecha

- En el sumario puedes ver todos los tipos de uniones para


que los consultes en cualquier momento.

www.excelfreeblog.com
530 Capítulo 10 • Combinar y Tipos de Joins

Ahora que eres un experto en la operación de Combinar, vamos


a ver un último “truco” que te puede ahorrar mucho tiempo
cuando necesites consolidar y estandarizar datos…

Bonus: Coincidencia Difusa

Existen momentos en que deseamos combinar dos tablas,


aunque las columnas que tomaremos como coincidentes, no
tienen ítems que son completamente iguales, los elementos
cuentan con diferencias parciales en sus caracteres a pesar de
significar igual y hacer referencia al mismo ítem, en ese caso es
momento de recurrir a la Coincidencia Difusa, así que ajústate
el cinturón y conozcamos este poderoso “truco” que tiene la
operación de Combinar.

¡Let’s Play!
ARCHIVO DE TRABAJO: En el compendio de archivos y carpeta
Capítulo 10 puedes encontrar el archivo de Excel con nombre:
CAP10EJ5 - Coincidencia Difusa.xlsx. vamos a abrirlo para darle
un vistazo

Al abrir el Archivo de Excel te encontraras con dos tablas, la


primera, Infovendedor contiene el nombre y apellido de cada
uno de los agentes comerciales de una empresa y la segunda,
Ventas, tiene la lista de vendedores que hicieron una
transacción en los días del mes. Lo que deseamos hacer, es
añadir el apellido de cada comercial a la tabla Ventas, aunque
para resolver este problema tenemos un obstáculo, el nombre
que aparece en Ventas esta escrito de varias formas y no tiene

www.excelfreeblog.com
El ADN de Power Query 531

Uniformidad con respecto a los nombres de cada vendedor


que aparecen en la tabla Infovendedor, por tal motivo,
usaremos la Coincidencia Difusa de la operación de Combinar.

Figura 10. 85 – Tabla InfoVendedor

Ítems parcialmente Coincidentes

Figura 10. 86 – Tabla Ventas

www.excelfreeblog.com
532 Capítulo 10 • Combinar y Tipos de Joins

En las dos figuras anteriores, se retrata esta situación porque


los nombres: Andrés, Camilo, Catalina y Sofia de la tabla
InfoVendedor están escritos de maneras diferentes en la tabla
Ventas, aunque significan lo mismo.

- Con esto en mente iniciemos con la operación de Combinar.

1. Abrimos un nuevo archivo de Power BI, allí, nos


desplazamos a la pestaña Inicio, grupo Datos
Externos, damos clic sobre Obtener Datos y
seleccionamos Excel como origen al cual deseamos
conectarnos.

2. En la Ventana Abrir buscamos dentro de nuestro


ordenador, la ubicación del archivo con nombre:
CAP10EJ5 - Coincidencia Difusa y damos clic en el
botón del mismo nombre de la ventana.

3. Automáticamente, aparece la ventana Navegador, allí


vamos a habilitar las casillas relacionadas a las tablas
InfoVendedor y Ventas para cargarlas en Power BI,
después de marcarlas, vamos a dar clic sobre el botón
Editar.

Como consecuencia, aparece El Editor de Consultas de Power


Query con ambas tablitas cargadas. Además, ha añadido
automáticamente el tipo de dato en cada una de las columnas
de ambas tablas.

www.excelfreeblog.com
El ADN de Power Query 533

Figura 10. 87 – Ventana Navegador

Figura 10. 88 – Tabla InfoVendedor en el Editor de Consultas

www.excelfreeblog.com
534 Capítulo 10 • Combinar y Tipos de Joins

Como ambas tablas ya están cargadas y con el Formato Tabular


asignado vamos a utilizar la operación de Combinar.

4. Inicialmente, elegimos la tabla Ventas, luego, nos


movemos a la pestaña Inicio, Botón Combinar,
Combinar Consultas y elegimos la opción Combinar
Consultas para crear una Nueva.

5. En la ventana Combinar definimos como Tabla


Izquierda: Ventas y la Tabla Derecha será:
InfoVendedor, luego señalamos la columna Vendedor
y Nombre como columnas coincidentes. Y el tipo de
unión Externa Izquierda. Aunque si dejamos
configurada la ventana así, la operación de combinar

www.excelfreeblog.com
El ADN de Power Query 535

No va a funcionar, fíjate en la parte inferior que aparece un


mensaje indicándonos que solo coinciden 4 elementos de
las 18 filas y esto ocurre por la variación en la escritura de
los nombres en la tabla Ventas…

Figura 10. 90 – Ventana Combinar

6. Para implementar la Coincidencia Difusa y que


funcione nuestra operación de Combinar
simplemente marcamos la casilla: Use las Coincidencia
Aproximadas para comparar la Combinación.

www.excelfreeblog.com
536 Capítulo 10 • Combinar y Tipos de Joins

Al habilitar la casilla de coincidencia difusa, el mensaje cambia,


mostrándonos que: La Selección coincide con 18 de las 18
primeras filas.

Casilla Coincidencia Difusa

Figura 10. 91 – Ventana Combinar con Coincidencia Difusa

Para concluir damos clic en el Botón Aceptar y con ello aparece


una nueva consulta que contiene toda la tabla Ventas, allí solo
hace falta Expandir las columnas de la tabla InfoVendedor

www.excelfreeblog.com
El ADN de Power Query 537

Figura 10. 92 – Nueva Consulta con el Consolidado de Datos

7. Después, vamos a la columna InfoVendedor, damos


clic en el Botón Expandir, y en las opciones que
aparecen, marcamos Expandir, dejamos habilitadas
las columnas Nombre y Apellido y por último
desmarcamos la casilla Usar el Nombre de Columna
Original como Prefijo y damos clic en Aceptar.

Figura 10. 93 – Botón Expandir

www.excelfreeblog.com
538 Capítulo 10 • Combinar y Tipos de Joins

En ese instante, aparecen las nuevas columnas en la tabla de


consolidado y los nombres se muestran consecuentemente.

Figura 10. 94 – Botón Expandir

8. Ahora, vamos a quitar la columna Vendedor, dejando así la


columna Nombre; porque allí están normalizados los datos,
en ese caso damos clic derecho sobre Vendedor y elegimos
la opción Quitar.

Figura 10. 95 – Quitar Columna Vendedor

www.excelfreeblog.com
El ADN de Power Query 539

9. Para concluir, vamos a cambiar el nombre de la


consulta por ConsolidadoVentas:

Figura 10. 96 – Cambiar Nombre a la Consulta

Y con ello damos por finalizado nuestro “truco” de


coincidencia difusa, recuerda implementarlo cuando los
ítems de una columna tienen elementos que significan lo
mismo, pero están escritos con variaciones en sus
caracteres.

www.excelfreeblog.com
540 Capítulo 10 • Combinar y Tipos de Joins

El Siguiente Paso
En el siguiente capítulo seguiremos explorando una operación
más de integración de datos, en este caso combinar

www.excelfreeblog.com
→ ←

Queremos dejar la piel en la explicación del lenguaje de programación de Power


Query (lenguaje M) y para ello contaremos con 9 capítulos (versión extendida), sin
embargo, de momento podemos ir disfrutando de sus fundamentos explorando los
3 primeros capítulos.

Capítulo 11 • Elementos y Herramientas Primordiales


Capítulo 12 • Expresiones, Declaración de Variables y Literales
Capítulo 13 • Tipos de Valores sus Operaciones y Valores Intrínsecos
Capítulo 11

Capítulo 11: Elementos y Herramientas Primordiales para


Trabajo con el Lenguaje M
546 Capítulo 11 • Elementos y Herramientas Primordiales para Trabajar con M

Interfaz y Vías de Acceso


Ha llegado la hora, por fin, de aprender sobre el fino de arte de
escribir líneas del lenguaje de funciones de Power Query,
conocido más ampliamente como:

NOTA El Lenguaje M

El nombre M, deriva de que


el: Hasta este punto hemos podido gozar de la generosidad de la

Lenguaje de funciones de interfaz de Power Query para ejecutar tareas de limpieza de


Power Query
datos y similares (con pequeñas excepciones donde manipulabas
Utiliza documentos M para
sutilmente una que otra línea de código M), de hecho, si
su funcionamiento interno,
por ello, en la edad alcanzamos la excelencia en la interfaz de Power Query
temprano de esta tecnología
se le llamaba manera podemos barajar que tenemos plena capacidad para resolver,
informal el Lenguaje M, a al menos, un 80% de las tareas de preparación de datos.
pesar de ello, como dicho
nombre predomino a lo
largo del tiempo, Microsoft
decidió bautizarlo de Aunque con lo anterior puede parecer suficiente, si nos
manera oficial como: armamos en conocimiento para crear todo tipo de funciones
Lenguaje M. personalizadas para reutilizar pasos de transformación,
sumado al manejo de controles de flujo e iteración, con toda
seguridad seremos competentes para dar solución a un 99% de
las tareas que nos tengamos que enfrentar.

¡Toma Nota!
El lector que conoce F# se sentirá identificado con el lenguaje M, ya
que, también sigue el paradigma de programación funcional, que
también tiene Python en menor medida.

www.excelfreeblog.com
El ADN de Power Query 547

UI para Programar en M

Es necesario, antes de lanzarnos a preparar datos a lomos de


funciones M, conocer cuáles son los lugares en la interfaz de
Power Query donde se pueden utilizar, concretamente son
tres:

▪ Barra de Fórmulas
▪ Cuadro de Diálogo: Columna Personalizada
▪ Editor Avanzado

El primer lugar es la Barra de Fórmulas, la cual tenemos que Barra de Fórmulas


habilitar para que quede visible en la parte inferior de la cinta
de opciones; para conseguirlo, vamos a la pestaña Vista donde
posteriormente ubicamos el grupo Diseño, finalmente
habilitamos el checkbox con nombre Barra de Fórmulas.

Figura 11. 1 – Habilitar Barra de Fórmulas

Inmediatamente apreciaremos la expresión M asociado al paso


donde nos encontramos posicionados.

www.excelfreeblog.com
548 Capítulo 11 • Elementos y Herramientas Primordiales para Trabajar con M

Expresión del bloque asociado al paso


en lenguaje M

Figura 11. 2 – Barra de Fórmulas Habilitada

Columna El segundo lugar es: el cuadro de diálogo Columna


Personalizada Personalizada. Para acceder a él basta con ir a la pestaña
Agregar grupo General y comando Columna Personalizada.

Figura 11. 3 – Cuadro de Diálogo Columna Personalizada

Editor Avanzado En tercera instancia tenemos: el Editor Avanzado. Para


acceder a él tenemos múltiples maneras, la primera:

Primera Opción

Clic derecho encima de la consulta de la cual deseamos ver o


trabajar el código M y ubicar el comando Edito Avanzado.

www.excelfreeblog.com
El ADN de Power Query 549

NOTA

A la fecha de escritura de
este libro únicamente
Power BI contiene todas las
opciones y últimas
implementaciones para un
mejor manejo de la interfaz
para escribir código M.

Nuestra recomendación, es
que realices el estudio de
esta tercera parte del libro
con Power BI con la última
actualización instalada.

En el siguiente vídeo puedes


Figura 11. 4 – Editor Avanzado Mediante Clic Derecho ver cómo se instala y/o
actualiza Power BI.

Por otra parte, podemos seguir la ruta a continuación:

Segunda Opción
Vista → Uso Avanzado → Editor Avanzado

O esta otra ruta:

Tercera Opción
Inicio → Consulta → Editor Avanzado

Cualquiera de estas alternativas desemboca en el despliegue


del cuadro de diálogo editor avanzado el cual contiene todas
las líneas de código M de la consulta asociada.

www.excelfreeblog.com
550 Capítulo 11 • Elementos y Herramientas Primordiales para Trabajar con M

Entorno del Editor Avanzado

Veremos el cuerpo del cuadro de diálogo alfombrado por


funciones y sus parámetros, así como otros elementos del
lenguaje M.

Figura 11. 5 – Cuerpo del Editor Avanzado con Líneas de Código M

www.excelfreeblog.com
El ADN de Power Query 551

Pausemos un Momento
El editor avanzado mostrado previamente variará drásticamente al que
se te mostrará en tu Power Query (si es la misma consulta la que se
visualiza)
Lo anterior es así porque para una mayor legibilidad y presentación
hemos manipulado las funciones M y demás elementos, es decir,
hemos agregado:
Espacios, tabulación, saltos de líneas, retornos de carro, alineación
entre, otros.
Todo en pro de una mejor lectura.

En realidad, tu editor avanzado lucirá más “desordenando”, algo


de la siguiente manera:

Sin se visualiza el editor avanzado en Excel también se verá un poco diferente,


debido a que el resaltado de sintaxis (colores) no existe, tampoco el número de
líneas ni las líneas verticales de guía para indexación

Figura 11. 6 – Cuerpo del Editor Avanzado sin Formato

www.excelfreeblog.com
552 Capítulo 11 • Elementos y Herramientas Primordiales para Trabajar con M

Opciones de Presentación

El propio editor avanzado viene equipado con un catálogo de


ayudas para mejorar la legibilidad del código.

— ¿Dónde están dichas opciones?

En la parte superior derecha veremos claramente la etiqueta:


Opciones de presentación, en compañía con una pequeñísima
flecha, si desplegamos las opciones se muestran las
posibilidades:

Figura 11. 7 – Opciones de Presentación en el Editor Avanzado

La primera posibilidad: Mostrar números de línea viene habilitada


por defecto, habilitemos las otras opciones para ver en qué
consisten.

www.excelfreeblog.com
El ADN de Power Query 553

Mini mapa de visualización: Habilita una


Representación de espacio en blanco:
pequeña vista que permite desplazarnos
Muestra cada espacio por medio de un
rápidamente de forma vertical
punto.

Mostrar número de línea: Como su nombre lo indica enumera cada


elemento único del lenguaje M. Funciones, parámetros, operadores, etc.

Figura 11. 8 – Detalles de las Opciones de Presentación

www.excelfreeblog.com
554 Capítulo 11 • Elementos y Herramientas Primordiales para Trabajar con M

La última opción: Habilitar ajuste de líneas nos permite


visualizar el código M de tal manera que se vaya dividendo
hacia abajo si no hay espacio suficiente horizontalmente, de
esta manera, nos evitamos el desplazamiento en dicho sentido
(horizontal) y persevera una lectura netamente vertical.

Reglas de Formato

Las siguientes reglas nos pueden ayudar a mejorar aún más la


lectura del código, todo esto es opcional ya que podemos crear
nuestras propias convenciones, pero he aquí algunas ideas:

▪ Incluir un salto de línea entre el identificador (nombre de


variable) y la expresión (“función M, operador, etc.”).

▪ Incluir un espacio en blanco entre cada expresión en M,


si es requerido, ya que si son sentencias de expresiones
sencillas esta regla se puede omitir, ejemplo:

let
a = 1,
b=2
in
Código M b

▪ Poner un espacio antes y después de cada operador


común sin importar su categoría.

www.excelfreeblog.com
El ADN de Power Query 555

▪ Para mayor lectura es bueno dividir funciones con nombres


NOTA
largos y muchos parámetros de la siguiente forma:
A este punto puede que no
o Cada parámetro en una línea, exceptuando el primero, se comprenda muy bien la
terminología de los
ya que este dicta como se indexan del segundo distintos tipos de valores y
expresiones para aplicar las
parámetro en adelante. reglas de formato, sin
embargo, recomendamos
que una vez se haya
o Sin son listas o registros de valores estructurados o avanzado hasta el capítulo
13, regresa aquí y darle una
combinaciones de valores estructurados y primitivos,
mirada rápida.
cada una en su propia línea siguiendo las reglas de
indexación

▪ La función anónima dividirla en su propia línea siempre


que sea posible

¡Toma Nota!
Para agregar saltos de línea entres sentencias de código en el editor
avanzado de Power Query, es suficiente con utilizar la combinación
de teclas: Shift + Enter. Para indexar utiliza la tecla Tab para mayor
rapidez.

Enfatizamos que las reglas anteriores son meramente


opcionales, de hecho, nosotros mismos jugamos con ellas
añadiendo variaciones u omitiendo una que otra dependiendo
del caso.

La siguiente figura presenta un ejemplo básico de aplicación


de las reglas descritas:

www.excelfreeblog.com
556 Capítulo 11 • Elementos y Herramientas Primordiales para Trabajar con M

Figura 11. 9 – Optimización de Lectura de Código M

Debugging (Depuración de Programa)

El Debugging o depuración de programas consiste en corregir


errores, si bien el editor avanzado aún tiene muchísimas
carencias en este sentido, ya que no existen puntos de parada,
revisión de almacenamiento de variables, etc. La interfaz si que
ofrece un par de opciones sencillas.

www.excelfreeblog.com
El ADN de Power Query 557

Depuración integrada

Cuando incurrimos en errores de sintaxis en la interfaz del


editor de consultas, Power Query nos mostrará una línea roja
debajo de donde se produce el problema potencial.

Por ejemplo:

Tatúate esto:

Absolutamente todo en el lenguaje M incluyendo las


funciones integradas en Power Query son sensibles a
mayúsculas y minúsculas.

Por lo anterior, si fallamos en esta identificación la interfaz nos


advierte inmediatamente.

Para que sea aún más concreto. En Power Query tenemos


funciones que empiezan por la palabra Table seguido de otro
identificador, no obstante, es vital que la primera letra sea
mayúscula, si empezamos en minúscula esto ocurrirá:

Figura 11. 10 - Resaltado de Error de Sintaxis

Si posicionamos nuestro mouse encima de la línea de error, un


pequeño tooltip emerge con posibles ayudas para darle
solución al problema.

www.excelfreeblog.com
558 Capítulo 11 • Elementos y Herramientas Primordiales para Trabajar con M

TOOLTIP de ayuda

Quick Fix (Reparación rápida):


Peek Problem (Rastrear
Al pulsar clic en esta opción
problema): Al pulsar clic en
nos brinda posibles soluciones,
esta opción nos brinda más
si no encuentra ninguna arroja
información del error en cual
el siguiente mensaje: No code
se está incurriendo.
actions avaliable

Figura 11. 11 – Tooltip de ayuda para manejo de error (Quick Fix y Peek Problem)

Pulsamos clic encima de Peek problem o presionamos la


combinación de teclas Alt + F8.

kv
Figura 11. 12 – Peek Problem Activado

Se resalta el problema y una descripción aparece: Identificador


no válido, con lo cual nos esta ensaña que es un error de
nombre.

www.excelfreeblog.com
El ADN de Power Query 559

Post-mortem debugging

No todos los problemas los advierte le editor de consultas cuando


se está creando las líneas de código M, de hecho, es una cantidad
muy limitada de problemas las que enmarca en tiempo de
escritura.

Por ejemplo, el siguiente código presenta que no existe ningún


error de sintaxis.

Figura 11. 13 – Código M con ningún error de sintaxis detectado

Sin embargo, al ejecutar la consulta:

Figura 11. 14 – Error inesperado en la consulta

— ¡Boooooooooooooooooom!: Error.

www.excelfreeblog.com
560 Capítulo 11 • Elementos y Herramientas Primordiales para Trabajar con M

Para darle solución a este tipo de problemas, es conveniente


tener un mayor conocimiento del lenguaje M.

Si bien algunos mensajes hablan por si solos, como es el caso


el anterior donde se señala que no existe la variable, hay otras
cosas que requieren de un mayor conocimiento teórico y
práctico del lenguaje de funciones de Power Query.

Cabe señalar que el apoyo de la comunidad es invaluable, es


más, en la pestaña Ayuda en el grupo Comunidad podemos
pulsar en comando con el mismo nombre (Comunidad).

Figura 11. 15 – Ir a la comunidad para ayuda

Esto nos llevará al foro de Power BI donde podemos plantear


inquietudes.

Figura 11. 16 – Comunidad de Microsoft Power BI

www.excelfreeblog.com
El ADN de Power Query 561

Consideraciones

Un tema peliagudo en la programación mediante el lenguaje M


durante muchísimo tiempo fue la ausencia del Microsoft
IntelliSense.

— ¿Qué es el IntelliSense?

Microsoft IntelliSense es una aplicación de autocompletar y


resaltado de sintaxis para ayuda amigable de escritura de
código de programación o funciones, quien como su nombre
lo indica, completa nombres el código que el programador está
escribiendo, no obstante, sirve también como documentación
y para desambiguación de nombres de variables, funciones y
métodos cuando se usa la reflexión.

¡Riesgo: Advertencia!
REPETIMOS Y EN APOYO A LA NOTA DE COSTADO:
La generosidad del Intellisense la tenemos disponible únicamente para
el Power Query en Power BI desde la actualización de abril del 2019
de manera full, esto quiere decir, que para Excel y otras tecnologías a
LA fecha de escritura de este libro aún no ha sido implementado.

Las diferencias no cesan allí, esto se debe a que las opciones


de presentación también están sólo disponibles en Power Query
para Power BI.

www.excelfreeblog.com
562 Capítulo 11 • Elementos y Herramientas Primordiales para Trabajar con M

El Siguiente Paso

Ya exploramos la antesala antes de poner nuestras manos en


funciones y código M como tal.

En el próximo capítulo estudiaremos las expresiones a un


primer nivel las cuales componen los bloques fundamentales
de creación en el lenguaje M, así como conceptos asociados a
ello, como variables y literales.

www.excelfreeblog.com
El ADN de Power Query 565

Capítulo 12

Capítulo 12: Expresiones, Declaración de Variables y


Literales

www.excelfreeblog.com
566 Capítulo 12 • Expresiones, Declaración de Variables y Literales

Introducción

A pesar de que en el capítulo anterior no se vio M propiamente,


no podemos desestimar con seguridad que sus detalles harán
que trabajemos con mayor eficiencia, no obstante, como si las
lentes de una cámara se hubieran enfocado, comenzamos a ver
código M nítidamente de ahora en adelante.

¡Let’s Play!
ARCHIVO DE TRABAJO: Para trabajar el presente capítulo no
necesitamos ningún archivo en particular, solamente basta con
crear un Power BI en blanco y guardarlo con cualquier nombre.

Escribir M desde Cero (Consulta en Blanco)

NOTA Un primer paso es conocer como empezar a utilizar el lenguaje


M a partir de la nada, es decir, desde cero.
A este punto debe ser
intuitivo que del archivo en
blanco de Power BI Conseguirlo es bastante sencillo, ya que lo único que debemos
debemos llegar a la interfaz
de Power Query en primer hacer es crear una consulta en blanco, para ello podemos
lugar, para ello:
seguir la ruta en el editor de Power Query:
Inicio → Datos Externos →
Editar Consultas

Pestaña: Inicio
Grupo: Nueva Consulta
Opciones: Nuevo Origen
Comando: Consulta en Blanco

www.excelfreeblog.com
El ADN de Power Query 567

Otra forma de crear una nueva consulta en blanco consiste en:

Pulsar clic derecho encima de un área vacía en el panel de


consultas, con dicha acción se despliega un pequeño menú, en
el vamos a nueva consulta, con lo cual se despliega otro
pequeño menú, donde podemos ubicar el comando consulta
en blanco y presionar clic.

Luego de eso nos parece en el panel de consulta una nueva


con el nombre genérico: Consulta1.

Finalmente, vamos al editor avanzado utilizando cualquiera de


los métodos vistos en el capítulo anterior.

Figura 12. 1 – Contenido de una Consulta en Blanco

Aunque el comando dice consulta en blanco, podemos


apreciar en el editor avanzado que en realidad no está
completamente vacía, es más nos encontramos con las líneas
la expresión let-in y la variable Origen.

www.excelfreeblog.com
568 Capítulo 12 • Expresiones, Declaración de Variables y Literales

Expresiones
Cada parte en el lenguaje M consiste en bloques de creación,
el cual está constituido por una variable y una expresión. Una
expresión es una fórmula utiliza para construir un valor. La
primera a conocer por excelencia es la expresión Let-in.

NOTA Expresión: «let»

La expresión «Let» permite


La cláusula Let es como un heraldo, quien anuncia la llegada de
construir el valor mediante
la utilización de expresiones otras expresiones, más concretamente, marca el inicio de la
intermedias, esto enfocado
al paradigma divide y declaración de variables, es decir, todo lo que va a
vencerás, en lugar de continuación de esta “palabra reservada” consiste en
escribir una expresión
gigante y compleja, se hace sentencias para definir variables y su contenido (expresiones).
mediante pasos con
expresiones más pequeñas.

¡Toma Nota!
Cada declaración de variable se indica en su propia sentencia, por
decirlo coloquialmente: en su propia línea de código.
Principio básico: Las declaraciones se dividen entre sí con el símbolo
coma (,) obligatoriamente, ejemplo:

let
A = 10,
B = A + 10
in
B

Ahora podemos entender porque Power Query coloca por


defecto la expresión «let» a pesar de que se indicó que la
consulta fuera en blanco.

www.excelfreeblog.com
El ADN de Power Query 569

Expresión: «in»

La cláusula In sería el heraldo que anuncia el final del bloque de


código o expresión, adicionalmente, en él se indica la variable
que arrojará como resultado la consulta y se visualizará en el
panel de resultados, normalmente es una tabla, sin embargo,
puede ser un valor primitivo como: 1, “ABC”, null o un valor
estructurado como listas, registros (records) o tablas.

¡Toma Nota!
En el «in» no tiene que ir necesariamente el nombre de la última
variable declarada en el «let», de hecho, ni siquiera es necesario que
vaya una variable declarada en el «let».
Los detalles de esto se verán más adelante.
• Ejemplo:

Let
A = 10,
B = 20,
C = 30,
D= A + B + C
E=B+C
In
D

Quizá no sea inútil indicar aquí que no todo el código M vive


dentro del cuero del bloque «let-in», existen otras expresiones,
sin embargo, podemos decir que un 80% si habita en el bloque
de creación por excelencia.

www.excelfreeblog.com
570 Capítulo 12 • Expresiones, Declaración de Variables y Literales

Declaración de Variables
NOTA Hemos mencionado que lo que va en el cuerpo de la expresión
«let» son otras expresiones, a estas se les puede ver también
M es sensible a mayúsculas
y minúsculas, por lo tanto, como líneas de código para declaración de variables, pero:
la variable A es diferente a
la variable a. Además, se de — ¿Cómo se declara una variable?
respetar en toda la interfaz,
la palabra let la detecta, sin
En primer lugar y para que no quede ningún ápice de duda,
embargo, Let no.
brindemos una definición:

Declaración de Variable
La declaración de variable consiste en definir un espacio en
memoria para almacenar algo, a este espacio en memoria se le
asigna un nombre único para fácil identificación, por ello al
nombre de la variable también se le llama: Identificador.

Para entender las diferencias que existe entre la declaración el


lenguaje M y otros lenguajes de programación, veamos el
siguiente ejemplo en VB.NET:

Declaración en VB.NET

Nombre de la variable
(identificador)

Literal: indica el

Dim x As Integer = 8 valor que será


guardado en la
variable.
Palabra reservada Tipo de dato que se
que indica que se va a almacenar en
va a declarar una el espacio en
variable. memoria.

www.excelfreeblog.com
El ADN de Power Query 571

En el lenguaje M cambio bastante respecto a VB.NET porque


los elementos 1 y 3 dejan de existir.

Lenguaje M

Nombre de la variable
(Identificador)

Literal: indica el

NombreVariable = 8 valor que será


guardado en la
variable.

DECLARACIÓN DE VARIABLE

▪ En M no existe la necesidad de una palabra reservada


que indique que se va declara una variable, ya que van
siempre dentro de un bloque «let» que señala que todo
lo que va allí dentro son variables

▪ En M no existe la necesidad de indicar el tipo de dato,


el internamente detecta cuál tipo es.

¡Toma Nota!

No obstante, el lenguaje M sí que permite indicar el tipo de dato de


manera explícita cuando se declara una variable, aunque en la mayoría
de los casos esto es redundante. Para realizar se indica la palabra «as»
seguido del tipo, ejemplo:

NombreVariables = 8 as text

www.excelfreeblog.com
572 Capítulo 12 • Expresiones, Declaración de Variables y Literales

Variables, Expresiones y Sub-expresiones

Previamente hemos relacionado la explicación haciendo


equivalencia entre un lenguaje de programación conocido y M,
no obstante, de debe tener presente que: a cada fórmula en la
línea de declaración de variable se le denomina: expresión, estas
como se ha enmarcado son el núcleo central del lenguaje de
Power Query, y todo en Power Query es una expresión.

Para entender completamente esta parte, es importante hacer


diferenciación entre variable, expresión y sub-expresión:

Declaración de Variable, Expresiones y Sub-expresiones

Ejemplo 1:

VARIABLE EXPRESIÓN

NombreVariable = 8
Ejemplo 2:

VARIABLE SUB-EXPRESIÓN SUB-EXPRESIÓN

OtraVariable = 1400 + 1700


EXPRESIÓN

DECLARACIÓN DE VARIABLES

www.excelfreeblog.com
El ADN de Power Query 573

Representación en el Editor

Creemos el siguiente ejemplo en el editor avanzado de Power


Query:

let
a = 1,
b = 2,
c = a + b,
in
Código M
c

La presentación en el editor de Power Query.

La expresión del paso actual


seleccionado se visualiza en la barra
de fórmulas.

Las variables se muestran cada una en paso


en el área de pasos aplicados

Figura 12. 2 – Representación de Bloques de creación en la interfaz de Power Query

www.excelfreeblog.com
574 Capítulo 12 • Expresiones, Declaración de Variables y Literales

Acera de Variables: Identificador y Nombres

Las variables son nombres de valores, es decir, en el ejemplo


previo las variables a, b y c son nombres para valores que se
construyen mediante la expresión.

Todas las variables que se encuentran bajo una expresión


“padre” que en este caso sería la expresión «let» son únicas en
este ambiente, por ello, las variables también son conocidas como
identificadores porque sirven para identificarla en un ambiente
concreto.

Otra parte importante consiste en los caracteres que podemos


utilizar en estos nombres de variables o identificadores:

Identificadores ▪ Los nombres de variables deben empezar por con una


Regulares letra o con raya al piso (_) seguido de otros caracteres.

Identificadores ▪ Si el nombre de variable contiene espacios o empieza


Entre Comillas con un número o carácter especial es obligatorio
anteponer el símbolo numeral (#) y escribir el nombre
entre comillas dobles, ejemplos:

Ingresos = 10000,
_Gastosas = 2000,
#"Ingresos Totales" = 8000,
#"1/2Ingresos" = 4000,
Código M #"??Ingresos"

www.excelfreeblog.com
El ADN de Power Query 575

Literales
Un literal en programación es un valor escrito exactamente
igual como debe ser interpretado o almacenado.

Muchos valores pueden ser escrito de manera literal en Power


Query en la expresión no todo puede ser asignados de esta
manera, he aquí ejemplos de literales

let
x = 77,
y = true,
z = null
w = 2.5e-7
in Código M
z

Para otro tipo de valores es necesario apoyarse de funciones


que ayudan a construir el literal, nos explicamos, no podemos
escribir el literal para fecha: 27/4/2019, ya que si lo escribimos
tal cual Power Query realiza la división de cada a valor, y su lo
ponemos entre comillas dobles sería un valor de tipo texto y
no una fecha propiamente.

Por lo anterior, debemos recurrir a funciones que internamente


tomen valores literales y los transformen en fecha;

let
f = #date( 2019, 04, 27 )
in
f Código M

www.excelfreeblog.com
576 Capítulo 12 • Expresiones, Declaración de Variables y Literales

Construcción de tipo de datos en M

Como hemos visto no todo tipo de dato se puede construir


literalmente en Power Query, sin embargo, tenemos funciones
que nos apoyan:

Tabla 12. 1 Literales y Funciones para creación de tipos de datos

Algunas referencias llaman a todo simplemente literal, esto esta bien si se desea.

Comentarios

Como en todo lenguaje de programación, un comentario está


destinado a incrustar anotaciones legibles sobre nuestro
código, los comentarios son cruciales para nosotros como
programadores, no obstante, son ignoradas completamente
por la compilación interpretación del programa.

www.excelfreeblog.com
El ADN de Power Query 577

Power Query también viene equipado para realizar


comentarios.

▪ Si queremos realizar una línea de comentario debemos


poner dos slash: //

▪ Si queremos varias líneas de comentarios abrimos con:


/* y cerramos con */

Un literal en programación es un valor escrito exactamente


igual como debe ser interpretado o almacenado.

Ejemplos:

let

// Una línea de comentario


n = 77,

/* Así escribimos varias


Líneas de comentario */

t = #table(
{"x", "y"},
{ {1, 2}, Código M
{1, 0}
}
)

in
t

www.excelfreeblog.com
578 Capítulo 12 • Expresiones, Declaración de Variables y Literales

El Siguiente Paso

Ya exploramos la antesala antes de poner nuestras manos en


funciones y código M como tal.

www.excelfreeblog.com
El ADN de Power Query 581

Capítulo 13

Capítulo 13: Tipos de Valores sus Operaciones y Valores


Intrínsecos

www.excelfreeblog.com
582 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Clases de Valores

Conocemos que los ladrillos que edifican el lenguaje M son las


expresiones.

Una expresión al ser evaluada produce un valor que será


almacenado una variable (identificador), a pesar de ello, la
siguiente pregunta natural que surge es:

— ¿Cuáles tipas de valores podemos guardar en las variables?

En M tenemos dos grandes clases de valores:

▪ Valores primitivos
▪ Valores estructurados

Cada una de las clases está constituido por un grupo de


valores, que empezaremos a estudiar en breve, y a ellos se les
asocia:

▪ Una sintaxis “literal”


▪ Un conjunto de valores que son de ese tipo
▪ Un conjunto de operadores
▪ Un valor intrínseco adscrito a valores de nueva
construcción

www.excelfreeblog.com
El ADN de Power Query 583

Valores Primitivos (Atómicos)

Los valores primitivos son la forma más simple de un dato,


debido a que son atómicos lo cual hace referencia a que es un
pedacito de dato que no está construido a partir de otro. La
siguiente tabla presenta los valores primitivos y su “literal”.

Tabla 13. 1 Valores Primitivos y sus Literales

Valores: Numéricos

Este tipo de valor sabemos que no necesita mayor explicación,


sin embargo, dejamos documentado que:

Valores Numéricos
Un tipo de valor numérico en el lenguaje M es utilizada para
llevar a cabo operaciones aritméticas. Estos valores incluyen:
número entero, entero exponencial, fracciones, fracciones
exponenciales y numero hexadecimal.

www.excelfreeblog.com
584 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Loas anteriores tipos de valores numéricos podemos decir que


Casos Clásicos son los Casos Clásicos, he aquí unos ejemplos:

let
a = 29,
b = 29e9,
c = 3.14,
d = -1.5e3,
e = 0xff
Código M in
e

Un número en el lenguaje M es representado con una precisión


de por lo menos 64 bits, y el valor puede ir aproximadamente
de 5.0 x 10 ^ - 324 a 1.7 x ^ 308 com una presión de 15 a 16
dígitos.

Casos Especiales También tenemos unos Casos Especiales que también quedan
en la sobrilla de valores numéricos.

Tabla 13. 2 Casos Especiales de Valores Numéricos

Los demás casos de indeterminación se producen con la función: Number.Power

www.excelfreeblog.com
El ADN de Power Query 585

Ejemplos:

let
f = +0,
g = -0,
h = #infinity,
i = -#infinity,
k = #nan Código M
in
k

▪ Si el resultado de una operación matemática es


demasiado pequeño para ser representado con el
formato de destino, el resultado se convierte en cero
positivo o cero negativos dependiendo del caso.

▪ Si el resultado de una operación matemática es


demasiado grande para ser representado con el
formato de destino, el resultado de la operación se
convierte en infinito negativo o infinito positivo
dependiendo del caso.

▪ Si la operación matemática no es válida el resultado de


la operación se convierte en NaN.

▪ Si al menos uno de los dos operandos es una coma


flotante con valor NaN, entonces el resultado de la
operación es NaN.

www.excelfreeblog.com
586 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Toda consulta que brinde como salida un valor numérico se


visualiza en la consulta respectiva en el panel de consultas de
la siguiente manera:

Figura 13. 1 – Visualización de Icono de Consulta Numérica

Operaciones Hemos estado hablando de operaciones que se pueden


ejecutar entre valores numéricos, he aquí la tabla de dichos
operadores:

Tabla 13. 3 Operadores para valores numéricos

El valor intrínseco corresponde al valor por defecto que se


almacena de manera implícita.

www.excelfreeblog.com
El ADN de Power Query 587

El tipo nativo para los valores numéricos es el valor intrínseco:

type number.

Ejemplo con operaciones:

let
a = 20,
b = 99,
c = a + b,
d = 77e8,
e = d*c
in Código M
e

Valores: Fecha

Los valores de fecha al igual que en el motor clásico de


funciones de Excel y el lenguaje DAX son tratados como
números.

Valores Fecha
Sabemos que las fecha son máscaras para números y en su
representación estos valores de fecha empiezan desde el 1 de
enero del 0001 (era común del calendario gregoriano) al 31 de
diciembre del 9999.

Para signar este tipo de dato a una variable tenemos que


apoyarnos de el valor interseco o función #date:

#date (año, mes, día)

www.excelfreeblog.com
588 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Derivado de los rangos de fechas, las siguientes


consideraciones deben estar presentes para los parámetros de
la función #date y así evitar errores:

▪ 1 < año ≤ 9999


▪ 1 < mes ≤ 12
▪ 1 < día ≤ 31

Adicionalmente, el mes debe ser válido para el mismo en


cuestión. Ejemplo:

let
f = #date(2019,4,23),
g = #date(2018,6,14),
h = #date(2016,3 ,17),
i = #date(2015 ,4,24)
Código M in
f

Operaciones Las operaciones con valores de fecha se dividen en dos partes,


primero cuando ambos operandos son fechas:

Tabla 13. 4 Operadores para Valores de Fecha, PT. 1

www.excelfreeblog.com
El ADN de Power Query 589

Por otra parte, tenemos los operadores que permite al menos


un operando sea de tipo fecha.

Tabla 13. 5 Operadores para Valores de Fecha, PT. 2

Ejemplo:

let
a = #date(2019,4,23),
b = #date(2018,6,14),
c=a-b
in
// el resultado es de tipo duración Código M
c

Toda consulta que brinde como salida un valor de tipo fecha se


visualiza en la consulta respectiva en el panel de consultas de
la siguiente manera:

Figura 13. 2 – Visualización de consulta que arroja tipo fecha

www.excelfreeblog.com
590 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

El tipo nativo para los valores numéricos es el valor intrínseco:

type date

Valores: Hora

La hora en el leguaje M se representa con un número.

Valores Fecha
El valor de tipo fecha consiste en el número de tics desde la
media noche, esto viene a ser el número de tics de 100
nanosegundos que han transcurridos en un reloj de 24 horas,
por lo tanto, el máximo número de tics es: 23:59:59.9999999.

Para asignarle este tipo de valor a una variable debemos


apoyarnos del valor interseco o función #time.

#time (hora, minuto, segundos)

Derivado de los rangos de horas, las siguientes


consideraciones deben estar presentes para los parámetros de
la función #time y así evitar errores:

▪ 1 < hora ≤ 24
▪ 1 < minutos ≤ 59
▪ 1 < segundos ≤ 59

Adicionalmente, si la hora es igual a 24, entonces, los minutos


y segundos deben ser 0.

www.excelfreeblog.com
El ADN de Power Query 591

Ejemplo:

let
a = #time(14,30,0),
b = #time(9,37,50),
c = #time(24,0, 0),
in
Código M
c

Las operaciones con valores de fecha se dividen en dos partes Operaciones


también, primero cuando ambos operandos son fechas:

Tabla 13. 6 Operadores para tipo hora, Pt.1

let
a = #time(14,30,0),
b = #time(9,37,50),
c = a <> b
in
Código M
// El valor retornado es lógico (bololena)
c

www.excelfreeblog.com
592 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Igual que el valor fecha, el segundo grupo de operadores


corresponde a aquello que permite al menos un operado sea
de tipo hora.

Tabla 13. 7 Operadores para tipo hora, Pt.2

Ejemplo:

let
k = #time(14,30,0),
q = #time(9,37,50),
p=k-q
in
Código M q

Toda consulta que brinde como salida un valor de tipo hora se


visualiza en la consulta respectiva en el panel de consultas de
la siguiente manera:

Figura 13. 3 - Visualización de Consulta que arroja tipo hora

www.excelfreeblog.com
El ADN de Power Query 593

El tipo nativo para los valores numéricos es el valor intrínseco:

type time

Valores: Fecha y Hora

Este tipo de dato contiene tanto el valor fecha y el valor hora


en un mismo lugar

Para signar este tipo de dato a una variable tenemos que


apoyarnos del valor interseco o función #datetime:

#datetime (año, mes, día, hora, minutos, segundos)

Las restricciones para cada parámetro son los mismo que para
fecha y hora, los dejamos a continuación para visualizar todo
en un mismo lugar.

▪ 1 < año ≤ 9999


▪ 1 < mes ≤ 12
▪ 1 < día ≤ 31
▪ 1 < hora ≤ 23
▪ 1 < minutos ≤ 59
▪ 1 < segundos ≤ 59

¡Toma Nota!
Las tablas de operadores se extrapolan fácilmente bien sea del tipo
fecha o del tipo hora, ya que son exactamente lo mismo, lo que varia
es el operando especifico en la segunda tabla de operaciones.

www.excelfreeblog.com
594 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Toda consulta que brinde como salida un valor de tipo hora se


visualiza en la consulta respectiva en el panel de consultas de
la siguiente manera:

Figura 13. 4 - Visualización de Consulta que arroja fecha y hora

El tipo nativo para los valores numéricos es el valor intrínseco:

type datetime

Valores: Fecha, Hora y Zona Horaria

El valor fecha, hora y zona horaria contiene los valores fecha y


hora más la zona horaria.

La zona horaria se codifica como un número de minutos de


desplazamiento desde UTC, la cual cuenta el número de
minutos de la parte horaria de la fecha y hora que debe
compensarse con el Tiempo Universal Coordinado (UTC). El
número mínimo de minutos de desplazamiento desde UTC es
-840, lo que representa un desplazamiento UTC de -14: 00, o
catorce horas antes que UTC. El número máximo de minutos
de desplazamiento desde UTC es 840, que corresponde a un
desplazamiento UTC de 14:00.

www.excelfreeblog.com
El ADN de Power Query 595

Para signar este tipo de dato a una variable tenemos que


apoyarnos del valor interseco o función #datetimezone:

#datetimezone (
año, mes, día,
hora, minutos, segundos,
desfase-hora, desfase-minutos)

Las restricciones para cada parámetro deben ser verdaderas y


así evitar errores:

▪ 1 < año ≤ 9999


▪ 1 < mes ≤ 12
▪ 1 < día ≤ 31
▪ 1 < hora ≤ 23
▪ 1 < minutos ≤ 59
▪ 1 < segundos ≤ 59
▪ -14 < desfase-hora ≤ 14
▪ -59 < desfase-minutos ≤ 59

Consideraciones adicionales:

▪ El día debe ser válido para el año y mes específico.

▪ Si el desfase de hora es igual a 14, entonces, el desfase


de minutos debe ser menor o igual a 0, por otra parte,
si el desfase de hora es igual que -14, entonces, el
desfase de minutos debe ser mayor o igual que 0.

www.excelfreeblog.com
596 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Ejemplo:

let
s = #datetimezone(2013,02,26, 09,15,00, 09,00)
in
s
Código M

Al igual que todos los valores que tiene que ver con el tiempo
Operaciones las operaciones con valores de fecha se dividen en dos partes,
primero cuando ambos operandos son fechas:

Tabla 13. 8 Operadores para valores Fecha, hora y zona horaria

Ejemplo:

let
z1 = #datetimezone(2013,02,26, 09,15,00, 09,00),
z2 = #datetimezone(2014,07,11, 10,17,00, 09,00),
z3 = z1 = z2
Código M in
z3

www.excelfreeblog.com
El ADN de Power Query 597

El segundo conjunto de operadores, como es de esperar,


corresponde a aquellos que permiten que al menos un
operador sea de tipo fecha, hora y zona horaria.

Tabla 13. 9 Operadores para Fecha, hora y zona. Pt 2

Ejemplo:

let
z1 = #datetimezone(2013,02,26, 09,15,00, 09,00),
z2 = #datetimezone(2014,07,11, 10,17,00, 09,00),
z3 = z1 - z2
in Código M
z3

Toda consulta que brinde como salida un valor de tipo fecha,


hora y zona horaria se visualiza en la consulta respectiva en el
panel de consultas de la siguiente manera:

Figura 13. 5 - Visualización de Consulta que arroja tipo hora

www.excelfreeblog.com
598 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

El tipo nativo para los valores numéricos es el valor intrínseco:

type datetimezone

Adicionalmente, si la hora es igual a 24, entonces, los minutos


y segundos deben ser 0.

Valores: Duración

El valor de duración almacena un número que representa la


distancia entre dos puntos en una línea de tiempo medida en
100 nano segundos tics.

La magnitud de la duración puede ser positiva o negativa,


donde el valor positivo indica movimiento hacia adelante en la
línea de tiempo mientras que si es negativo significado un
movimiento hacia atrás en la línea de tiempo.

El valor mínimo que se puede almacenar:

▪ -9,223,372,036,854,775,808 tics o 10,675,199 días


con 2 horas, 48 minutos y 05.4775808 segundos
atrás en el tiempo.

El valor máximo que se puede almacenar:

▪ 9,223,372,036,854,775,807 tics o 10,675,199 días 2 horas,


48 minutos y 05.4775807 segundos adelante en el tiempo.

www.excelfreeblog.com
El ADN de Power Query 599

Para signar este tipo de dato a una variable tenemos que


apoyarnos del valor interseco o función #duration:

#duration (días, horas, minutos, segundos)

Ejemplo 1:

let

// 5.5 segundos
a = #duration(0, 0, 0, 5.5),
// -5.5 segundos
b = #duration(0, 0, 0, -5.5),
// 5.5 minutos
c = #duration(0, 0, 5, 30),
// 4.5 minutos
d = #duration(0, 0, 5, -30),
// 1 día Código M
e = #duration(0, 24, 0, 0),
// 1 día
f = #duration(1, 0, 0, 0)

in
f

Ejemplo 2:

let
// 2 días
a = #duration(2, 22, 57, 3)
in
a Código M

www.excelfreeblog.com
600 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Al igual que todos los valores que tiene que ver con el tiempo
Operaciones las operaciones con valores de duración se dividen en dos
partes, primero cuando ambos operandos son fechas:

Tabla 13. 10 Operadores de valores de duración, Pt1.

Igual que el valor duración, el segundo grupo de operadores


corresponde a aquello que permite al menos un operado sea
de tipo duración.

Tabla 13. 11 Operadores de valores de duración, Pt2.

Toda consulta que brinde como salida un valor de tipo hora se


visualiza en la consulta respectiva en el panel de consultas de
la siguiente manera:

www.excelfreeblog.com
El ADN de Power Query 601

Figura 13. 6 - Visualización de Consulta que arroja tipo hora

Para signar este tipo de dato a una variable tenemos que


apoyarnos del valor interseco o función #duration:

El tipo nativo para los valores numéricos es el valor intrínseco:

type duration

Valores: Texto

Los valores de texto representan una cadena de caracteres


Unicode.

Ejemplo:

let
// Debe ir siempre entre comillas dobles
a = "El ADN de Power Query"
in
a Código M

www.excelfreeblog.com
602 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Como todo los valores que existen en Power Query, los de


Operaciones texto también tienen operaciones asociadas:

Tabla 13. 12 Operadores de Valores de Texto

Ejemplo:

Let

var1 = "Escuela",
var2 = "De Inteligencia de Negocios",
var3 = "ESCUELA",
var4 = "DE INTELIGENCIA DE NEGOCIOS",
var5 = (var & var2) = (var3 & var4)

in

/* Recordemos que el lenguaje M es sensible a


Código M A mayúsculas y minúsculas, ni importa si es
Un carácter o una cadena de caracteres, cada
Uno debe coincidir de manera exacta/*

var5

www.excelfreeblog.com
El ADN de Power Query 603

Toda consulta que brinde como salida un valor de tipo texto se


visualiza en la consulta respectiva en el panel de consultas de
la siguiente manera:

Figura 13. 7 - Visualización de Consulta que arroja tipo hora

El tipo nativo para los valores de texto es el valor intrínseco:

type text

Valores: Lógico

El valor lógico es el que utilizamos para operaciones booleanas,


es decir, asociado a true o false.

Valores Lógicos
Un tipo de valor lógicos también conocido como booleano es
aquel que puede representar valores lógicos binarios, esto es, 2
valores, que representan verdadero o falso, normalmente son
indicados en cualquier lenguaje en inglés: true o false.

Al tener únicamente dos posibilidades, para asignar valores de


este tipo a una variable tenemos los literales: true o false, todo
en minúsculas.

www.excelfreeblog.com
604 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Ejemplo:

Let
f = false,
v = true
in
Código M v

Operaciones Las operaciones con valores lógicos son las siguientes:

Tabla 13. 13 Operaciones del tipo de valor lógico

Ejemplo:

let
a = false,
b = true,
c = a and b
in
Código M c

www.excelfreeblog.com
El ADN de Power Query 605

Toda consulta que brinde como salida un valor de tipo lógico


se visualiza en la consulta respectiva en el panel de consultas
de la siguiente manera:

Figura 13. 8 - Visualización de Consulta que arroja tipo lógico

El tipo nativo para los valores lógicos es el valor intrínseco:

type logical

Valores: Nulo (null)

El valor nulo es utilizado para representar tres cosas


fundamentales:

▪ Ausencia de un valor
▪ Valor indeterminado
▪ Estado desconocido de un valor

El valor nulo es escrito con literal: null

www.excelfreeblog.com
606 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Operaciones Las operaciones con valores Nulo son las siguientes, aunque
de debe prestar especial atención al comportamiento que
surge de cada uno:

Tabla 13. 14 Operaciones con el tipo Nulo

¡Riesgo: Advertencia!

NOTA 1:
El valor null no es igual a una cadena de caracteres vacía: "" ni tampoco
es igual a espacio o caracteres no imprimibles, es decir, tabulación,
marcas de párrafo, espacios especiales y retornos (enters).
En definitiva, y grábate esto a fuego: null es únicamente igual null.
NOTA 2:
Por otra parte, al utilizar cualquiera de los siguientes operadores de
comparación (>, >=, <, <=) sin incluir (=, <>) donde uno de los
operandos es un valor null, entonces, el resultado no es un valor
lógico sino también un valor de tipo null.
No obstante, cuando se utiliza los operadores (=, <>) y uno de los
operados involucrados es un valor null, entonces, el valor retornado
es lógico.

www.excelfreeblog.com
El ADN de Power Query 607

Ejemplos:

let

a = null,
b = null,
c = true,
d = 5,
e = "",

f = a = b, // Retorna: true
g = a = d, // Retorna: false
h = a = c, // Retorna: false
Código M
i = a = e, // Retorna: false

j = a > b, // Retorna: null


k = a <= b, // Retorna: null

in
k

Toda consulta que brinde como salida un valor de tipo null se


visualiza en la consulta respectiva en el panel de consultas de
la siguiente manera:

Figura 3. 8 - Visualización de Consulta que arroja tipo lógico

www.excelfreeblog.com
608 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

El tipo nativo para los valores null es el valor intrínseco:

type null

Valores: Binarios

Los valores binarios representan una secuencia de bytes. No


existe un literal para este tipo de valor, sin embargo, hay
librerías estándar en el lenguaje M para asignación y
construcción de valores binarios, ejemplo: #binary puede ser
utilizada para construir un valor binario mediante una lista de
bytes:

#binary({0x00,0x01,0x02,0x03})

Sus operadores:

Tabla 13. 15 Operadores para el tipo binario

El tipo nativo para los valores null es el valor intrínseco:

type binary

www.excelfreeblog.com
El ADN de Power Query 609

Toda consulta que brinde como salida un valor de tipo null se


visualiza en la consulta respectiva en el panel de consultas de
la siguiente manera:

Figura 13. 9 - Visualización de Consulta que arroja tipo lógico

Operadores de Tipo: Compatibilidad y


Aserción
Se ha tratado el conjunto de operadores que trabaja con cada
tipo de valor primitivo, es decir, los operadores comunes, sin
embargo, tenemos en el lenguaje M otros dos operadores
especiales que aplican a ellos y a los valores estructurados (que
se verán más adelante en este capítulo):

▪ Operador de compatibilidad: is
▪ Operador de aserción: as

www.excelfreeblog.com
610 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Operador is

El operador is retorna true si el tipo almacenado en la variable


coincide con el valor intrínseco que se pregunta o falso en caso
contrario.

let
a = 12,
b = #date(2019,4,23),
c = #time(14,30,0),
d = true,
e = null,

v1 = a is number, //true
v2 = b is date, //true
Código M
v3 = c is logical, //false
v4 = d is null, // false
v5 = e is time //false
in
v5

Operador as

El operador as La expresión x como y afirma que el valor x es


compatible con y según el operador is.

Ejemplo:

let
a = 1 as number,
in
a is number
Código M

www.excelfreeblog.com
El ADN de Power Query 611

Valores Estructurados (Compuestos)

Los valores estructurados también conocidos como valores


complejos en M, están compuestos por valores primitivos o
por valores compuestos a su vez, que en conjunto brinda un
formato estructurado.

Por ejemplo, una columna que contenga los ingresos esta


compuesta por muchos valores primitivos numéricos, pero en
conjunto cobra un nuevo significado como parte de un dato y
representa un atributo. Para aterrizarlo a la vida cotidiana,
puede ser una columna que indique las distintas tallas en una
tienda de ropa.

— ¿Cuáles son los tipos de valores estructurados?

Tenemos:

▪ Listas (List)
▪ Registro (Record)
▪ Tablas (Table)
▪ Funciones (Function)
▪ Tipos (Types)

¡Toma Nota!
Cuando importamos tablas a Power Query, cargamos comúnmente
tablas, no obstante, ellas pueden contener anidación de registros, litas
y tablas, especialmente, cuando se trabajo con archivos de JASON,
XML o incluso cuando trabajamos con el conector desde una carpeta

www.excelfreeblog.com
612 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Valores: Lista y Operador de Índice Posicional

El tipo de valor estructurado más simple y sencillo de estudiar


es la lista, he aquí su definición:

Valores de Lista
Una lista es una secuencia ordenada de valores primitivo o
estructurados que se pueden enumerar. Los valores producidos
por un alista pueden ser de cualquier tipo, como: numéricos,
lógicos, listas, tablas, etc.

Una lista poder ser visualizada como una columna especifica de


una tabla (sin su etiqueta de columna).

Para signarle este tipo de valor a una variable tenemos a


nuestra disposición la sintaxis de inicialización:

Sintaxis de Inicialización:

Cada valor en la lista se tiene


que separar con coma (,)

Primero se inicia con un Se finaliza con un


corchete de apertura corchete de cierre

{ Valor1 , Valor2 , … }

Puede ser
1. Un valor primitivo, ejemplo: 12
2. Un valor estructurado, ejemplo: {1,2}
3. Una expresión, ejemplo: (12+5)/7

www.excelfreeblog.com
El ADN de Power Query 613

Ejemplos:

let
// Lista de valores numéricos
a = {1, 2, 3, 4, 5, 6, 7},
// Lista de textos
b = {"A","B","C","D"},
// Lista alfanumérica
c = {1, "A", 2, "B"},

// Lista de Listas
d = {{1,2}, {3,4,7}, {7,7}, {9,1,2,5}},

// Lista de Listas Código M


e={
{1,2},
{3,4,7},
{7,7},
{9,1,2,5}
},
In
e

Podemos hacer uso crear listas de auto relleno fácilmente


ejemplo:

let
// Lista de autorelleno
a = {1 .. 7}
// Que es equivalente a {1:7}
in
Código M
a

Veamos cómo se visualiza en el panel de resultados:

www.excelfreeblog.com
614 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Figura 13. 10 – Lista de auto relleno

Es posible crear varios listos de incremento con el alfabeto

let
a = { "A" .. "K" },
in
a
Código M

Por otra parte, podemos indicar rangos y valores específicos en


una misma lista:

let
a = { 1 , 4 , 5 .. 15 , 27 , 31 , 50 .. 60 },
in
a
Código M

www.excelfreeblog.com
El ADN de Power Query 615

Una lista vacía es perfectamente aceptada en una variable en


el lenguaje M.

let
emp = {}
in
emp
Código M

Las operaciones comunes aplican a los valores estructurados, Operaciones


para las listas lo presentados a continuación son válidos: Comunes

Tabla 13. 16 Operadores para el tipo de valor lista

Ejemplo:

let
lst1 = { 1 , 2 , 3 },
lst2 = { 4 , 5 , 6 },
lst3 = list1 & lst2
in
lst3 Código M

La historia no acaba allí. ¿El motivo?, para los valores de lista


Operado de
tenemos un operador adicional, denominado operador de índice
índice posicional, el cual permite acceder a un valor concreto Posicional

en una lista mediante un índice en base 0. Y se denota: {}

www.excelfreeblog.com
616 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Para utilizar este operador basta en indicar el nombre de la lista


y entre corchetes indicar el índice posicional, este es número
entero que inicia desde el cero.

Ejemplo:

let
a = { 1 , 4 , 5 .. 15 , 27 , 31 , 50 .. 60 },
a1 = a{0} // retorna el valor: 1

b = { 7 , .. 29 },
b1 = b{7} // retorna el valor: 14

Código M c = {{1,2}, {3,4,7}, {7,7}, {9,1,2,5}},


c1 = c{2} // retorna el valor de lista: {7,7}

in
c1

Toda consulta que brinde como salida un valor de tipo lista se


visualiza en la consulta respectiva en el panel de consultas de
la siguiente manera:

Figura 13. 11 - Visualización de Consulta que arroja tipo lista

www.excelfreeblog.com
El ADN de Power Query 617

El tipo nativo para los valores de lista es el valor intrínseco:

type list

Que especifica un ítem de tipo any.

Valores: Registros (Record) y Operador de


Búsqueda

Cuando trabajamos en Power Query los valores de tipo registro


aparecen esencialmente con archivos no estructurados tales
como JSON y se manipular datos en una tabla.

— ¿Qué es un valor de registro?

Valores de Registro (Record)


Un registro es una serie ordenada de parejas llave/valor. La llave
conocida también como: nombre de campo es un valor de tipo
texto que se identifica de manera única, mientras que el valor,
conocido también como valor de campo puede ser un valor
primitivo o estructurado.

Un registro (record) puede visualizarse de manera aproximada


como una fila en una tabla (con la identificación de su respectiva
etiqueta de columna)

Para asignarle un valor de tipo registro a una variable tenemos


a nuestro alcance la sintaxis de inicialización.

www.excelfreeblog.com
618 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Sintaxis de Inicialización:

Cada paraje llave/valor se tiene


que separar con coma (,)
Primero se inicia con un Finalización con un
paréntesis cuadrado de paréntesis cuadrado de
apertura cierre

[ X = 1 , Y = 2]

Nombre de campo Valor de campo;


(key); valor de tipo Cada pareja Nombre valor de cualquier
texto único, de campo/valor de tipo, ejemplo: 1, “A”,
ejemplo: ID, campo se debe {1,2}, [A=1,B=2].
Nombre, etc. separar con igual (=)

Ejemplos con valores primitivos

let
// registro con valores de campo numéricos
a = [ A = 1 , B = 2 , C = 3 , D = 4, E = 5 ] ,

// registro con valores de campo texto


b = [ Nombre = "Miguel", Apellido = "Caballero" ] ,

// registro con valores de campo “mixtos”


Código M c = [ ID = 1 , Tipo = null , Empleado = true]

in
c

www.excelfreeblog.com
El ADN de Power Query 619

Ejemplos con valores estructurados:

let

// Registro de registros
r = [ M = [X = 1 , Y = 2] ,
N = [Q = 2 , P = 7 , K = 9] ,
O = [Z = 1 , W = 2]
]

// Registro de listas
e=[A={1,2,3},
B={4,5,6},
C={7,8,9}, Código M
],

// Registro de mixto
l=[A={1,2,3},
N = [Q = 2 , P = 7 , K = 9],
C = #time(14,30,0)
]

In
l

Un registro vacío es perfectamente aceptado en una variable


en el lenguaje M.

let
emp = []
in
emp
Código M

www.excelfreeblog.com
620 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Operaciones Las operaciones con valores de registro son las siguientes:

Tabla 13. 17 Operadores para el valor de tipo registro

Ejemplo:

let
a = [ A = 1 , B = 2 , C = 3 , D = 4, E = 5 ] ,
b=[F=6,G=7,H=8,I=9],
c=a&b
Código M in
c

Toda consulta que brinde como salida un valor de tipo registro


se visualiza en la consulta respectiva en el panel de consultas
de la siguiente manera:

Figura 13. 12 - Visualización de Consulta que arroja tipo lista

www.excelfreeblog.com
El ADN de Power Query 621

El tipo nativo para los valores de lista es el valor intrínseco:

type record

Que especifica una lista de campos vacía.

Valores: Tabla (Table)

Llegamos a lo que no es más familiar trabajar en Power Query,


las tablas, cada vez que nos conectamos a una fuente de datos
lo típico es que el resultado se visualiza como una tabla.

Valores de Tabla
Un tipo de valor tabla es una secuencia ordenada de filas, y una
fila es una secuencia ordenada de valores, el tipo tabla determina
la longitud de todas las filas en la tabla, los nombres de las
columnas el tipo de estas y su estructura.

Una tabla se puede visualizar (aproximadamente) como una


combinación de listas y registros

Para crear un valor de este tipo no existe una sintaxis literal, a


pesar de ello, t la librería de funciones de Power Query provee
diversas opciones, un de ellas es la función #table, que la
universalmente conocida para la construcción de este tipo de
valores.

www.excelfreeblog.com
622 Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos

Comentarios Finales

Tenemos mucho más que compartir sobre el lenguaje M, sin


embargo, para no demorar el lanzamiento del libro decidimos
compartirte hasta este punto.

Eso sí, la versión extendida (y final) continuará con un


recorrido más profundo.

www.excelfreeblog.com
dcxxiii

Epílogo
Si bien con todas las tablas preparadas y armonizadas con el formato tabular hemos
alcanzado un gran paso, lo cierto es que, esto es hasta ahora la primera etapa en el proceso
de inteligencia de negocios, puesto que por más bonita que estén nuestras consultas para
que realmente cobren sentido debemos extraer información de ellas.

El lenguaje DAX es nuestro siguiente destino: Así que, sin más dilación: a estudiar el lenguaje
DAX
El ADN de Power Query 625

→ ←

Información complementaria a los capítulos normales del libro, uno de ellos es un


resumen de un nuevo proyecto para el estudio de los tipos de tabla y el segundo
una referencia para Excel

Anexo A • Topología de Tablas


Anexo B • Intellisense para Excel

www.excelfreeblog.com
El ADN de Power Query 627

Anexo A
Topología de Tablas

INTRODUCCIÓN
*******

La topología de tablas es un nuevo proyecto que ha surgido mientras se redactaban


las páginas de este libro, el cual consisten en crear toda una nueva rama en preparación
de datos inteligente y Power Query que se dedique al estudio de las propiedades de
los distintos formatos de tablas, sin alterar su significado e información subyacente.

Todo con el fin de crear ejemplos, guías, referencias y funciones personalizadas para
este tipo de situaciones, bien sea CASOS comunes o de frecuencia mínima. Al
momento de escritura del libro El ADN de Power Query tan sólo se quiere plantear la
idea inicial, más no es aún un desarrollo completo de lo que se quiere conseguir. A
continuación, un brevísimo resumen:

www.excelfreeblog.com
628 Anexo A • Topología de Tablas

Formato Tabular / Tabular Table

Es un formato que presenta todos los datos en arreglos de filas (registros) y columnas
(campos), sin incluir ninguna especie de etiquetas ni totales a parte de los nombres de los
campos. Se dice que es óptimo cuando cumple todo el check list.

Tabla Transpuesta / Transpose Table

En términos cortos consiste en el formato tabular pero girado 90 grados a la izquierda.


Formalmente: es un formato que presenta todos los datos en arreglos de columnas y filas,
presentado las filas datos de un ente único y los elementos de columna señala la descripción
de dicho ente.

www.excelfreeblog.com
El ADN de Power Query 629

Formato de Tabla Dinámica / Pivot Table

Es el formato típico que resultado de la creación de una tabla dinámica sencilla, es decir,
es una tabla que resumen información en filas y columnas para mostrar un agregado en
sus valores de intersección.

Tabla Comprimida / Zipped Table

Es un formato que comprime los datos de otros campos en unas cuantas casillas en una
única columna, en ellas no sólo puede estar la información del nombre del campo sino
también los datos de los elementos en sí.

www.excelfreeblog.com
630 Anexo A • Topología de Tablas

Tabla Apilada / Stacked Table

Es un formato que congrega toda la información de un objeto único de datos en pequeños


grupos apilados uno debajo de otro (verticalmente), “a modo de estibas guardas en un
almacén”, a estos grupos, son los que asociamos a un registro o tupla en una base de
datos.

Tabla Abultada / Bulky Table

En términos cortos consiste en el formato tabular pero girado 90 grados a la izquierda.


Formalmente: es un formato que presenta todos los datos en arreglos de columnas y filas,
presentado las filas datos de un ente único y los elementos de columna señala la descripción
de dicho ente.

www.excelfreeblog.com
El ADN de Power Query 631

Anexo B
Microsoft Intellisense para Excel

INTRODUCCIÓN
*******

Únicamente contamos con el Intellisense en el lenguaje M en Power BI, es decir, este


menú desplegable que se muestra cuando estamos digitando el nombre de una función,
variable o algo asociado al lenguaje.

Por lo tanto, buscar una manera alterna para crear código sin incurrir en errores.

www.excelfreeblog.com
632 Anexo B • Intellisense para Excel

Notepad++

Ir a la pestaña Google y digitar Notepad++, es 100% gratuito, con lo


cual, no tendremos restricción en su descarga.

Notepad++: Es un editor de contexto gratuito. Descarga de internet.

Ir a la pestaña Lenguaje y Clic en la penúltima opción Defina su


lenguaje. Seleccionar nueva y llamar al lenguaje M.

En la pestaña Lista de palabras asigne a cada grupo según los


archivos de texto y seleccione Ignorar MAY./min

Definir comentarios y activar plegado de comentarios

Definir delimitadores según archivos de texto


4

www.excelfreeblog.com
El ADN de Power Query 633

En la ruta:

C:\Program Files (x86)\Notepad++\plugins\APIs


Pegar el archi M.xml

Reiniciar y definir lenguaje M

www.excelfreeblog.com
634 Anexo B • Intellisense para Excel

REFERENCIAS

Nosotros hemos aprendido Power Query, limpieza de datos y el lenguaje M gracias a la gran
de recursos que han desarrollado y publicado grandes expertos y divulgadores en la temática,
gracias a sus: Libros, Academias virtuales, recursos escritos y audiovisuales; este texto es una
realidad en habla hispana, de hecho, temario de este libro en diversos momentos se basan
directamente en contenido de estas grandes personas.

En esta parte te queremos dejar todos los libros que, a lo largo de los últimos años, nosotros
lo autores del presente texto hemos adquirido y estudiado para profundizar, interiorizar e
indagar en Power Query y lenguaje M. Todos los libros descritos inmediatamente son magia
pura y de cada uno de ellos podrás aprender diferentes cosas y utilidades extraordinarias;
es importante, advertir que todos ellos están en inglés, pero no dejan de ser obras de la
mayor relevancia en todo el mundo.

Referencias obligadas en tu estantería.

Agradecemos de todo corazón a:

Christopher Webb, Ken Plus, Miguel Escobar, Gil Raviv, Reza Rad, Lars Schreiber, Imke
Feldmann, Mike Girvin, Ruth Pozuelo Y Uwe Mester.

! GRACIAS!

www.excelfreeblog.com
El ADN de Power Query 635

Power Query for Power BI and Excel


Cristopher Webb • En: https://amzn.to/2QguM7A • Cross Join

El primer libro sobre Power Query se haya escrito, y aunque data del año del 2014 es una
excelente referencia aún en las fechas actuales, puesto que fue escritor con Excel y Power BI en
conjunto. Para nosotros es un clásico una bibliografía obligada para los amantes de la preparación
de datos con Microsoft.

M is for Data Monkey


Ken Plus & Miguel Escobar • En: https://amzn.to/2JvOYSp • Powered Solutions - Excel Guru

La guía por excelencia para Power Query y lenguaje M a nivel mundial. Este libro puso a
disposición de toda la humanidad conocimiento nunca documentado, explicado de manera clara
y sencilla, de hecho, es hoy por hoy la referencia número uno en Power Query. ¿Vas enserio?,
entonces, este libro debe estar en tu biblioteca.

▪ La segunda edición de este libro viene en camino: Master Your Data with Excel and
Power BI.

Collect, Combine and Transform Data Using Power Query


Gil Raviv • En: https://amzn.to/2wcJV0E • Data Chant

¡Una obra maestra!, un libro justo para encontrar otras temáticas para expandir las posibilidades
en transformación de datos y aplicaciones astutas con el lenguaje M. Otras de las guías
imprescindibles para nosotros los autores en aprendizaje práctica y profundización en Power
Query.

Power BI From Rookie to Rockstar | Book 3


Reza Rad • En: http://bit.ly/2QkXe8s • RADACAD

Reza Rad nos brinda a todos una guía gratuita sobre Power Query, y no porque sea libre de
costo es mala o inferior a otras obras, es más, es un excelente libro que trata los fundamentos,
aspectos intermedios, algunas aplicaciones avanzadas y hasta no enseña sobre el lenguaje M

Microsoft Power Query M Formula Language Specification


Microsoft • En: http://bit.ly/2HuGb0P • Microsoft

Como dirían en inglés: This is thecnical as hell, sin embargo, en este documento de menos de
150 páginas Microsoft nos brinda todo el conocimiento técnico concerniente al lenguaje de
funciones de Power Query, M. ¡Es gratis!

www.excelfreeblog.com
636 Anexo B • Intellisense para Excel

www.excelfreeblog.com
El ADN de Power Query 637

www.excelfreeblog.com
638 Anexo B • Intellisense para Excel

www.excelfreeblog.com

También podría gustarte