Archivo de la etiqueta: Power Query

Crear consultas con Power BI – Herramienta de Inteligencia de Negocio

Power BI es una herramienta en la que se integran todas las etapas de un proceso de Inteligencia de Negocios o Business Intelligence. Ya he escrito sobre las tareas que se realizan en cada una de las etapas, en términos generales, en esta entrada, Power BI – Herramienta de Business Intelligence

Hoy, me quiero centrar en la etapa conocida como ETL – Extracción – Transformación – Carga. Empecemos por el principio, todo comienza por la obtención de datos externos.

Extraer datos

En Power BI existen excelentes funcionalidades para la conexión y extracción de datos externos, cuenta con un amplio grupo de conectores integrados que enlazan a orígenes de datos muy diversos en formato y complejidad. Los conectores se dividen en grandes grupos: Archivos, Bases de datos, Power BI, Azure, Servicios en línea y Otros. Cada conector es diferente, según el tipo de origen de datos al que se conecta. En cada caso se emplean navegadores y formularios específicos. El proceso es muy simple, facilita la conenctividad sin necesidad de dominar lenguajes de consulta de ningún tipo. De esta forma, se entrega al usuario de negocio la capacidad de poder iniciar desde cero un proceso de Inteligencia de Negocio.

Transformar datos

Con independencia del origen de datos, en Power Query los datos en vista previa, hasta 1000 filas, se transforman y limpian en formato de tablas de filas y columnas.

El editor de consultas o Power Query admite además de las tablas, consultas que devuelven valores de tipos diferentes como por ejemplo, variables de texto, número o fecha y además listas y registros. Es posible definir funciones de usuario y parámetros.

pq_consultas

Para crear las transformaciones no hay que conocer lenguaje M. Las transformaciones se realizan desde opciones de menú con formularios y asistentes para las funcionalidades integradas. De esta forma, el usuario de negocio puede crear las reglas necesarias en cada consulta, las agrupaciones, validaciones, segmentaciones y todo tipo de combinaciones necesarias que le permitan dar cumplimiento a sus requisitos de negocios.

Otra de las ventajas es, que en ningún caso se afecta el origen de datos, es posible transformar, configurar y adaptar todo lo que haga falta sin dañar ni siquiera de forma accidental los datos de origen.

pq_transf1

¿Por qué transformar los datos?

El objetivo fundamental de la fase Extracción – Transformación – Load (carga) en un proyecto de Business Intelligence es crear una estructura, un modelo de datos acorde al escenario que estemos trabajando y que permita obtener el informe analítico que se necesita. Hay que identificar los escenarios, por ejemplo:

  • Existencia de tablas dinámicas que necesitan convertirse en tablas con columnas no dinámicas.
  • Existencia de columnas sobrecargadas, que contienen distintos tipos y contenidos
  • Distinguir y eliminar las filas y columnas calculadas con totales, porcientos, ratios, así como filas y columnas en blanco.
  • Hay que deshacer las tablas sobrecargadas, sin concepto de entidad, al estilo Excel y crear a partir de ellas modelos tabulares con tablas con entidad propia.
  • Hay que distinguir cuando encontramos la misma estructura en tablas distintas, por lo que es necesario unir sus filas en una única tabla para el modelo o combinar archivos de una carpeta.

Algunas acciones de modelado necesarias desde la consulta son:

  • Deshacer normalización de tablas cuyo origen es cualquier base de datos relacional o consultas Power Query.
  • Agrupar y agregar columnas.
  • Estructurar tablas para modelo tabular con acciones de pivot y unpivot,  así como combinar consultas.

pq_transf2

El tratamiento de datos tipo fecha es muy importante y desde Power Query se pueden realizar muchas transformaciones como crear columnas para fechas relativas, obtener duración a partir de fechas y trabajar con un buen número de funciones instaladas, entre las que puedo resaltar la conversión del tipo de dato identificando el origen. La tabla Calendario para acciones de BI de tiempo se puede crear con lenguaje M.

Calidad de datos

Como parte del proceso ETL es necesario velar por la calidad de los datos, y en este aspecto no se queda atrás una herramienta tan completa como es Power BI.

Una funcionalidad interesante de Power Query es mostrar información sobre calidad y distribución de columnas. Resulta de gran utilidad conocer a simple vista la composición y calidad de las columnas para identificar escenarios de inconsistencia y mala calidad de los datos.

