Power Query es una aplicación disponible con Excel y Power BI Desktop que permite importar y transformar datos. El nombre de Power Query parece que ha desaparecido de las aplicaciones y directamente entramos en él mediante la acción de «Obtener datos» o bien de «Editar consultas».
Se trata de un entorno que permite hacer multitud de cambios en los datos mediante una estudiada y simple interfaz de usuario donde se van realizando pasos que siempre podemos deshacer o modificar. Por debajo de Power Query está M, el lenguaje al que se traducen todas las acciones que realicemos.
Para realizar los pasos de importación y transformación de datos podemos utilizar el entorno gráfico, podemos recurrir directamente al código o bien una combinación de ambos. El código M está disponible mediante la opción denominada «Editor avanzado». En este editor podemos añadir o modificar el código que necesitemos.
Si bien se trata de un lenguaje muy potente, no dispone de un editor moderno con el que desarrollar. Me refiero a que Power Query ni colorea el código ni dispone de intellisence tal como nos tienen acostumbrados los editores actuales. Aunque también podemos recurrir a Visual Studio que nos permite evitar alguno de los inconvenientes, en muchos casos solo necesitamos conocer el funcionamiento de alguna de las funciones.
Existe documentación de todas las funciones de M, pero también es interesante la opción #shared que nos listará en el propio Power Query la lista de funciones y constantes que contiene el lenguaje así como de la descripción de cada una de ellas, un ejemplo y la posibilidad de ejecutarlas. Para ello debemos seguir estos pasos:
- Crear un nuevo origen de datos con el botón «Nuevo origen» y escoger «Consulta en blanco».
- Pulsamos sobre «Editor avanzado»
- Eliminaremos todo el contenido y escribiremos #shared
Aparece el listado de funciones, opcionalmente lo podemos convertir en una tabla tal como muestra la secuencia siguiente y utilizar la funcionalidad de filtro para encontrar una función determinada.
Si alguien está intersado en profundizar sobre el contenido de #shared puede curiosear en un post de Query Power que contiene un par de funciones para acceder a todos los metadatos y así disponer en una tabla de toda la información (Nombre de la función, categoría, ejemplo, descricpción, etc.)