Mucha gente usa Python con cuadernos, así que echemos un vistazo a una forma posible de habilitar un Jupyter herramienta externa para Power BI Desktop. El siguiente enfoque escalonado comienza con simplemente abrir Jupyter. Luego avanza para crear y abrir un cuaderno que incluye Power BI servidorLos servidores son ordenadores centrales y potentes dentro del campo de la tecnología de la información que procesan y proporcionan software y archivos en una red. Desde el punto de vista de un cliente, varios ordenadores en una red pueden ponerse en contacto con el servidor central para conseguir la información solicitada. En la arquitectura cliente-servidor, el servidor puede ser un software que proporciona un servicio y se ejecuta en más y base de datos argumentos. Finalmente, se abre camino hacia la descarga de una definición de cuaderno contenida en una esencia de GitHub y se conecta al modelo tabular de Power BI para comenzar a hacer que este enfoque sea más útil.
Esta publicación continúa una serie de publicaciones relacionadas con Python y Power BI. Las primeras tres partes de esta serie de blogs introdujeron algunos usos posibles de Python conectado a un modelo de Power BI, cómo configurar una herramienta externa básica de Python y cómo usarla con un entorno virtual y conectarse al modelo de objetos tabulares.
Open Jupyter: fundamental pero no útil
Yo uso el Anaconda distribución en estos ejemplos, y consideremos cómo simplemente iniciar y abrir un cuaderno (vainilla Jupyter y nada con JupyterLab). Solo necesitamos un archivo pbitool.json en esta etapa porque el objetivo¿Qué es un objetivo?En marketing, un objetivo es el resultado que se pretende alcanzar en un periodo de tiempo, a través el uso de los recursos disponibles. Por tanto, se debe formular de una forma clara y hace falta que sea accesible y medible. más es simplemente iniciar Jupyter, ni siquiera un archivo de cuaderno. No es un ejemplo útil, pero proporciona una base sobre la que construiremos.
Como se discutió en la Parte 2, los archivos pbitool.json definen las herramientas externas de Power BI Desktop. Si observa el acceso directo de Jupyter, proporciona la inspiración sobre cómo definir la herramienta externa de Power BI.
<noscriptNoScript es un complemento del navegador para Mozilla Firefox, que impide que se cargue en las páginas web contenido como JavaScript, Flash o iFrames. Su objetivo es incrementar la seguridad durante la navegación y quitar la promoción comercial más molesta al cargar sitios web. El términoNoScript tiene un significado distinto en la programación HTML. Cuando JavaScript está desactivado, la etiqueta <noscript> o </noscript> asegura que el usuario pueda ver el más>
El JSON en esta esencia debería guardarse como un [tool].pbitool.json y se coloca en C: Archivos de programa (x86) Archivos comunes Microsoft Shared Power BI Desktop Herramientas externas.
Tenga en cuenta que la ruta es para Python.exe y los argumentos cargan el entorno Python predeterminado y ejecutan el jupyter-notebook-script.py script para iniciar Jupyter.

Sin embargo, no tiene ningún valor simplemente abrir Jupyter. En esta etapa, no es más que un reemplazo de un atajo. El valor real es integrar Power BI Desktop más estrechamente con el portátil.
Crear y abrir un cuaderno (codificado)
Yendo un paso más allá, creemos un cuaderno vacío y escribamos la información de conexión de Power BI Desktop actualmente abierta en las celdas del cuaderno. En este caso, necesitamos un script Python junto con un nuevo [tool]Archivo .pbitool.json.
los [tool]El archivo .pbitool.json tiene algunas diferencias con la versión anterior. En particular, ejecuta un script de Python que he nombrado powerbinotebook.py y colocado en mi C: Temp directorio. También verá el servidor y base de datos argumentos que usa Power BI Desktop para pasar la conexión local actual (servidor: puerto y GUID de la base de datos).
C: /Temp/powerbinotebook.py ”% servidor% ” ”% base de datos% ”
El resto de los argumentos inician el entorno Python predeterminado y ejecutan Jupyter, pero es importante que el powerbinotebook.py El script se ejecuta antes de que se inicie Jupyter. ¿Porqué es eso?
El script Python define un cuaderno casi vacío para Jupyter y luego lo lanza en Jupyter. Pon mucha atención a notebook_core, que contiene la definición JSON para el cuaderno y escribe sys.argv[1] y sys.argv[2] en el cuaderno para el servidor de Power BI y la base de datos respectivamente. Cada celda en el células La matriz aparecerá como una celda separada en el cuaderno de muestra. Como lo requiere la definición pbitool.json anterior, la secuencia de comandos de Python se encuentra en C: Temp powerbinotebook.py, y obviamente podría nombrar y guardar el suyo en la ubicación que elija.