Se distinguen los valores distintos y únicos. A veces cuesta distinguir la diferencia. Se pueden utilizar para muchas cosas, dejo un ejemplo de cada uno.

Los valores distintos son importantes para identificar la calidad de las columnas que se pueden utilizar como claves foráneas para una relación con una tabla de hechos. Estas columnas deben estar del lado Uno de la relación, por lo que los valores deben ser Distintos.

Los valores únicos por su parte nos desvelan sin siquiera preguntarlo posibles anomalías en los datos. En la imagen, por ejemplo es muy significativo que exista un único producto al que se asocia uno de los 10 colores distintos que existen. ¿Anomalía o no? Depende, Power BI no conoce el negocio, “sólo” nos desvela información sobre nuestros datos.

PQ

Esta información se muestra analizando los 1000 primeros registros de datos; pero y esto es una maravilla, podemos cambiar la configuración para analizar el conjunto de datos al completo en escenarios muy particulares, el beneficio es muy alto. Luego, no olvidemos volverlo a dejar como estaba, mirando apenas los 1000 primeros registros que componen la vista previa de los datos.

No me estoy olvidando de los Flujos de datos en el Servidor de Power BI, me refiero a Power BI Dataflows, puedes ver aquí más información. Al trabajar con Power BI Dataflows perseguimos los mismos objetivos que con Power Query y avanzamos un poco más, ya que alojamos los conjuntos de datos y la lógica de la consulta en un repositorio centralizado en el servidor, lo que facilita enormemente las capacidades de reutilización de los mismos con todas las garantías que ofrece la correcta implementación de la seguridad.

Lo que ocurre es que quiero centrarme en este resumen sobre Power BI como herramienta de Business Intelligence al completo en las funcionalidades integradas en el Power BI Desktop.

Cargar datos

La ventaja de trabajar con Power BI es que se puede avanzar mucho en el proceso de creación de consultas y comprobación de muchos de los escenarios de modelado sin hacer la carga masiva de los datos.

Para un proyecto de Business Intelligence es muy importante poder avanzar sin demoras provocadas por el acceso a datos y ejecución de consultas. Con la vista previa de los datos hay suficiente información como para crear consultas muy eficientes sobre los datos de origen y agregar toda la lógica que exige el escenario en concreto.

El modelo de datos puede quedar muy bien definido tras la etapa de ETL. Cuando ya estemos seguros de que cada una de las consultas y dentro de ellas, las tablas de filas y columnas tienen el aspecto y contenido necesarios, podemos realizar la carga.

Cargar datos significa conectarse al origen, ya sea externo, ya sea otra consulta dentro del propio Power BI Desktop, extraer todos los registros, los miles o millones, todos los que sean y almacenarlos en el Modelo Tabular que existe dentro de Power BI.

En resumen, Power Query, dentro de Power BI es un excelente entorno de trabajo para realizar la etapa ETL al completo desde dentro de Power BI.

Consultas Power BI – Recursos

(Vuelvo a publicar la entrada porque he realizado un grupo de cambios importantes, que pudieran pasar desapercibidos)

Pretendo escribir sobre Power BI con mayor frecuencia que el año anterior, ha llovido mucho, la herramienta ha “crecido”, cumplió su segundo año, y yo he tenido la oportunidad de aprender muchísimas cosas nuevas de los cursos que he recibido y de los alumnos a los que a su vez, he impartido formaciones y tutorías.

Lo primero, en el proceso con Power BI, como en todo proceso de Inteligencia de Negocio es la etapa de Obtener, Transformar y Cargar datos (ETL) Sigue leyendo

Obtener y transformar datos con Excel 2016 (5/6)

Hace un tiempo comenté sobre algunas diferencias existentes entre Power Query y Power Pivot, una ellas es la capacidad que tiene Power Query para leer los metadatos, analizarlos e identificar las relaciones entre tablas de Bases de datos relacionales. En una de las entradas de esta serie, analicé diferencias a la hora de denormalizar tablas. Sigue leyendo

Obtener y transformar datos con Excel 2016 (3/6)

Nueva consulta Desde Base de datos

Hay una gran cantidad de Bases de datos disponibles desde esta opción de menú. Está muy bien, así llega a más gente. En los cursos me encuentro con alumnos que consultan orígenes muy variados a los que han venido muy bien estas ventajas a la hora de conectar. Sigue leyendo