Subido por M Angeles Martinez

EL ADN de Power Query Power Bi aplicado a preparación de datos inteligente by Caballero Sierra, Miguel (z-lib.org)

Anuncio
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 [email protected], 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
Fabian Torres Hernández
Editor:
Miguel Caballero Sierra
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: [email protected]
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
BI.
Ing. Fabian E. Torres H.
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: [email protected]
▪
E-mail 2: [email protected]
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
→
←
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
43
El ADN de Power Query
Capítulo 1
Capítulo 1: Fundamentos y Preparación de Datos
Inteligente
45
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
columnas,
donde
la
estructura de la tabla no
tiene elementos adicionales,
como: filas en blanco,
columnas en blanco, total
generales, subtotales en
categoría. A sí mismo, debe
estar libre de errores, celdas
vacías y otras anomalías.
www.excelfreeblog.com
O dinos, en algún punto no has querido o te han solicitado
crear un reporte de una tabla de datos, que sólo con una
hojeada queda uno de piedra; porque la cantidad de anomalías
e inconsistencias (respecto a un formato tabular) como: filas
en blanco, totales y subtotales, elementos disparas en campos,
columnas combinados, celdas vacías, etc. Etc. Nos proyectan
en las próximas, cuando menos horas, anclados frente a la PC
El ADN de Power Query
Tratando con todo tipo de fórmulas (en muchas ocasiones
47
NOTA
matriciales), técnicos de limpieza, trucos de preparación y
hasta macros, para tan sólo después de una ventana de tiempo
de labor incesante, poder presionar encima de aquel comando
con la etiqueta "tabla dinámica" bajo la pestaña Insertar.
Conseguir dichas tareas demanda un conocimiento holgado
en las diversas funcionalidades de Excel y de una precisión casi
quirúrgica para llevarlas a cabo. No te parece que para Excel
ostentar el galardón de hoja de cálculo número uno en todo el
globo, sus características para preparar y limpiar datos son
más bien carentes y de una transparencia que tiende a nulo.
Permítenos explicarnos...
Una fórmula matricial es un
tipo especial de expresión
que
requiere
de
manipulación de matrices y
sus respectivas operaciones
en
argumentos
de
funciones, para así lograr
tareas de alta complejidad
que de otra manera
requerirán
macros
y
múltiples pasos intermedios
y columnas auxiliares.
Las fórmulas matriciales se
identifican fácilmente por
estar encerradas entre
corchetes: {}, u haberse
ejecutado
con
la
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
un cambio de paradigma el
motor de cálculo de Excel
que
permite
crear
cómputos con matrices de
una manera muchas más
fácil y rápida, permitiendo
el “derrame” de cálculos en
múltiples
celdas
sin
necesidad de manipulación
extra. Lo mencionamos en
esta nota porque estamos
seguros facilitará tareas de
análisis y limpieza.
prácticamente todo lo que necesitemos, a lo menos
acercarnos tanto que para la tarea deseada es suficiente, no
obstante, ello no quiere decir que sea la forma más efectiva, la
sola insinuación de que podemos pasar horas en dicha
operación habla por sí sólo.
Transparencia tiende a nulo: A si mismo los pasos
implementados son tan intrincados que reciclarlos para acudir
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
hablar de la solución, y es que el título del libro nos delata.
NOTA
El proceso ETL es el
término adecuado para
referirnos a la preparación,
limpieza, estandarización y
enriquecimiento de los
datos y todos los engranes
en la maquinaria que
conlleva para ejecutarlo,
más adelante se hablara a
detalle de esta definición y
su punto crucial en Power
Query,
de
momento
pensémonos en el acrónimo
ETL como preparación y
limpieza de datos.
Total, sí hubiéramos escrito este texto 6 años atrás está carta
sobre la mesa hubiera sido más lúgubre, sin embargo, el
“complemento” nativo de Excel: Power Query e implementado
ya en múltiples programas de Microsoft zanja el problema, visto
que está enfocado en el Proceso ETL.
Adelantamos la entrada dramática de Power Query porque
sabemos que bajo tu ojo clínico de incógnito no iba a durar un
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
… 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
49
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
fácil es reusar la solución en
otro escenario.
usuario promedio de Excel en desarrollarlas y por lo tanto
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:
La solución a este tipo de
formatos con Power Query
se ve en el capítulo 6,
particularmente,
la
operación de anulación de
dinamización.
▪ Crear tabla dinámica con formato sencillo
▪ Drill down en el total general
▪ Dividir columnas
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
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
53
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
flexible y así crear un comando que realice la tarea con un solo
clic.
Si bien la primera etapa no es de complejidad, la creación de
NOTA
La tercera solución no la
documentamos en las
páginas de este libro, a
pesar de ellos, en el
siguiente vídeo se detalla.
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
limitación de rapidez,
estamos hablando de la
carencia
de
una
funcionalidad, puesto que
contar
con
una
funcionalidad
altamente
especializada
impacta
contundentemente en la
rapidez de trabajo.
— Entonces, ¿Qué es?
¿Qué es Power Query?
Power Query es una tecnología descomunal de alcance infinito,
la cual merma las limitaciones de: rapidez y transparencia; ya
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
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
Power Query haya iniciado
en Excel como se narrara
más adelante en las
crónicas.
que se ha propagado a otros programas de Microsoft,
concretamente a la fecha de escritura de estas páginas, Power
Query se puede encontrar en las siguientes tecnologías:
Tabla 1. 1
57
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
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
59
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
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
61
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
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
63
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
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
65
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
inicial.
▪
Selección
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
Extract
Transformación
Transform
Figura 2. 9 – Proceso ETL Histórico
www.excelfreeblog.com
Carga
Load
El ADN de Power Query
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
Extract
Carga
Transform
Transformación
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
73
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
Excel, Carpetas o diversos gestores de Bases de Datos locales,
s
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
Tabular, todo utilizando diversas técnicas de Limpieza e
s
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
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
un orden especifico definidos en el propio lenguaje de expre-
¿Qué es una
Consulta?
www.excelfreeblog.com
75
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
todas las tablas, para ello cada una debe cumplir con estos
Formato
Tabular
requisitos:
▪
Columnas con etiquetas adecuados
✓ Minimizar espacios en blanco
✓ Minimizar caracteres no imprimibles
✓ Minimizar tildes
✓ Primera letra en mayúscula
▪
Sin totales ni grandes totales
✓ Sin subtotales
✓ Sin totales generales
✓ Sin grandes totales
▪
Sin agrupación a nivel de filas (rótulos)
▪
Sin agrupaciones a nivel de columnas (niveles)
▪
Sin columnas no apropiadas
NOTA
El formato tabular consiste
en tener todos los datos de
tal forma que las filas
describan un pedacito de
información
concreto,
optimizado y ordenado para
una manipulación amigable
y un análisis efectivo, este
formato se compone por
columnas o campos, y en
filas registros, conformando
así el formato clásico de una
tabla o como están
estructurados en un gestor
de bases de datos.
✓ 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
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
79
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
locura contar con un Power
Query como software
independiente, que arrojará
como resultado un archivo
que se pudiera importar en
cualquiera de los otros
programas de Microsoft
que lo soporte, así podrimos
mover “procesos ETLs” de
un lugar a otro.
entrelazada con Power BI, Excel o la aplicación en cuestión.
¿Cómo ir al Editor de Power Query?
Existen dos caminos bien definidos para ir al editor, la primera
es ir el a secas, para ello
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
2. Inicio → Datos Externos → Obtener datos → Excel
3. Navegamos en nuestro computador hasta encontrar el
archivo de Excel: CAP2EJ1 – SKUProductos.xlsx
4. En el cuadro de diálogo seleccionamos el elemento
NOTA
Cuando se inicia en Power
Query es fundamental tener
estos claro y su navegación,
el siguiente vídeo detalle
esto y otros aspectos claves:
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
eliminar pasos a la consulta actual (crea por nosotros el código
en el Lenguaje M) para aplicar el proceso de Extracción,
¿Qué es el Editor de
Consultas o Editor
de Power Query?
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
En Power BI Desktop
Cinta de Opciones: Comandos
en sí.
Barras de Fórmulas: Líneas del
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
85
86
Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query
En Microsoft Excel
Cinta de Opciones: Comandos
en sí.
Barras de Fórmulas: Líneas del
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
87
El ADN de Power Query
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
entre los distintos grupos existentes en la cinta de
opciones, en Power Query concretamente contamos
con las siguientes pestañas:
a. Archivo
NOTA
El número de pestañas
puede variar dependiendo
de la acción que estemos
ejecutando, a estas se les
denomina
pestañas
contextuales, alguna de
ellas:
b. Inicio
•
•
c. Transformar
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
Transformar
Consulta
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
▪
Transformación a nivel de columnas
▪
Reemplazar valores
▪
Dividir columnas
▪
Asignación de nombres
Limpieza de Datos de
Primer Grado:
Técnicas de Depuración
o Transposición
o Rellenar
o Anulación de Dinamización (Unpivot)
o Columna Dinámica (Pívot)
Limpieza de Datos de
Segundo Grado:
Técnicas de Dinamización
por Transposición
www.excelfreeblog.com
92
Capítulo 2 • Ingredientes Esenciales para Trabajar con Power Query
Operaciones y
Sub-operaciones
De la primera acción: Limpieza de datos hay que destacar que
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
de datos (conectores),
nosotros no los seguimos al
pie de la letra por
preferencias
personales,
pues las hemos organizado
por
complejidad
y
frecuencia de uso.
podemos a subdividir en 4 grupos
OTRA NOTA CRUCIAL
▪
Orígenes de Datos Estándar
▪
Orígenes de Bases de Datos Relacional
▪
Orígenes de Datos en Línea
▪
Orígenes de Datos Semi y No Estructurados
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
hay nuevas posibilidades.
A un origen singular, digamos, por ejemplo: Excel se le
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
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 → …
Ruta Dorada
Power Query
En esta categoría enmarcamos esos conectores más utilizados
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
99
Figura 3. 1 - Fragmento de la Tabla Pedidos (La tabla esta acortada en el extremo derecho y en la parte inferior)
100
Capítulo 3 • Conectores que Pueblan Power Query (Orígenes y Categorías)
www.excelfreeblog.com
El ADN de Power Query
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
101
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
Como se puede observar aparecen diversos elementos
▪
Pedidos1
▪
Auxiliar
▪
Pedidos
▪
_xlnm.Print_Area
▪
Meses
NOTA
Para Power Query de Excel
2013 y anteriores también
cargaba como opción los
Rangos de Filtros, aquella
funcionalidad de ataño que
esgrimíamos
con
el
comando Avanzadas en la
pestaña Datos de Excel.
— ¿Qué es cada elemento?
Para dilucidar la lista de elementos es impetaivo conocer que
cuando cargamos un archivo de Excel este nos motrar lo
Si tienes curiosidad acerca
de esta funcionalidad de
Excel, el siguiente vídeo
brinda una descripción
breve.
siguientes:
▪
Tablas Estructuradas
▪
Hojas
▪
Nombres Definidos
▪
Áreas de Impresión
103
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
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
105
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
cierra su vez su ventana para ser
cargados en la interfaz analítica.
Cierra la ventana de Power Query sin
guardar los cambios.
Esta segunda posibilidad
aplica los cambios, es decir,
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
actual u otra en la ventana.
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
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
107
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
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
109
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
inteligente, sabemos que corresponde a el: Entendimiento de
Datos, en síntesis, consiste en comprender de qué forma están
constituidos nuestros datos y verificar su calidad.
Adicionalmente, también estamos al corriente que hoy por hoy
la gran etapa de entendimiento de los datos se superpone con
el segundo eslabón, El Proceso ETL.
NOTA
NOTA 1
Todos estos conceptos
fueron tratados extensa y
detalladamente
en
el
capítulo número 2, si te lo
has
saltado
te
recomendamos que le des
una oportunidad a esta
parte teórica.
NOTA 2
Lo anterior es así gracias a una magnifica funcionalidad
denominada: Perfil de datos o Data Profiling en inglés, la cual nos
permite en primera instancia extraer los datos (extracción del
proceso ETL) y luego realizar el entendimiento.
No nos vamos a ir por las ramas así que vamos al grano:
La funcionalidad de perfil
de datos esta 100%
disponible
desde
la
actualización abril de 2019
para Power BI. A la fecha de
publicación de este libro,
para Excel aún no se cuenta
con esta característica
¡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
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
119
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
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
121
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
perfil de la columna
Barra de Perfil de Columnas
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
La acción que nos invita a tomar
Power Query es Quitar los errores
directamente, si pulsamos clic
encima los errores son removidos.
123
Si queremos otra acción respecto a los
errores podemos pulsar clic en los tres
puntos y ver las posibilidades existentes.
Figura 4. 7 – Sugerencias de acción según perfil de datos
Calidad de
Columnas
Es posible expandir la información de calidad de 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
columnas, ya no hay una fracción roja, pues está asociada a
Para quitar errores véase la
figura 4.7 que ilustra este
procedimiento.
errores. Vemos que ahora está parcialmente verde y gris,
NOTA 2
Cabe señalar como han cambiado la barra de perfil de
indicando valores válidos y vacíos respectivamente.
Nótese en el Panel de
Habilitemos ahora la Distribución de Columnas, para ello:
Configuración
de
la
Consultas en el área de
Pasos Aplicados como se
añade automáticamente el
paso: Errores quitados.
Vista → Vista Previa de Datos → Distribución de Columnas
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
¡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
129
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
suprimir o quitar registros de nuestra tabla de datos, pero
s
Sub-operación:
Exclusión de Filas
siempre teniendo en cuenta un parámetro o regla para
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:
www.excelfreeblog.com
▪
Grupo Quitar Filas
▪
Autofiltros y Filtros Avanzados
El ADN de Power Query
Técnicas de Depuración
Inicio
Proceso / Mecánica
Para realizar eficientemente la
Exclusión de
Filas,
es
aconsejable ejecutar ciertos
pasos en un orden especifico.
Además, como encargados del
Proceso
ETL
debemos
identificar el patrón/parámetro
destinado para eliminar las filas
Inicio
www.excelfreeblog.com
131
132
Capítulo 4 • Limpieza de Datos de Primer Grado, Técnicas de Depuración
Para aplicar la Exclusión de Filas en una tabla es aconsejable que
Recomendaciones y
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.
2
Eliminar Elementos Incoherentes
Finalmente, quitar las filas relacionadas a
elementos o ítems que NO son un registro de
la tabla o conjunto de datos.
3
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
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
133
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í
podemos acceder
Se muestra un cuadro
donde podemos cambiar
el nombre del paso y
añadir un comentario,
este
comentario
se
muestra en un tooltip y
se inserta como línea de
comentario en el código
M.
Comando Eliminar desde menú
Elimina del paso actual hasta
el paso final
Crea una nueva consulta
que extrae pdel paso
anterior al primero paso.
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
1.
135
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
Quitar Errores
para ello, seleccionamos la Columna 1, después, vamos a la
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
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
137
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
consecuencia, seleccionamos la Columna 2, damos clic en el
NOTA
botón de filtros, en la lista elegimos Cargar Más, y
Otra manera de eliminar
estos registros incoherentes
que aparecen al principio y
al final de la tabla es
utilizando los comandos:
Quitar Filas Superiores y
deshabilitamos la opción (Nulo), que hace referencia a todas
las celdas que no tienen ningún valor en esa columna.
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
y no un parámetro. En el
capítulo 7 se detalla más
este escenario en grados de
libertad
Figura 4. 29 – Aplicar filtros en la columna 2
En el Editor de Power Query, podría parecernos que no se ha
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
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
143
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
o remover columnas de nuestro origen de datos, puesto que
s
Sub-operación:
Quitar Columnas
existen escenarios en los que no todos los campos de la tabla
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
Nótese como la distribución
de columnas para el perfil
de datos empieza a
desplegarse correctamente,
esto sucede, gracias los
pasos de limpieza que se
han ido ejecutando hasta
este punto.
Inicio, grupo Administrar Columnas, botón
Elegir Columnas y escogemos el comando con el
mismo nombre.
Figura 4. 32 – Comando Elegir Columnas
www.excelfreeblog.com
El ADN de Power Query
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
147
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
presionamos el botón homónimo.
Figura 4. 35 – Comando Quitar Columnas
www.excelfreeblog.com
y
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
Sub-operación:
Dividir Columnas
nombre lo indica, el editor de Power Query nos permite “cortar”
o “fraccionar” una columna en dos o más campos, de acuerdo
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
▪
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
151
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
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
conteo de caracteres desde
la derecha y cuando termina
de contar los caracteres
especificados, divide la
columna en dos.
Número de Caracteres: 8, porque esa es la cantidad de
Números que componen la columna Numero de Pedido
y se mantiene constante en toda la columna
▪
Dividir: Una Vez, lo más a la Izquierda Posible; esta
Varias Veces: Cada vez que
cuente el número de
caracteres especificado, en
la columna realizará un
corte, quiere decir que se
pueden
crear
varias
columnas, todo depende del
número de caracteres
definidos y los que tiene la
columna como tal.
opción cuenta los caracteres iniciando desde la
izquierda y cuando termina de contar los 8 caracteres
divide la columna una sola vez.
▪
155
Dividir en: Columnas, porque la división del campo, la
queremos ver como una nueva columna y NO como
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
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
157
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
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
159
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
Sub-operación:
Reemplazar los Valores
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
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
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
Debemos estar seguros de que
la columna a la cual vamos a
aplicar cambios tiene el tipo de
dato asignado.
Proceso / Mecánica
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
1
2
3
• Identificar la columna de tipo
Texto , para la cual quiero
reemplazar los valores.
• Asignar la cadena de caracteres a
reemplazar y los nuevos
caracteres por los cuales serán
cambiados.
• Reemplaza los valores en cada
celda, de toda la columna.
Final
Fecha
País
Cantidad
31/12/2014
Buenos Aires
10
Tx Detalle
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
161
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
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
163
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
Operación:
Formateo de Datos
no modifica el significado de los elementos, sino que se
normalizan los ítems que componen la columna.
Para hacer el formateo de datos, contamos con diversos
comandos:
www.excelfreeblog.com
▪
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
El ADN de Power Query
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
165
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
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
Debemos estar seguros de que
la columna a la cual vamos a
aplicar cambios tiene el tipo de
dato asignado.
Proceso / Mecánica
Cantidad
Tx Detalle
31/12/2014 ARGEntina
Fecha
País
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
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
1
• Identifica la columna a
Transformar.
2
• Dependiendo del tipo de
transformación elegida, la columna
en cuestión cambia su estructura.
Final
Fecha
País
Cantidad
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
Tx Detalle
El ADN de Power Query
167
Técnicas de Depuración
Inicio
Fecha
País
Cantidad
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
Tx Detalle
Debemos estar seguros de que
la columna a la cual vamos a
aplicar cambios tiene el tipo de
dato asignado.
Proceso / Mecánica
Fecha
País
Cantidad
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
Tx Detalle
1
• Identifica la columna a
Transformar.
2
• Dependiendo del tipo de
transformación elegida, la columna
en cuestión cambia su estructura.
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
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
Debemos estar seguros de que
la columna a la cual vamos a
aplicar cambios tiene el tipo de
dato asignado.
Proceso / Mecánica
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
Final
Fecha
País
Cantidad
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
Tx Detalle
1
2
• Identifica la columna a
Transformar.
• Dependiendo del tipo de
transformación, elegida, la
columna en cuestión cambia su
estructura.
El ADN de Power Query
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
169
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
agregar más pasos a la consulta.
Allí, nos dirigimos a la opción Cambiar Tipo, y en las distintas
alternativas que se muestran, elegimos una denominada Usar
También es posible acceder
a la opción de Cambiar
Tipo, dando clic en el icono
que aparece en la parte
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
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
173
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
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
175
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
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
177
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
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
179
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
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
181
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
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
183
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
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
185
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
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
187
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
Capítulo 5
Capítulo 5: Aplicaciones Superiores con Técnicas de
Depuración
www.excelfreeblog.com
191
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
¡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
193
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
de Ejemplos
suposiciones de cuál sería el resultado final que deseamos, si
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
Recordemos que el elemento: Balck Fraday está mal escrito
195
NOTA
porque en realidad es Black Friday, los demás elementos de la
columna están bien escritos.
¡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
La
funcionalidad
de
columnas a partir de
ejemplos
fue
añadida
públicamente desde la
actualización de abril del
año 2017 de Power BI
desktop.
He aquí el anuncio y
demostración oficial por
parte de uno de los
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
descripción de la transformación en el
Lenguaje M; acompañado de una
etiqueta constante de información
para aplicar cambios.
Área de nueva columna: Aquí es donde
digitamos ejemplos en diferentes
casillas para proveer a Power Query
ejemplos relacionados con otra
columna en la fila.
Figura 5. 1 – Interfaz en Modo: Agregar columna mediante ejemplos
www.excelfreeblog.com
El ADN de Power Query
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
197
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
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
199
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
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
201
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
▪
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
203
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
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
205
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
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
207
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
Columna
Personalizada
permite crear una columna nueva utilizando funciones y/u
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
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
209
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
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
211
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,
facilitándonos la búsqueda, porque agrega un número
Columna de
í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
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
215
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
Duplicar
Columna
existente en la tabla, para crear otro nuevo y que contiene los
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
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
217
218
Capítulo 5 • Aplicaciones Superiores con Técnicas de Depuración
Operación de Rellenar:
Consideraciones
Uso
y
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
Rellenar
el valor que tomarán las celdas depende de la “Celda Vecina o
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
31/12/2014 Buenos Aires
13
31/12/2014
14
31/12/2014
15
31/12/2014
16
31/12/2014
31/12/2014
17
Brasilia
Tx Detalle
Existen dos caminos en la
operación de Rellenar: Rellenar
Arriba (Fill Up) y Rellenar Abajo
(Fill Down). En resumen, la
operación de relleno consiste en
copiar la celda de arriba o de abajo
dependiendo del caso, en las
casillas vacías.
Producto 1
18
31/12/2014
19
31/12/2014
20
31/12/2014
21
31/12/2014
22
Producto 2
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.
15
null
31/12/2014 null
16
null
31/12/2014 null
17
31/12/2014 Brasilia
18
null
31/12/2014 null
19
null
20
null
31/12/2014 null
21
null
31/12/2014 null
22
31/12/2014 null
31/12/2014 null
Down
Down
Up
[Si más de una columna necesita ser
rellenada y tiene la misma dirección
de asignación, entonces podemos
seleccionar todas las columnas y
aplicar el comando una sola vez]
Producto 1
3
Up
• Las celdas vacías son rellenadas de
acuerdo al sentido que nosotros
hemos establecido.
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
31/12/2014 Buenos Aires
16
Producto 1
31/12/2014 Buenos Aires
17
Producto 1
31/12/2014
Brasilia
18
Producto 2
31/12/2014
Brasilia
19
Producto 2
31/12/2014
Brasilia
20
Producto 2
31/12/2014
Brasilia
21
Producto 2
31/12/2014
Brasilia
22
Producto 2
Para aplicar este comando,
debemos estar seguros de que las
celdas vacías han sido reconocidas
como tal por el Editor de
Consultas. Para esto verificamos
que aparezca la palabra null en
dichas celdas vacías
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
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
221
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
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
223
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
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
225
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
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
227
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
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
229
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
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
231
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
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
233
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
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.
Zipped Table
Datos de campos
comprimidos casillas.
Datos o elementos correspondiente al
primer campo de la tabla.
www.excelfreeblog.com
235
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
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
237
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
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
239
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
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
241
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
▪
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
243
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
▪
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
245
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
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
247
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
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
249
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
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
251
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
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
253
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
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
255
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
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
257
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
Perdida
reemplazo para la parte analítica de la interfaz de Power BI,
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:
Agrupar por es una
operación, sin embargo,
nuestra
metodología
jerárquica A/O no la
incluimos porque todo lo
que tiene que ver con
resumen de datos es mejor
llevarlo a cabo en la
segunda etapa del proceso
de inteligencia de negocios.
A excepción de dos casos
▪
▪
más funciones de resumen.
19. Para encontrar el total de minutos para cada tomo,
nos dirigimos a la pestaña Transformar, grupo Tabla y
allí en la parte izquierda encontraremos el comando
Agrupar Por:
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
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
259
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
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
261
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
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
263
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
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
265
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),
Código M
{"Información de Pedido.1", "Información de Pedido.2"})
▪
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,
Fórmula
false), {"Información de Pedido.1", "Información de Pedido.2"})
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
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
269
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
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
271
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
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
273
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
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
275
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
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
277
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
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
279
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
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
281
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:
▪ Anulación de Dinamización
▪ Dinamización (Columna Dinámica)
Una operación es la inversa de la otra y en ambos casos
consiste en formas convenientes de transposición de los
datos, que en términos generales es una invariancia
traslacional.
NOTA
La dinamización en la
interfaz de Power Query se
encuentra bajo el nombre
de columna dinámica en su
comando respectivo, en
referencia directa a lo que
pasaría con la columna a
seleccionada si se agrega un
área de colocación distinta a
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
tiene un campo en el área
de columnas y puede tener
uno o más campo en el área
de filas.
dinámica sencilla al formato al tabular en la brevedad de un clic.
En lugar de explicarte que realiza esta operación al son de
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
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
289
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
puedes estudiar de forma
visual, gracias a que la
lección del vídeo curso
Laboratorio de Datos con
Power Query se encuentra
disponible en YouTube.
1. Gira las etiquetas de las columnas seleccionaadas a
valores, es decir, se transponen para pasar a ser
elementos de una nueva columna que tendrá por
nombre Atributo, sin embargo, esto ocurre n veces en
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
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
291
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
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
293
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 A.D.S.U
Mecánica de 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
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
297
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
Columna en blanco
Al no tener toda la fila
completamente vacía no es una
fila en blanco, en realidad se
debe filtrar el gran total
Fila en blanco
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
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
299
300
Capítulo 6 • Materialización Alterna de Tablas con Modos de Dinamización
Quitar Paso:
Encabezado
Promovido
Inicialmente procederemos a quitar los encabezados y
ponerlos como una fila normal de datos.
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
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
ya conocemos, por lo tanto, teniendo cualquier columna
Quitar filas en
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
etiquetas totales para columnas, todo ello también en un
Aplicar
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
301
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
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
305
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
columnas.
Dos Niveles de
Encabezado
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
Columnas
Para estar todos 100% en sintonía, listamos las columnas que
debe tener al final nuestra tabla con el formato tabular:
▪
País
▪
Medida (Los elementos indican si es ingreso, presupuesto o
variación)
www.excelfreeblog.com
▪
Mes
▪
Valor
El ADN de Power Query
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
309
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
Podremos notar que Power Query nos situó el encabezado de
Mes como encabezados de campos, sin embargo, necesitamos
que sea una fila normal, para ello vamos a el panel de
Configuración de la Consulta y seleccionamos el paso
Encabezados Promovidos, posteriormente pulsamos clic en la x
en su extremo izquierdo para remover el paso.
311
NOTA
Es válido recordar que
dependiendo
de
la
tecnología o la versión de
Power Query puede que
automáticamente no añada
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
Para ello seleccionamos la primera columna 1, para ir a la
(3) Rellenar Abajo
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
Columnas
Por fin, combinaremos nuestras dos columnas, esto es simple:
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
tienen, por ejemplo: coma (,) y seleccionamos precisamente
esta como separador, más temprano que tarde tendremos que
dividir nuevamente y se tornara pesadamente complicado;
esto quiere decir que lo mejor será seleccionar un separador
poco común.
La siguiente tabla listas caracteres de uso poco probable:
NOTA
Es bueno escoger un
carácter que sea fácil de
sacar con nuestro teclado,
muchas
veces,
las
combinaciones Alt en los
computadores portátiles no
funcionan correctamente
por la ausencia del teclado
numérico en la parte
derecha, por ello, la pleca es
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
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
317
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
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
319
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
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
321
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
¡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
323
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:
Lógico de Columna
Dinámica
Columna de Valor, deja la lista de elementos únicos o la
combinación de elementos únicos si son varias columnas.
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
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
325
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:
Lo primero a realizar es remover:
Regla General
▪
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
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
327
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
Nótese en la imagen preliminar que el cuadro de diálogo
329
NOTA
enseña la columna dinámica mediante el texto: Use los nombres
La temática de tablas
dinámicas la hemos tratado
ampliamente en nuestro
canal de YouTube, por lo
que si necesitas un repaso
he aquí el material.
de la columna “Mes” para crear columnas nuevas.
— ¡Momento de decidir la columna de valores!
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
Otros
recursos
para
alcanzar la maestría en una
de las funcionalidades más
importantes en el catálogo
de un profesional son:
columna valor.
▪ El ADN de las Tablas
Dinámicas (2019)
▪ El Arte Marcial de las
Tablas Dinámicas (2018)
▪ Tablas Dinámicas La
Quinta
Dimensión
(2015)
Seleccionamos la columna Tx.
Tipo de Agregado
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.
2. Para la(s) columna(s) no seleccionadas y excluyendo la
columna de valor y la columna dinámica, deja la lista de
Funcionamiento:
Lógico Versión
Expandida
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
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
333
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
la consulta Ejemplo 22 que
estamos trabajando se
cimenta en que no hace
falta la limpieza de datos
inicial, porque no tiene filas
ni columnas en blanco.
elementos, seleccionamos el elemento con nombre
Ejemplo 22 y clic en el botón Aceptar.
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
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
335
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.
2
Excluyendo C.D y C.V, deja
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
Y “filtra” la tabla de inicio con dichos elementos “sobrantes” en
Sub Paso 2
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
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
339
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
Capítulo 7
Capítulo 7: Grados de Libertad y Pseudo Generalización
NxM
www.excelfreeblog.com
343
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 Inicial
limpieza de datos 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 Encabezados
de Columnas
3 niveles de Rótulos
para Filas
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
Pero antes, sigamos los pasos iniciales, ya que cargada en la
347
NOTA
interfaz puede variar ligeramente.
Queremos dejar claro que
nuestra acepción de grados
de libertad dista a los
utilizadas en otras áreas del
conocimiento, tales como
estadística, mecánica clásica
(física), ciencia de los
materiales entre otros, por
lo tanto, buscar una
analogía entre ellas no es
adecuado.
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
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
superiores
En el cuadro de diálogo podemos digitar el número 1 ya que
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
alternas
en blanco en mitad de tabla, he aquí los pasos
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
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
351
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
Solo basta con seguir el paso a continuación:
NOTA
Enumeramos este paso
nuevamente
como
5,
porque a consecuencia de
eliminar todo lo que tiene
que ver quitar filas
superiores,
alternas
e
inferiores,
también
podemos decir que nos
regresamos al estado inicial
de la tabla quedando así en
el paso número 4.
5. 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 en
blanco.
Y eso es todo, no sólo hemos ahorrado en pasos, sino que
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
Pseudo Generalización
353
NOTA
Era necesario aclar y tener presente el concepto de grados de
En la limpieza de datos
inicial, no podemos olvidar
quitar
lo
totales,
particularmente
desplegamos los filtros de la
columna 3 y deshabilitamos
la opción TOTAL.
libertad en Power Query, porque si tenemos la parte inicial lo
suficientemente flexible entonces podremos seguir con
nuestra siguiente fase, básicamente llegar a un algoritmo para
anular la dinamización de n encabezados de columnas con m
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 Rótulos para Filas
3 niveles de Encabezados de Columnas
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
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
355
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
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
357
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
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
359
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
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
361
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
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
363
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
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
369
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
Para este escenario nótese que lo nombres de los grupos de los
campos son idénticos, esto es algo que vamos a asumir en la
Nombres de Campos
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
formato.
371
Ley 0
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
deshabilitamos los elementos:
a. (nulo)
b. Nuevos Gerentes País
c. TOTAL
d. TOTAL ABSOLUTO
NOTA
Aquí deshabilitamos (nulo)
porque si observamos la
tabla vemos que se
corresponde con filas en
blanco, no obstante, en cada
situación esto se tiene que
analizar para no incurrir en
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
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
375
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
objeto de estudio en la
primera sección del capítulo
5, sino recuerdas de que
trata o no lo has estudiado,
te recomendamos que le des
un vistazo.
las opciones de Columna de índice, allí pulsamos clic en
cualquiera de los dos comandos, aquí utilizaremos
desde 1.
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
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
377
378
Capítulo 8 • Transformaciones Superiores con Modos de Dinamización
Analicemos porque el resultado mostrado:
1
Columna dinámica:
Extrae elementos los elementos únicos
y cada uno de ellos se convierte en
encabezado de columna
Columna de valor
1
Para las columnas no seleccionadas,
deja la list de elementos únicos
para esa columna
1
2
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
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
379
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
que el campo Horas de
Trabajo/Mes de la Pila 1 coincide de
Nótese
Pila 3
Pila 2
Pila 1
manera idéntica con el nombre estándar
(objetivo), por lo tanto, no hay necesidad
de señalarlo en la tabla de conversión.
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
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
385
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
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
387
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
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
11.
a.
Columna dinámica: Personalizada
b.
Columna de valor: Column2
c.
Función de Valor Agregado: No Agregar
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
389
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
Principales
Nombres de Campos
Secundarias
Bulky Table
Datos
www.excelfreeblog.com
Datos
El ADN de Power Query
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
391
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
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
393
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
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
395
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
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
397
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
Datos
depende del escenario en el que nos estamos enfrentando,
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
▪
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
tabla maestra con todos los datos centralizados.
Anexar
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
405
406
Capítulo 9 • Anexar
Técnicas de Integración
Inicio
Fecha
Ciudad
Cantidad Tx Detalle
Fecha
Ciudad
Fecha
Cantidad Tx Detalle
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 3
Tabla 2
Proceso / Mecánica
Fecha
Ciudad
Cantidad Tx Detalle
31/12/2014 Buenos Aires
13
Producto 1
31/12/2014 Buenos Aires
14
Producto 2
31/12/2014 Buenos Aires
15
Producto 3
31/12/2014 Buenos Aires
16
Producto 4
31/12/2014 Buenos Aires
17
Producto 5
2
• Establecer
el orden del
las “Tablas”
a Anexar
Fecha
Ciudad
Une la Tabla 1 con la Tabla
2 , agregándola debajo
Cantidad Tx Detalle
31/12/2014
Brasilia
22
Producto 1
31/12/2014
Brasilia
23
Producto 2
31/12/2014
Brasilia
25
Producto 3
31/12/2014
Brasilia
27
Producto 4
31/12/2014
Brasilia
28
Producto 5
Une la Tabla 1 y 2 con la
Tabla 3 , agregándola
debajo
3
s
• Definir las
consultas a Anexar
1
• El Editor de
Consultas fusiona
las “Tablas”
Fecha
s
Ciudad Cantidad Tx Detalle
31/12/2014 Bogotá
26
Producto 1
31/12/2014 Bogotá
17
Producto 2
31/12/2014 Bogotá
10
Producto 3
31/12/2014 Bogotá
15
Producto 4
31/12/2014 Bogotá
29
Producto 5
Final
Fecha
Ciudad
Cantidad Tx Detalle
31/12/2014 Buenos Aires
13
Producto 1
31/12/2014 Buenos Aires
14
Producto 2
31/12/2014 Buenos Aires
15
Producto 3
31/12/2014 Buenos Aires
16
Producto 4
31/12/2014 Buenos Aires
17
Producto 5
31/12/2014
Brasilia
22
Producto 1
31/12/2014
Brasilia
23
Producto 2
31/12/2014
Brasilia
25
Producto 3
31/12/2014
Brasilia
27
Producto 4
31/12/2014
Brasilia
28
Producto 5
31/12/2014
Bogotá
26
Producto 1
31/12/2014
Bogotá
17
Producto 2
31/12/2014
Bogotá
10
Producto 3
31/12/2014
Bogotá
15
Producto 4
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
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
Coincidentes
entidades semánticas y sus elementos, aparte de los nombres
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
407
408
Capítulo 9 • Anexar
Las Tablas No Coincidentes son aquellas que describen las
Tablas NO
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
¡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
409
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
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
411
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
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
413
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
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
415
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
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
417
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
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
419
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
16.
Por último, cambiamos el nombre de la consulta
reemplazando
Append
consecuencia,
nos
1
por
Inventario,
desplazamos
al
Panel
en
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
421
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
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
423
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
Figura 9. 22 – Hoja 1 del Archivo
Figura 9. 23 – Hoja 2 del Archivo
Figura 9. 24 – Hoja 3 del Archivo
www.excelfreeblog.com
425
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
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
427
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
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
429
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
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
Reemplazar
Avanzadas,
con
luego,
Caracteres
habilitamos
Especiales
y
automáticamente se hablita el botón Insertar
www.excelfreeblog.com
431
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
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
433
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
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
435
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
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
437
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
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
439
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
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
441
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
Figura 9. 51 – Filtros en la Columna Source_Name
Figura 9. 52 – Cargar Más
www.excelfreeblog.com
443
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
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
445
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
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
447
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
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
449
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
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
451
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
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
453
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
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
455
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
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
457
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
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
459
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
Producción_2015
Para terminar, damos clic en Aceptar.
Figura 9. 80 – Cuadro de Dialogo: Anexar
www.excelfreeblog.com
Tabla
Principal:
El ADN de Power Query
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
461
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
467
El ADN de Power Query
Técnicas de Integración
Inicio
Fecha
Ciudad
Cantidad
Código 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
31/12/2014
Bogotá
26
P01
31/12/2014
Bogotá
17
P02
31/12/2014
Bogotá
10
P03
Código Producto Nombre Producto Marca Producto
Tabla 2
Tabla 1
Proceso / Mecánica
Fecha
Ciudad
Código Producto Nombre Producto Marca Producto
Cantidad
Código Producto
31/12/2014 Buenos Aires
13
P01
P01
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
P05
Huawei P10
Huawei
31/12/2014
Brasilia
25
P03
31/12/2014
Brasilia
27
P04
31/12/2014
Brasilia
28
P05
31/12/2014
Bogotá
26
P01
31/12/2014
Bogotá
17
P02
31/12/2014
Bogotá
10
P03
Columna Común
1
2
Iphone 8
Apple
Columna a Agregar
• Identificar y Definir la Columna común en
ambas tablas
• El Editor de consultas , trae consistentemente
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
31/12/2014
Brasilia
25
P03
Galaxy S8
31/12/2014
Brasilia
27
P04
Galaxy S9
31/12/2014
Brasilia
28
P05
Huawei P10
31/12/2014
Bogotá
26
P01
Iphone 8
31/12/2014
Bogotá
17
P02
Iphone X
31/12/2014
Bogotá
10
P03
Galaxy S8
Para
utilizar
la
Operación de Combinar,
tiene que existir una
columna común entre
ambas tablas
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
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
469
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
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
471
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
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
473
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
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
475
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
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
477
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
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
479
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
¡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
481
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
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
483
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
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
485
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
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
487
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
-
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
489
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
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
491
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
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
493
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
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
495
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
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
497
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
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
499
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
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
501
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
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
503
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
Externa
Izquierda
(Todas
de
la
505
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
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
507
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.
Filas Coincidentes Tabla Derecha
Tabla Izquierda
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
509
El ADN de Power Query
Tipos de Uniones
Inicio
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
15/02/2019
4
B07
16/02/2019
1
B08
1 Tabla Izquierda
Elementos Coincidentes
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 Derecha
Filas Coincidentes Tabla Izquierda
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
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
511
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.
Tabla Derecha
Filas Coincidentes Tabla Izquierda
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
513
El ADN de Power Query
Tipos de Uniones
Inicio
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
15/02/2019
4
B07
16/02/2019
1
B08
1 Tabla Izquierda
Elementos Coincidentes
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
Derecha
Izquierda
Tabla Derecha
Tabla Izquierda
Fecha de Pedido Cantidad
Sku
Producto
Tipo
Precio
CostoEnvio CostoProducto
B01
Batman Begins
Blue Ray
50
5
11/02/2019
2
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
Valores Faltantes
11
www.excelfreeblog.com
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
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
515
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 Derecha
Tabla Izquierda
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
517
El ADN de Power Query
Tipos de Uniones
Inicio
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
15/02/2019
4
B07
16/02/2019
1
B08
1 Tabla Izquierda
Elementos Coincidentes
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 Derecha
Filas Coincidentes Tabla Izquierda
Fecha de Pedido Cantidad
Sku
Producto
Tipo
Precio
CostoEnvio CostoProducto
B01
Batman Begins
Blue Ray
50
5
11/02/2019
2
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
11
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
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
519
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
521
El ADN de Power Query
Tipos de Uniones
Inicio
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
15/02/2019
4
B07
16/02/2019
1
B08
1 Tabla Izquierda
Elementos Coincidentes
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
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
523
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
525
El ADN de Power Query
Tipos de Uniones
Inicio
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
15/02/2019
4
B07
16/02/2019
1
B08
1 Tabla Izquierda
Elementos Coincidentes
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
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
527
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.
-
www.excelfreeblog.com
Recuerda guardar tu archivo de Power BI.
El ADN de Power Query
Tipos de Uniones
Izquierda
Derecha
Externa Izquierda
Izquierda
Derecha
Izquierda
Externa Derecha
Izquierda
Derecha
Izquierda
Anti Izquierda
-
Derecha
Interna
Externa Completa
Izquierda
Derecha
Derecha
Anti Derecha
En el sumario puedes ver todos los tipos de uniones para
que los consultes en cualquier momento.
www.excelfreeblog.com
529
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
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
531
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
Figura 10. 87 – Ventana Navegador
Figura 10. 88 – Tabla InfoVendedor en el Editor de Consultas
www.excelfreeblog.com
533
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
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
535
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
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
537
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
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
539
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
Power Query
interfaz de Power Query para ejecutar tareas de limpieza de
Utiliza documentos M para
su funcionamiento interno,
por ello, en la edad
temprano de esta tecnología
se le llamaba manera
informal el Lenguaje M, a
pesar de ello, como dicho
nombre predomino a lo
largo del tiempo, Microsoft
decidió
bautizarlo
de
manera oficial como:
sutilmente una que otra línea de código M), de hecho, si
Lenguaje M.
personalizadas para reutilizar pasos de transformación,
datos y similares (con pequeñas excepciones donde manipulabas
alcanzamos la excelencia en la interfaz de Power Query
podemos barajar que tenemos plena capacidad para resolver,
al menos, un 80% de las tareas de preparación de datos.
Aunque con lo anterior puede parecer suficiente, si nos
armamos en conocimiento para crear todo tipo de funciones
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
Barra de Fórmulas
El primer lugar es la Barra de Fórmulas, la cual tenemos que
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
Personalizada
El segundo lugar es: el cuadro de diálogo Columna
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.
Figura 11. 4 – Editor Avanzado Mediante Clic Derecho
En el siguiente vídeo puedes
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
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
551
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
Representación de espacio en blanco:
Muestra cada espacio por medio de un
punto.
553
Mini mapa de visualización: Habilita una
pequeña vista que permite desplazarnos
rápidamente de forma vertical
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
▪
Para mayor lectura es bueno dividir funciones con nombres
largos y muchos parámetros de la siguiente forma:
o Cada parámetro en una línea, exceptuando el primero,
ya que este dicta como se indexan del segundo
parámetro en adelante.
o Sin son listas o registros de valores estructurados o
combinaciones de valores estructurados y primitivos,
NOTA
A este punto puede que no
se comprenda muy bien la
terminología
de
los
distintos tipos de valores y
expresiones para aplicar las
reglas de formato, sin
embargo, recomendamos
que una vez se haya
avanzado hasta el capítulo
13, regresa aquí y darle una
mirada rápida.
cada una en su propia línea siguiendo las reglas de
indexación
▪
555
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
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
557
558
Capítulo 11 • Elementos y Herramientas Primordiales para Trabajar con M
TOOLTIP de ayuda
Quick Fix (Reparación rápida):
Al pulsar clic en esta opción
nos brinda posibles soluciones,
si no encuentra ninguna arroja
el siguiente mensaje: No code
Problem
(Rastrear
problema): Al pulsar clic en
Peek
esta opción nos brinda más
información del error en cual
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
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
559
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
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
561
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
Capítulo 12
Capítulo 12: Expresiones, Declaración de Variables y
Literales
www.excelfreeblog.com
565
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
A este punto debe ser
intuitivo que del archivo en
blanco de Power BI
debemos llegar a la interfaz
de Power Query en primer
lugar, para ello:
M a partir de la nada, es decir, desde cero.
Conseguirlo es bastante sencillo, ya que lo único que debemos
hacer es crear una consulta en blanco, para ello podemos
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
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
567
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.
Expresión: «let»
NOTA
La expresión «Let» permite
construir el valor mediante
la utilización de expresiones
intermedias, esto enfocado
al paradigma divide y
vencerás, en lugar de
escribir una expresión
gigante y compleja, se hace
mediante
pasos
con
expresiones más pequeñas.
La cláusula Let es como un heraldo, quien anuncia la llegada de
otras expresiones, más concretamente, marca el inicio de la
declaración de variables, es decir, todo lo que va a
continuación de esta “palabra reservada” consiste en
sentencias para definir variables y su contenido (expresiones).
¡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
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
569
570
Capítulo 12 • Expresiones, Declaración de Variables y Literales
Declaración de Variables
Hemos mencionado que lo que va en el cuerpo de la expresión
NOTA
«let» son otras expresiones, a estas se les puede ver también
M es sensible a mayúsculas
y minúsculas, por lo tanto,
la variable A es diferente a
la variable a. Además, se de
respetar en toda la interfaz,
la palabra let la detecta, sin
embargo, Let no.
como líneas de código para declaración de variables, pero:
— ¿Cómo se declara una variable?
En primer lugar y para que no quede ningún ápice de duda,
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)
Dim x As Integer = 8
Palabra reservada
que indica que se
va a declarar una
variable.
www.excelfreeblog.com
Tipo de dato que se
va a almacenar en
el espacio en
memoria.
Literal: indica el
valor que será
guardado en la
variable.
El ADN de Power Query
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
valor que será
guardado en la
variable.
NombreVariable = 8
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
571
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
OtraVariable = 1400 +
SUB-EXPRESIÓN
1700
EXPRESIÓN
DECLARACIÓN DE VARIABLES
www.excelfreeblog.com
El ADN de Power Query
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
573
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
Regulares
▪
Identificadores
Entre Comillas
▪
Los nombres de variables deben empezar por con una
letra o con raya al piso (_) seguido de otros caracteres.
Si el nombre de variable contiene espacios o empieza
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
www.excelfreeblog.com
#"??Ingresos"
El ADN de Power Query
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
575
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
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},
{1, 0}
}
)
Código M
in
t
www.excelfreeblog.com
577
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
Capítulo 13
Capítulo 13: Tipos de Valores sus Operaciones y Valores
Intrínsecos
www.excelfreeblog.com
581
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
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
583
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.
También tenemos unos Casos Especiales que también quedan
Casos Especiales
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
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
585
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
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
Código M
in
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
587
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)
in
Código M
Operaciones
f
Las operaciones con valores de fecha se dividen en dos partes,
primero cuando ambos operandos son fechas:
Tabla 13. 4
www.excelfreeblog.com
Operadores para Valores de Fecha, PT. 1
El ADN de Power Query
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
Código M
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
589
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
Las operaciones con valores de fecha se dividen en dos partes
Código M
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
// El valor retornado es lógico (bololena)
c
Código M
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
q
Código M
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
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
593
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
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
595
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
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
Código M
in
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
597
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
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
e = #duration(0, 24, 0, 0),
// 1 día
f = #duration(1, 0, 0, 0)
Código M
in
f
Ejemplo 2:
let
// 2 días
a = #duration(2, 22, 57, 3)
in
a
Código M
www.excelfreeblog.com
599
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
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
601
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
Código M
/* Recordemos que el lenguaje M es sensible a
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
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
603
604
Capítulo 13 • Tidpos de Valores sus Operaciones y Valores Intrínsecos
Ejemplo:
Let
f = false,
v = true
in
v
Código M
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
Código M
www.excelfreeblog.com
in
c
El ADN de Power Query
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:
k
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
605
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
Ejemplos:
let
a = null,
b = null,
c = true,
d = 5,
e = "",
f = a = b,
g = a = d,
h = a = c,
i = a = e,
// Retorna: true
// Retorna: false
// Retorna: false
// Retorna: false
Código M
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
607
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
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
609
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
v3 = c is logical, //false
v4 = d is null, // false
v5 = e is time //false
Código M
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
Código M
www.excelfreeblog.com
a is number
El ADN de Power Query
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
611
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
corchete de apertura
Se finaliza con un
corchete de cierre
{ Valor1 , Valor2 , … }
Puede ser
1.
2.
3.
www.excelfreeblog.com
Un valor primitivo, ejemplo: 12
Un valor estructurado, ejemplo: {1,2}
Una expresión, ejemplo: (12+5)/7
El ADN de Power Query
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
e={
{1,2},
{3,4,7},
{7,7},
{9,1,2,5}
},
In
e
Código M
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
a
Código M
Veamos cómo se visualiza en el panel de resultados:
www.excelfreeblog.com
613
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
Código M
www.excelfreeblog.com
a
El ADN de Power Query
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,
para las listas lo presentados a continuación son válidos:
Tabla 13. 16
Operaciones
Comunes
Operadores para el tipo de valor lista
Ejemplo:
let
lst1 = { 1 , 2 , 3 },
lst2 = { 4 , 5 , 6 },
lst3 = list1 & lst2
in
lst3
La historia no acaba allí. ¿El motivo?, para los valores de lista
tenemos un operador adicional, denominado operador de
índice posicional, el cual permite acceder a un valor concreto
Código M
Operado de
índice
Posicional
en una lista mediante un índice en base 0. Y se denota: {}
www.excelfreeblog.com
615
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 = {{1,2}, {3,4,7}, {7,7}, {9,1,2,5}},
c1 = c{2} // retorna el valor de lista: {7,7}
Código M
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
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
617
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
paréntesis cuadrado de
apertura
Finalización con un
paréntesis cuadrado de
cierre
[ X = 1 , Y = 2]
Nombre de campo
(key); valor de tipo Cada pareja Nombre
de campo/valor de
texto único,
campo se debe
ejemplo: ID,
separar
con igual (=)
Nombre, etc.
Valor de campo;
valor de cualquier
tipo, ejemplo: 1, “A”,
{1,2}, [A=1,B=2].
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" ] ,
Código M
// registro con valores de campo “mixtos”
c = [ ID = 1 , Tipo = null , Empleado = true]
in
c
www.excelfreeblog.com
El ADN de Power Query
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
619
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
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
621
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
→
←
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
625
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
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
629
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.
0
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.
1
En la pestaña Lista de palabras asigne a cada grupo según los
archivos de texto y seleccione Ignorar MAY./min
2
Definir comentarios y activar plegado de comentarios
3
Definir delimitadores según archivos de texto
4
www.excelfreeblog.com
El ADN de Power Query
En la ruta:
C:\Program Files (x86)\Notepad++\plugins\APIs
Pegar el archi M.xml
5
Reiniciar y definir lenguaje M
6
www.excelfreeblog.com
633
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
www.excelfreeblog.com
637
638
Anexo B • Intellisense para Excel
www.excelfreeblog.com
Descargar