Probando la nueva API REST de Power BI para ejecutar consultas DAX

6 Ago, 2021
Nelson López Centeno , ,

Esta semana han anunciado la versión preliminar de una nueva API REST de Power BI para hacer consultas DAX y he escrito un script en Python para probarla.

Los detalles del anuncio se pueden consultar en el blog de Power BI

Hasta ahora para ejecutar consultas DAX sobre un conjunto de datos publicado en el servicio de Power BI había que usar XMLA. En mi opinión, hacerlo con esta nueva API tiene dos grandes ventajas:

  • Trabaja con licencia Pro, a diferencia de XMLA que requiere una licencia Premium
  • Es mucho más sencilla de usar que XMLA, que por lo general requiere usar la biblioteca ADOMD.NET

Como he dicho antes, he implementado un script Python, muy sencillo y basado en el ejemplo del post del anuncio, que he compatido en GitHub. Yo lo he probado en Windows, pero debe funcionar en otras plataformas, así que si lo pruebas en Mac o Linux, por favor, házmelo saber.

La llamada a la API se hace en la función que muestro a continuación, donde se utiliza la biblioteca Requests.

Llamando a la API REST de Power BI para ejecutar una consulta DAX

El access_token se obtiene con la API de Azure Active Directory a través de la biblioteca MSAL. El ID del conjunto de datos, dataset_id, se guarda en una variable del entorno. Y la consulta DAX, dax_query, se lee de un fichero.

A continuación se muestra el código principal del script, que lo otro que hace es mostrar en la consola la consulta DAX y el resultado formateado como una tabla, usando la biblioteca Rich.

Llamando a la API REST de Power BI para ejecutar una consulta DAX

Y para finalizar se muestra el resultado de una ejecución.

Llamando a la API REST de Power BI para ejecutar una consulta DAX

Deja un comentario