Skip to main content

Tiempo de leer: 5 minutos

La versión de julio de 2020 de Power BI Desktop incluye una nueva función de vista previa que permite «herramientas externas”Para conectarse más fácilmente a los modelos de Power BI. Antes de julio, las herramientas externas podían conectarse a un modelo tabular abierto. Con la nueva pestaña Herramientas externas en la cinta, así como Power BI pasando la información de conexión como argumento a la herramienta, es una experiencia mucho más conveniente.

Hay tres herramientas comunitarias destacadas para comenzar: DAX Studio, ALM Toolkit y Tabular Editor. Sin embargo, uno de los grandes aspectos de esta nueva característica es que puede definir sus propias herramientas externas en JSON y pasar la conexión del modelo Power BI actualmente abierta a su herramienta con un simple clic.

¿Por qué python?

¿Por qué utilizar python como una «herramienta» externa? Aunque python no es una «herramienta» en el mismo sentido que las «3 grandes» herramientas de la comunidad enfocadas este mes, quiero mostrar cuán versátil es la función de herramientas externas. También quiero alentar a las personas a usar la imaginación y también explorar cómo Power BI no es realmente tan cerrado como algunas personas piensan, al menos el modelo de datos …

Algunas de estas ideas no son exclusivas de python, pero hay suficiente variedad en las comunidades de ciencia de datos y Power BI para que las personas puedan averiguar si algo de esto podría ser útil dentro del contexto de sus propios entornos, habilidades y organizaciones.

Idea de muestra: codifique su propia documentación del modelo de Power BI

¿Qué pasaría si hubiera una forma de conectarse a un modelo de Power BI desde python y usar un contenedor de python para el Modelo de objeto tabular (TOM) ¿Biblioteca .NET? Tal vez para importar la información del modelo a pandas ¿DataFrames para ayudarlo a crear su propia documentación de modelo con un solo clic? (Ya hay muchas formas de documentar un modelo; agregue su propio código en python a la lista)

image-4317846

Idea de muestra: exporte tantos datos como lo permita su memoria local

Power BI Desktop le permite exportar 30.000 registros a CSV desde un visual. Puede obtener más si copia la tabla manualmente desde la vista de datos, pero es bastante limitado. Si desea más, anteriormente habría tenido que usar DAX Studio o Power BI Report Builder. Agregue python a esa lista.

Tenga en cuenta que exportar desde DAX Studio es más rápido si simplemente desea exportar. En situaciones en las que es posible que no siempre tenga acceso a DAX Studio o python sea su herramienta de elección y prefiera obtener datos directamente de un modelo en un DataFrame de pandas y evitar los pasos de importación y exportación manuales intermedios, es una opción. ¿Sin embargo, 6 millones de registros? Juego de niños … Sin embargo, por motivos de rendimiento y para no afectar los recursos de su organización en el servicio Power BI, evite exportar esta cantidad de datos con el punto final XMLA en Power BI Premium: siga este escenario utilizando Power BI Desktop en su estación de trabajo local.

image-2-7237873

Por cierto, el otro día me burlé de un tweet sobre las capacidades de exportación desde Desktop y me sorprendió la variedad de respuestas. Muchas de las respuestas no se centraron directamente en la pregunta explícita sobre Escritorio (centrado en las limitaciones del servicio y no en el escritorio, promovió herramientas externas, etc.), pero gracias a todos los que respondieron.

image-1-4123289

Idea de muestra: Visualice datos de Power BI con bibliotecas interactivas de python

Una de las principales limitaciones del uso de objetos visuales de python en un informe de Power BI es que el objeto visual debe mostrar una imagen estática. Eso es lo suficientemente bueno para algunos escenarios, pero he respondido muchas preguntas sobre la extensión de python + Power BI (e incluso organicé un seminario web de BlueGranite sobre el tema incluido a continuación). En general, suele ser ideal para escenarios individuales o de equipo. La imagen estática, el rendimiento y la incapacidad de controlar las bibliotecas instaladas por Microsoft una vez implementadas en el servicio Power BI a menudo limitan su uso a escala.

Aquí está el seminario web original de Power BI + python que muestra las capacidades actuales para usar elementos visuales de python en informes de Power BI (+ suscríbase al canal de YouTube de BlueGranite colocando el cursor sobre el logotipo en la parte superior izquierda y presionando el botón rojo Suscribirse):

Al conectarse al modelo de Power BI y ejecutar una consulta DAX para cargar un DataFrame de pandas, también puede usar bibliotecas de visualización interactivas de python como Plotly o Altair en su IDE de elección. No está limitado a exportar su objeto visual como una imagen estática e incrustarlo en un informe de Power BI (aunque obviamente todavía puede y debe hacerlo cuando las circunstancias sean las adecuadas).

Por ejemplo, aquí hay una solución de código completo que muestra los datos de Power BI visualizados con Altair (tenga en cuenta la información sobre herramientas al pasar el mouse que no obtendría en un informe de Power BI). Puede evitar tener que exportar manualmente los datos de Power BI primero antes de introducirlos en el DataFrame.

image-3-8627750

La misma ventaja es válida con Plotly o cualquier otra biblioteca de visualización. Quizás muestre datos de Power BI en una aplicación Dash y codifique la integración de datos en lugar de tener que depender de una exportación manual.

image-4-5844646

Idea de muestra: combinar datos del modelo de Power BI con otra fuente de datos en python

Aunque Power BI tiene Power Query para combinar datos de diferentes orígenes, ¿qué pasa si Power BI * es * uno de los orígenes de datos? Por ejemplo, hay escenarios en los que Power Query no se ocupará de todo. Quizás desee fusionar datos de Power BI con otro DataFrame en python que contenga datos geográficos y exportar los resultados como un archivo geojson (para usar en el nuevo Power BI Objeto visual de Azure Maps, ¡por supuesto!). Power BI no podría construir ese geojson, pero python sí. NOTA: Todavía no tengo una captura de pantalla para este escenario porque todavía es solo una idea.

Próximamente en la Parte 2: Cree una herramienta externa de python para la cinta de Power BI

A lo largo de una serie de próximas publicaciones, le mostraré cómo comenzar con escenarios como este usando python con modelos de Power BI. En la Parte 2, explico cómo crear una herramienta externa pbitool.json para pasar argumentos a python y ejecutar un script de muestra de python. Las publicaciones futuras después de la Parte 2 se centrarán en más de los escenarios avanzados descritos anteriormente, como acceder a TOM y ejecutar consultas DAX desde un script de python o un cuaderno Jupyter.