El siguiente video muestra la ejecución básica del script, donde el script de Python crea el cuaderno, inicia Jupyter y Jupyter inicia el cuaderno.
Crear y abrir un cuaderno definido en un Gist de GitHub
Yendo un paso más allá, cambiemos la definición del cuaderno a una esencia de GitHub en lugar de codificarla en el script de Python. La esencia contiene JSON y también marcadores de posición para <> y <>, que la secuencia de comandos de Python reemplazará con el archivo sys.argv real[1] y sys.argv[2] valores.
Ejemplo de esencia (no incrustado en la publicación): https://gist.github.com/deldersveld/fdada06b82621233d6e40fac13cceb55
Yo usé lo mismo [tool].pbitool.json, ya que solo cambia el contenidoEl contenido puede ser muy difícil de definir con precisión. Es una definición que se refiere a las declaraciones contenidas en un documento o publicación de cualquier tipo y puede incluir las tecnologías de la información y la comunicación. Esto cubre todos los tipos de medios como imágenes y texto. A parte de esto, en el campo de la optimización de motores de búsqueda, los términos duplicar contenido, contenido único, más del script powerbinotebook.py. Tenga en cuenta que el script es mucho más corto ahora que ya no contiene la definición del cuaderno. Esto usa el peticiones biblioteca para obtener la plantilla de cuaderno JSON de la URLEl URL (Localizador Uniforme de Recursos), es una dirección definida que apunta a la posición de un archivo en un servidor y lo recupera. Las URL se introducen en un navegador web para ingresar a documentos en la web o se incrustan como hipervínculos dentro de un documento. Se puede usar un Permalink para que una URL esté disponible de forma permanente. Componentes de una URL • prefijo de protocolo más definida en gist_url. Note también cómo reemplazar intercambia los valores actuales del servidor y la base de datos de Power BI.
Ampliación de la definición del portátil
Finalmente, construyamos un cuaderno un poco más complejo con una actualización powerbinotebook.py guión. Como antes, no se requieren modificaciones para [tool].pbitool.json. Solo se actualiza la secuencia de comandos de Python.
Aquí está el Gist del cuaderno actualizado como referencia (no incrustado en la publicación):
https://gist.github.com/deldersveld/70e05dbc97086181641592f03d314800
Al igual que con el último ejemplo, el script de Python descarga la nueva definición de cuaderno contenida en una esencia de GitHub diferente. Además, como antes, reemplaza los marcadores de posición <> y <> con los valores reales pasados a sys.argv desde Power BI Desktop.
Lo nuevo aquí es que este script descarga el ssas_api.py módulo mencionado en la publicación de la Parte 3, que es una de las muchas formas posibles de conectar Python a AMO / TOM y otras bibliotecas .NET. El cuaderno de muestra actualizado carga el módulo y demuestra la conectividad del modelo básico.
TENGA EN CUENTA que la secuencia de comandos no sobrescribe intencionalmente un cuaderno una vez que se crea para un número de puerto específico. Para obtener una nueva plantilla en blanco si está probando esto, simplemente requiere cerrar y volver a abrir Power BI Desktop. La conexión a TOM en este ejemplo también requiere una conexión de Power BI Desktop con al menos una tabla existente.
Aquí tienes un vistazo al cuaderno de muestra en acción. Ilustra dos cosas: una conexión básica a TOM y la evaluación de una consulta DAX con el modelo abierto en Power BI Desktop.
Desbloqueo de más
Con una conexión en vivo al modelo de Power BI Desktop de Python, puede desbloquear muchas posibilidades. Como se describe en la Parte 1, hay muchos ejemplos que van desde la visualización de datos hasta la actualización del modelo. Tengo curiosidad por conocer su opinión sobre cómo le gustaría usar Python en Power BI.





