Está en la página 1de 17

Lección 3: Extracción de datos

3.1 Extract, Transform and Load (ETL)

El proceso de transformación va a requerir varias cosas: cuando estemos limpiando los datos
vamos a tener que saber cómo rellenar agujeros (missing values) que puede traer la data. Qué
cosas tenemos que eliminar (datos redundantes) para poder hacer que la data tenga mejor
sentido.
Microsoft Power BI sí nos va dejar hacer este proceso de ETL. En Power BI sí podemos usar el
Query Editor para poder modificar la data y eventualmente comenzar a hacer algún tipo de
visualización.

Con ETL vamos a pasar de tener data cruda a tener una data limpia y disponible para poder
crear las visualizaciones.

3.2 Adquiriendo datos

Los datos pueden provenir de bases de datos, servicios web o archivos (*.csv) como vimos
antes (Lección 2). Entonces ya sabemos nosotros cómo adquirir los datos, nos falta un poquito
de cómo limpiarlos para poder eventualmente transformarlos.

3.3. Limpieza y estructuración de datos


3.3.1 Limpieza

Cuando hablamos de limpieza de datos nos referimos al proceso de eliminar datos redundantes. Qué
tablas, qué columnas tengo que sean básicamente lo mismo.
Otro caso que es muy importante a la hora de estar limpiando datos es lo que llamamos
nosotros crear imputaciones. Se llaman imputaciones cuando tenemos toda una columna y
hay algunos espacios vacíos (missing values, NaN: not a number). ¿Cómo hago para rellenar
estos espacios? Mucha gente lo que hace es simplemente eliminarlos. Una forma sencilla para
fines prácticos es eliminarlos. Pero muchas veces si queremos poner un poco más de empeño
porque la data tal vez no es tanta y no queremos perder ningún dato. Otras maneras de hacer
imputaciones son: promedio, mediana, moda, interpolación (regresión lineal).

Siempre dentro de la limpieza de datos hablamos de crear tablas más limpias. Tablas más
limpias me refiero a cuando nosotros tenemos esas mega tablas de data cruda y yo voy a estar
jalando solo la información que yo necesito y luego voy a estar rellenando los agujeros que
quiero. Voy a eliminar las columnas innecesarias. Como eventualmente voy a tener una tabla
que es la que tiene solo la información que yo necesito.
Con el Query Editor es justamente como voy a estar transformando y limpiando mi data para
eventualmente poder crear visualizaciones.

3.3.2 Flujo de trabajo en Power BI

Sistema de inteligencia de negocios:

Procesamiento: Eliminar, transformar, normalizar datos en el Query editor de Power BI.


Cuando las distintas características o atributos de un dataset están expresadas en distintas
escalas (cm, m, km; dólar, euro, miles, millones, etc.) se hace patente la necesidad de
normalizar sus valores. Por tanto, podemos aplicar a los datos una transformación de
normalización de forma que su media sea igual a 0, y su varianza=1

Lo primero es después que importamos la data, sea cual sea la fuente de información, una
base de datos, un servicio web, o un archivo, lo que sea, lo introducimos en nuestro query
editor, no está estandarizada la forma de cómo viene la información, transformamos esa
información, producimos una consulta y si es necesario pues hacemos representaciones y de
relaciones y de características o particularidades de la data (relationship view & data view),
para poder facilitar el análisis de esta información, después de eso la pasamos en el Report
View que ya es donde nosotros mostramos, nuestros dashboards o el tablero resultante.

3.3.3 Generando data para pruebas (aleatorio)

