Cuando accedemos a «Obtener datos» o a «Editar consultas» en Power BI estamos lanzando la aplicación antiguamente denominada «Power Query». Esta aplicación permite de una forma muy visual importar datos y transformarlos en una lograda intenficie de usuario con multitud de opciones para limpiar datos, crear nuevas columnas, girar tablas, etc.
Por debajo de Power Query existe un lenguaje denominado «M», cualquier acción con las opciones de la cinta del menú, el programa lo convierte a este lenguaje. Siempre tenemos la posibilidad de ir al «Editor avanzado» y visualizar cada uno de los pasos. Pero también podemos tomar el editor como lugar principal de nuestro trabajo y obviar, en parte o en su totalidad, la utilización de las opciones visuales de la aplicación escribiendo nosotros mismos el código.
El editor de Power Query es uno de los puntos donde Microsoft debe mejorar pues no dispone de las características de los editores de código modernos como el autocompletar o el resalte de palablas clave. Tampoco disponemos de la capacidad de tener un repositorio de funciones propias que podamos importar en cada proyecto, es algo que debemos realizar manualmente.
En cuanto a las funciones hablamos algo sobre ellas el mes pasado (también aquí). El uso de funciones es una excelente opción para proyectos que tienen cierta complejidad o extensión en la transformación u obtención de datos. Por ahora, para reutilizar las funciones solo nos queda la solución de guardarlas en archivos de texto y recuperándolas cuando sea necesario.
Al margen de las que creemos nosotros, por la red encontraréis una gran variedad de funciones que pueden servir para acometer tareas a priori complejas, al menos servirán como plantilla y nos ahorrarán tiempo para realizar las propias. Muchas de ellas realizan acciones muy concretas como esta que recupera todas las URL con imágenes de una página web, o esta otra lista de funciones que realizan tareas más simples y genéricas, aunque alguna de ellas muy valiosas. También las que Ruth Pozuelo va publicando en Github.
Otras pueden parecer que hagan tareas imposible, como la que ha hecho The Biccountant para importar texto desde archivos PDF. Intersante y popular la que ha desarrollado Gerhard Brueckl, a partir de la propuesta de SQLJason para importar imágenes a Power BI para que estén disponibles sin que deban estar en un lugar externo, es decir embebidas.
Algunas otras funciones interesantes para Power Query:
- M-Tools. Una función de funciones, alguna de ellas muy interesante
- fnPQCalendar_FromSingleColumn. Crear todas las columnas necesarias para una tabla de calendario a apartir de una columna de fecha.
- Descomprimir archivos zip. Permite descubrir el contenido de un archivo zip y poder trabajar con ellos.
- Iterando por un número desconocido de paginas de una tabla web. Solución (aunque no para todos los casos) a un problema común en la recuperación de datos de tablas paginadas.
Para estar al día es imprescindible seguir el blog de Chris Webb, un gurú de M.