Traducir el blog
Tutorial 1 Power Query - Carrera de Barras
Cómo extraer, transformar y cargar datos de la carrera
En el artículo anterior publiqué una Carrera de Barras en un Gráfico Excel que se puede descargar desde aquí:
En este artículo explicaré cómo obtener los datos desde un archivo en formato CSV con una serie de datos por país y día de los fallecimientos oficiales acumulados debidos al Covid-19.
Si sigues leyendo aprenderás varias cosas:
- Cómo buscar datos de origen en un Repositorio de Datos alojado en la Web.
- Cómo consultar con Power Query un archivo de Internet que consolida y actualiza diariamente los datos.
- Cómo extraer de ese archivo sus datos dinamizados, transformarlos en datos normalizados y cargarlos en una tabla, con la ayuda de Power Query que es una excelente herramienta para extraer, transformar y cargar datos (en inglés: ETL - Extract, Transform and Load).
- Cómo transformar los datos acumulados en datos diarios mediante un truco en Power Query.
Este artículo es una lección práctica del uso de Power Query para preparar datos para nuestros informes. Lo que antes había que hacerlo con macros VBA ahora es mucho más fácil de hacer con esta herramienta integrada por Microsoft en muchas versiones de Excel.
Se trata de transformar datos dinamizados, con cientos de columnas, en una tabla normalizada con muy pocas columnas, como se puede apreciar en esta imagen:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji2YqLDk3hUg_BCrrLJvRNOgK4hL37rFQI3HqB6Q4lAwtIrX9gysQuXT3es8_gFDT2LIzuWSZ9V7SjFx9c7gTIXj34JQtCqYGqFnSxnUx7zc2e3Bzeb7QRW0D3SONgGr7Z1zm9KO-mJHs/w640-h362/Tablas+Dinamizada+y+Normalizada.gif)
Los datos dinamizados originales se han insertado en una tabla con más de 400 columnas. Las 4 primeras columnas identifican la geolocalización, el resto de columnas informan de los fallecimientos acumulados en una serie de días creciente con la actualización diaria de los datos originales.
Los datos transformados se han insertado en una tabla con únicamente 4 columnas y miles de filas para informar: País; Fecha; Valor Acumulado y Valor Diario. Este último dato se ha calculado a partir de los valores acumulados gracias a un truco que luego comentaré.
La tabla normalizada sirve perfectamente como origen de datos de las tablas dinámicas auxiliares con las que se ha generado el gráfico de barras con el que se visualiza la carrera en Excel.
Cómo buscar el origen de datos de la carrera
Lo más importante para hacer un buen análisis y una buena visualización es la obtención de datos fidedignos de fuentes confiables. Normalmente los departamentos TI suministran las consultas desde bases de datos relacionales a las que hay que conectarse, pero en este caso los datos están en Internet.
Cuando me propuse obtener los datos de fallecimientos globales por Covid-19 busqué en Internet por la frase: "Covid-19 data repository"
Encontré una página del Gobierno USA y otra del Centro de Ciencia e Ingeniería de Sistemas de la Universidad Johns Hopkins (JHU CSSE) que comprobé que era consultada globalmente en muchos medios de información.
Los datos acumulados están en las siguientes páginas de https://github.com/:
Esta última página contiene un botón "Raw" con los datos brutos que son los datos originales necesarios para este proyecto:
Es obligado citar al siguiente artículo de Lancet, publicado por JHU CSSE, para cualquier uso de estos datos en una publicación:
https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30120-1/fulltext
Si se quieren analizar más datos de mortalidad, se puede consultar esta página:
Cómo extraer los datos de la carrera
Voy a explicar paso a paso cómo extraer los datos del archivo con la serie temporal de fallecimientos globales por Covid-19: Raw - time_series_covid19_deaths_global.csv
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRVOI6IF1peMuifplwAHjiPqhgtruir23xUes5wI7dTheKI6JXBSyqxrB3V-sDjJMfUBIOibIre4WIIB-5KLfeFnhEhMiNcL4ikmToD328uZhtTxk_j-6wiYMUwOp1vK1lR2rZeCA5JPU/w640-h270/Obtener+datos+desde+la+web.png)
1) Abrir un libro en blanco con una de las versiones de Excel que incluyen Power Query.
2) En el menú de la cinta de opciones seleccionar: Datos
3) Hacer clic en el botón de la izquierda: Obtener datos
3) Seleccionar: Desde otras fuentes
4) Hacer clic en: Desde la web
5) En la siguiente pantalla se introduce la Dirección URL de la página web que apunta al archivo CSV:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd5Gb5Xb6mCkIwwAof4zqigkcJlPb7CrY67X4hZRctbPTvUUBLd5MXB5fYtwOGDBcUgpHHoa4GoZAcIPIrDkWF3LL9kMqhfgTt8QhNNFFdG6trCVaP7g7aA0zqefqbMLcmY3pPJB9Bcds/w400-h126/Datos_Web.png)
6) Se presiona el botón: Aceptar
Aparece la siguiente ventana:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4D1U0f2i054mDsI4MW1-je2hDCj2CPlh0CYVws3w6jzzAzSviJoGG8PRs9kR_JVDcVXywPw576YAmcARYosy4t_AC-m-TWtnpxkKzFUMBaNqHOmmHrvnydu8cVhfRRMuQ5lYwazd7h6A/w400-h160/Acceder+a+contenido+web%2529.png)
7) Como Anónimo se presiona el botón: Conectar
Se obtiene una vista previa del archivo CSV, con delimitador: Coma
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi30QSlkxAwyK6yf4HxPCpsKY4Nl84WUoxPAVwO7nAZrL0xwL7b7z-Fpji9LZgxh1H9Ml2ysE1KdS9lqcKAGwc7KVBjgCoFckU3_AMs2d39TIF6OW73M00t9Tq8d62ZK5FAIIK1_lZFgI0/w400-h200/Vista+previa+del+archivo+CSV.png)
8) Se presiona el botón: Transformar datos
9) Se abre la ventana del Editor de Power Query, que sirve para crear o modificar consultas.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDJvvdF3I0n6sJpzv9PGl2nQn761v1MSK0UefbphJpSIsJXOdlZQo4VX7KX6wBT662hkYTEZRY_KM0XuFDXwO5PIEu9PbwFor-yoAUVOL5jvZqx53qfopIn4A0Sz1Vwj4tJ_TzhqODZqQ/w640-h270/Editor+Power+Query.png)
A la derecha de la imagen, en la Configuración de la consulta, aparecen 2 PASOS APLICADOS.
Para la transformación de los datos se añadirán posteriormente más pasos a la consulta. Ahora vamos a analizar estos primeros dos pasos, comenzando por el último:
- Tipo cambiado: Transforma los tipos de 482 columnas en texto.
= Table.TransformColumnTypes(Origen,{{"Column1", type text}, ... , {"Column482", type text}})
Como una vez transformada esta tabla no tendrá todas esas columnas, no tiene sentido cambiar el tipo de un número fijo de columnas. ¡Este paso se elimina dándole a la cruz de la izquierda!
- Origen: Extrae el contenido de un documento en formato CSV desde la web con la dirección URL entrecomillada:
= Csv.Document(Web.Contents("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv"),[Delimiter=",", Columns=482, Encoding=65001, QuoteStyle=QuoteStyle.None])
Como cuando se actualiza la consulta el número de columnas crece en una más cada día que pasa, el argumento marcado en negrita sobra y se debe eliminar de la fórmula M: Columns=482,
En la documentación de Funciones M de Power Query - Csv.Document se indica que:
Cuando no se especifica, el número de columnas vendrá determinado por lo que se encuentre en la entrada
Por lo que el paso correcto para Origen será sin el argumento Columns:
= Csv.Document(Web.Contents("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv"),[Delimiter=",", Encoding=65001, QuoteStyle=QuoteStyle.None])
Este cambio no cambia nada en los datos extraídos en esta consulta pero marca la diferencia al actualizar la consulta de nuevo, pues no va a depender de un número fijo de columnas.
Esta sintaxis nueva es la sintaxis del Lenguaje de fórmulas de Power Query M (enlace aquí) que se debe aprender si queremos olvidarnos de las macros para consultar y transformar datos. En muchos casos el lenguaje de fórmulas M sustituirá ventajosamente al lenguaje de macros VBA.
La ventaja principal es que, en lugar de usar la grabadora de macros y modificar las macros grabadas, usaremos el Editor de Power Query para generar la mayoría de los pasos aplicados en una consulta, sin necesidad de modificar casi nada de las fórmulas M generadas automáticamente por Power Query.
Ahora ya podemos dar nuestro primer paso voluntario en Power Query:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjstDmw-P2DqkHUzuxiaul3clujJCuF4fNeMN92LBjQwb8-V8VCOkuUOx3D7UtXUJ4v1KlwtfIMOsnnLIX-oUakIVmpAARQNkmpVrMJmYDlKnRa8e1sXX2SS1pP8ipyga9Aznnsx2pU8dk/w640-h132/Usar+primera+fila+encabezado.png)
- Encabezados promovidos: Como vimos en el Editor de Power Query, los encabezados están en la primera fila, por lo que hay que hacer lo que indica esta imagen:
Usar la primera fila como encabezado
= Table.PromoteHeaders(Origen, [PromoteAllScalars=true])
Con este paso los encabezados de la fila 1 han pasado a ser los títulos de las columnas:
Este paso ha vuelto a cambiar los tipos de las columnas, por lo que hay que volver a eliminar el paso siguiente:
- Tipo cambiado: Transforma los tipos de 482 columnas en texto.
Con lo que, de momento, únicamente habrá 2 pasos en esta consulta:
Estos dos pasos se pueden ver en lenguaje M de Power Query con el Editor avanzado. Dentro del Editor de Power Query, en Vista, Editor avanzado:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIU3Li9R3iaZGQdF15kTTVwxGgpe3CMI84Eg5tpfwSHLyjb28faHc2FxhyOEnP43upjsg8TgeYdQ8Yyi_dncNgNChf_avnonzwjdUytQbbeGEFCp-ijyPODZj40WPw28YJz0jEnyCeJe0/w640-h172/Editor+avanzado+Power+Query.png)
Estas son las fórmulas M de los dos pasos programados hasta ahora:
Sólo queda cerrar el Editor de Power Query y presionar el botón: Mantener
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1oa6d2yg1UwEFcLmi_-GGqhOjLe-SgXrbG1kEUqGMmX6VmlNNgVBuBJbEEHR51LMIoS_GtGAqsTpsXCBlo5hY-cb5GQXXwR_jJksF7wTk-Mjr1QchUkLHjdkpzALyzWmMZYzY5sUCakc/s320/Mantener+los+camibos.png)
Se inserta en una nueva hoja denominada time_series_covid19_deaths_glob una tabla con los datos de la consulta.
Se debe guardar el archivo Excel como de costumbre.
Lo hecho hasta ahora se podría haber hecho, en versiones sin Power Query, con una simple conexión en Excel, pero al hacerlo con Power Query nos abre un mundo de transformaciones automáticas de los datos que son difíciles de imaginar con las fórmulas de Excel. Pero las nuevas transformaciones de datos las veremos en la 2ª parte de este artículo.
Con lo dicho hasta ahora se puede dar por finalizada la explicación de cómo extraer datos de fallecimientos acumulados por el Covid-19. Como este artículo ya es bastante extenso, dejaré para próximos artículos:
Cómo transformar los datos de la carrera
En la 2ª parte del tutorial explico cómo transformar una tabla dinamizada de muchas columnas, una columna por cada día, en una tabla normalizada con una columna para la fecha y otra para el valor acumulado:
Tutorial 2 Power Query - Carrera de Barras
En la 3ª parte del tutorial explico cómo transformar los datos acumulados en datos diarios:
Tutorial 3 Power Query - Carrera de Barras
Cómo cargar los datos de la carrera
En la 4ª parte del tutorial explico cómo convertir la tabla en un gráfico con la carrera de barras.
![](http://www.blogger.com/img/icon18_email.gif)
Mi lista de blogs
-
Regresos 14 – (2) Bases de cuatro cubos con suma cero - En la anterior entrada estudiamos las sumas de cubos cuyas bases suman cero. En esta otra ampliaremos el estudio a cuatro cubos. *Sumas con cua...Hace 8 horas
-
Problema 2: Errores en la nube de OneDrive - 🔝*To translate this blog post to your language, select it in the top left Google box. * Este año ha comenzado con dos problemas detectados en Microso...Hace 1 día
-
Crea con IA tablas Excel de ejemplo - Crea con IA tablas Excel de ejemplo para practicar y simplificar tareas de buscar datos o crearlos. A veces, encontrar el conjunto de datos perfecto para...Hace 2 días
-
What Does #### Mean in Microsoft Excel? - If you’re wondering what does #### mean in Excel, read this Microsoft Excel guide until the end, and learn all the ways Excel uses the pound or number sign...Hace 2 días
-
Cómo graficar totales de una tabla dinámica en Excel - Las tablas dinámicas son una de las herramientas más poderosas en Excel para organizar y analizar grandes cantidades de datos. Sin embargo, cuando necesi...Hace 3 días
-
OBTENER LA TENDENCIA EN POWER APPS CALCULANDO LA PENDIENTE - Hola a todos, He estado estos días implementando un nuevo input en el borrador de un proyecto de Apps que estoy creando. Se trata de … La entrada OBTENE...Hace 3 días
-
3DFrame-NLGeom - The VBA version of the 3DFrame spreadsheet has now been updated to allow geometric non-linear effects to be included. The new version can be downloaded fro...Hace 5 días
-
Fin - Llevo tiempo pensando esta entrada y no sé que decir. Analisis y Decisión nació en 2008 y no ... Leer más »Hace 1 semana
-
Validación de Datos en Excel: de lo Básico a lo Avanzado - En Excel, uno de los errores más comunes es dar por sentado que sabemos lo básico. Muchas personas que se […] The post Validación de Datos en Excel: de l...Hace 1 semana
-
📊🔎 Cómo usar SI y UNIRCADENAS para manejar múltiples resultados en un búsqueda - ¿Cómo buscar múltiples resultados en Excel y unirlos en una sola celda?Si has trabajado con Excel, seguramente conoces la función BUSCARV, que permite enco...Hace 2 semanas
-
Happy Excel Day 45678 - Where does the time go? Two years ago, we were celebrating Excel Day 45000, and suddenly it’s Excel Day 45678! Do you have any special events planned? If n...Hace 4 semanas
-
FREE 4 Hours Complete Excel Course - FREE 4 Hours Complete Excel Course Here is a FREE, complete end-to-end Excel course to help you learn all the key and essential aspects of Microsoft Exce...Hace 1 mes
-
Análisis DAFO (FODA, DOFA) las decisiones con Excel - Para conocer la situación de una empresa, proyecto o persona, recurrimos al análisis DAFO (FODA, DOFA) en la toma de decisiones con Excel. El los años sese...Hace 3 meses
-
Color, Conditions, and Copilot: How to save time using conditional formatting with Copilot in Excel - Hi everyone, this is part 11 in a series of posts to show you some of the things that are possible to do with Copilot in Excel. *What is conditional f...Hace 3 meses
-
4 ejemplos de utilización de validación de datos con fórmulas - Ya sabes que la herramienta de Validación de datos es de gran utilidad para controlar y restringir la introducción de datos y así, asegurarte de…Hace 5 meses
-
How To Predict Bearing Life With Excel - When you work in mechanical engineering, understanding the reliability and performance of bearings under various conditions is crucial. Bearings are the co...Hace 5 meses
-
-
TikTok’s search evolution - 2 in 5 Americans use TikTok as a search engine. Nearly 1 in 10 Gen Zers are more likely to rely on TikTok than Google as a search engine. More than half of...Hace 10 meses
-
Unblocking and Enabling Macros - When Windows detects that a file has come from a computer other than the one you're using, it marks the file as coming from the web, and blocks the file....Hace 1 año
-
Office Scripts: Trabajando con Tablas - [image: Office Scripts: Trabajando con Tablas] Me he dado cuenta que últimamente solo escribo de lenguaje M (es mi pequeño vicio)... pero hay que liberar l...Hace 2 años
-
Hello world! - [image: Hello world!] Welcome to WordPress. This is your first post. Edit or delete it, then start writing!Hace 2 años
-
La importancia de saber mecanografía en 2022 - [image: Resultado de imagen de mecanografía viñeta escribiendo a máquina] Según la RAE, la mecanografía es el arte de escribir a máquina. Hace unos cuantos...Hace 2 años
-
London Excel Meetup Workbooks - The workbooks used in my presentation on “Analytical and Interactive Dashboards in Excel” at the London Excel Meetup, September 3, 2020Hace 4 años
-
Cálculo de jornada que termina al día siguiente (Power Query) y despedida - [image: Cálculo de jornada que termina al día siguiente (Power Query) y despedida] Este blog se ha ocupado de cálculos de tiempo con bastante intensidad, c...Hace 4 años
-
Agenda Perpetua Excel Calendario Perpetuo - Saludos a los ingenieros y a todos los que forman parte de nuestra comunidad de planillas Excel para ingeniería civil, ya se vienen las fiestas navideñas y...Hace 5 años
-
International Keyboard Shortcut Day 2019 - The first Wednesday of every November is International Keyboard Shortcut Day. This Wednesday, people from all over the world will become far less efficient...Hace 5 años
-
Welcome, Prashanth! - Last March, I shared that we were starting to look for a new CEO for Stack Overflow. We were looking for that rare combination of someone who… Read more "W...Hace 5 años
-
Visualize parts and whole - combine clustered column and stacked column charts - *Inga: Disa what?* *Igor: -ppeared.* by The FrankensTeam ------------------------------ Really it was 3 years ago we posted our last article? *Freddy: Th...Hace 5 años
-
Salvador Sostres, analfabeto profesional - Los nuevos tiempos traen nuevas profesiones. Internet, además, ha revolucionado el mundo del periodismo y la palabra escrita. Adaptarse o morir, ese es el ...Hace 6 años
-
Planificación de compras - Realizar una lista con los productos que necesitamos y que formarán parte de nuestra cesta de la compra nos ayuda a *encontrar la combinación de bienes p...Hace 12 años
-
-
-
-
-
-
-
-
-
No Response to "Tutorial 1 Power Query - Carrera de Barras"
Leave A Reply
Indícame las erratas que encuentres y qué es lo que te gustaría ver en los próximos artículos.