Quiero mostrarles un par de herramientas que nos van a servir a nosotros para generar data
automáticamente y podamos hacer o emular ciertas situaciones donde se requiera el uso del
query editor. Básicamente, lo que vamos a hacer es construir nuestra data para poder hacer
transformaciones, limpieza, entre otras cosas. Si ustedes se van a Google y buscan mockaroo
(https://www.mockaroo.com/ ) → Realistic data generator.

Cree un archivo *.csv con la siguiente estructura:


Vista previa:

Estos datos están listos para usarse en Power BI.

3.4 Query Editor

3.4.1 Query Editor - Cargando data

Archivos para descargar:

Para realizar el demo de Query Editor descarga los siguientes archivos .CSV:
• lista_productos.csv
• ventas_1.csv
• ventas_2.csv

Abrimos el Query Editor (Transformación de datos) en Power BI:

¿Por qué se le pone de nombre Query Editor? sucede que en Power BI todos aquellos
procesos que nosotros hagamos para preparar datos antes de pasarlos a una visualización,
se les llaman querys, entonces debido a eso es que se le llama el editor de consultas o el query
editor.
Cargamos los datos: Inicio → obtener datos → archivo → CSV → ventas_1.csv

Cargamos el siguiente archivo: ventas_2.csv


3.4.2 Query Editor - trabajando con filas y columnas
En ventas_1 eliminamos la primera fila (columna 1 ... columna 8).
Inicio → Reducir filas

Cambiamos el nombre de las columnas como aparece en la primera fila:


Inicio:

También se puede eliminar columnas o seleccionar las deseadas.

Nos quedamos solo con las 4 últimas con las que trabajaremos (anonimizamos los datos):

Se puede deshacer las acciones realizadas anteriormente en “pasos aplicados”. Si no aparece


esta ventana puede mostrarla en el menú vista → configuración de la consulta.
3.4.3 Query Editor - filtros y reemplazando valores

Filtramos la columna Fecha_venta, quitando los nulos.

También quitamos los blancos de la columna precio_venta. De más de 1000 filas nos hemos
quedado con 962.
Ahora, cambiamos en la columna Sucursal el valor mal escrito “Baltimur” por “Baltimore” y
“Mepis” por “Memphis”. Inicio→ Reemplazar los valores

Hasta aquí tenemos la query ventas_1 limpia como deseamos.

3.4.4 Query Editor - aplicando Querys previamente definidas

Recordemos que la data que nos han proporcionado está dividida en dos partes (ventas_1 y ventas_2):

Aplicamos los mismos pasos anteriores al query ventas_2. Es decir, el mismo proceso de limpieza que
se realizó para el query anterior se aplica a un nuevo archivo para dejarlo con el mismo formato. Para
ver una forma abreviada de repetir los pasos anteriores vea el video: (Leccion 3.4.4 Query Editor -
aplicando Querys previamente definidas.mp4).

Duplicar la consulta ventas_1, se creará ventas_1 (2), y cambiamos su origen (en pasos apilados) al
archivo ventas_2.csv
3.4.5 Query Editor - append y grupos (añádir filas)
Vamos a construir una nueva query que contenga a las dos anteriores (tendrá la misma estructura: 4
columnas).

Home→ append queries (combinar) → Anexar consultas para crear una nueva

Nombre: ventas_totales

Si desea puede crear carpetas (grupos) para organizar (mover) las queries:

3.4.6 Query Editor - split columns y tipos de datos


Es bueno siempre verificar o validar que el tipo de dato que Power BI detectó para la columna
sea el más adecuado, para el tipo de análisis que nosotros queremos hacer.
En la esquina izquierda de cada columna se verifica el tipo de dato.
La columna precio_venta (tipo Texto) debemos cambiar a número decimal. El error que me
da es porque contiene el $ y primero hay que eliminar esto. Home→ Dividir columna (split)

Ahora, eliminamos la columna adicional (en blanco) y quedan las 4. Cambiamos el nombre de
la columna nuevamente a precio_venta.
3.4.7 Query Editor – merge (añadir columnas)

Ahora vamos a agregar las columnas nombre_producto y costo que están en el otro archivo
lista_productos.csv.
Cargamos el archivo lista_productos.csv Home→ nuevo origen
Relacionamos las 2 queries: home→ Combinar → combinar consultas → combinar
consultas para una nueva

Notas:

• Para que se active el botón aceptar hay que dar clic en cada columna código_producto
de cada tabla, es decir, indicamos las columnas por la cual relacionarse.
• Los nombres de las columnas código_producto deben ser iguales en ambas queries.

Se creó una nueva consulta Combinar1 con la columna lista_productos pero en forma de
Tabla. Damos Clic en la esquina derecha y seleccionamos las 2 columnas de interés:
Cambiamos los nombres de las columnas añadidas (nombre-producto, costo).

3.4.8 Query Editor - agregando columnas (calculadas)

Vamos a agregar una columna calculada: Utilidad = precio_venta - costo.


Agregar columna → columna personalizada
Darán valores negativos porque son datos generados aleatoriamente.

Para terminar yo puedo proceder con aplicar estos cambios para poder pasar a la sección de
visualización y a construir, los reportes o los Report View o cualquier otra modelación que
quiera hacer. Entonces le vamos a dar aquí: home→ Close & Play
Guarde el archivo de Power BI: Inicio→ Guardar Como… (proyecto.pbix)

Archivos para descargar


Para visualizar el demo de Query Editor en Power BI, descarga el siguiente archivo:
proyecto.pbix

Taller:
Realice el proceso ETL en power BI de los datos públicos (Ecuador/Imbabura) adquiridos a
través de un web service. Exponga en 5 minutos en grupo.
www.ecuadorencifras.gob.ec
3.5 SQL básico
Lenguaje de consulta estructurado que permite la interacción con los sistemas
de bases de datos. SQL en lo más general es igual para todos los sistemas de
bases de datos, pero dependiendo del proveedor algunas cosas pequeñas
podrían cambiar cosas.

SQL y ETL (Extract Transform and Load)

¿Porque enseñamos SQL?, porque este proceso de construcción de ETL se lleva a cabo por medio de
SQL ya que si se ponen a pensar es la interacción directa con la base de datos para poder construir,
un conjunto de datos o una sub si quieren verlo así, una sub-base de datos que ya este previamente
procesada antes de cargar eso a un sistema Power BI.

Cuando la cantidad de información es grande, el proceso de ETL es mejor hacerlo en el servidor de


BD por la potencia y características que posee para procesar SQL, más que hacerlo en Power BI en
una PC normal (a pesar que se puede hacer en el Query Editor como hemos visto).
¿Por qué es necesario de conocer SQL? es para construir ETL. Cuando sea necesario, cuando la data,
tenga características muy complejas, es mejor construir ETL y luego cargar esa información ya a
Power BI.

SQL Demo
Vamos a utilizar un sitio web que es como un editor de SQL, no vamos a montar un servidor de base
de datos (no es un curso de BD).

http://sqlfiddle.com/

Tutorial de SQL: https://sqltutorial.org/

Deber:

Aplicando IA en Power BI, busque algún caso práctico y exponga en 15 minutos en grupo.

Query editor → Inicio → Conclusiones de IA:

Por ejemplo, analizar los sentimientos de un listado de tweets (Twitter) de la cuenta oficial del
presidente de USA, Donald Trump, en 2020. Vamos a intentar analizar si los tweets de Trump han
sido positivos, neutrales o negativos.

https://vandalytic.com/tutorial-power-bi-sentiment-analysis-con-cognitive-services/
Lectura (opcional): Normalizando datos y reduciendo la dimensionalidad.
PCA (Principal Component Analysis) en un caso práctico utilizando Python.
https://empresas.blogthinkbig.com/python-para-todos-tutorial-de-pca-en-5/

También podría gustarte