Passer au contenu principal




Il est temps de lire: 4 minutes

En la Parte 1, presenté algunos escenarios posibles para usar python con Power BI fuera de las funciones integradas de python visual y script de python. Esta publicación se centra en la configuración de un archivo de herramienta externo básico que pasa la conexión del modelo de datos de Power BI para su uso en scripts de python. Va a ser un très scénario de base, mais prépare le terrain pour de meilleures choses à venir, comme décrit dans la partie 1.

Définir un fichier JSON PBITool de base

Pour voir un nouvel outil sur le ruban Power BI Desktop, vous devez définir un fichier JSON et le placer dans un dossier spécifique sur votre poste de travail. Les Points forts Les outils externes Tabular Editor, DAX Studio et ALM Toolkit ont des programmes d'installation qui gèrent cette étape. Puisque vous ne disposez pas d'un installateur dédié pour placer ce fichier dans le répertoire requis, vous devez définir manuellement le vôtre.

Siempre que el «formato de métadonnées mejorado» para el modelo de datos esté habilitado y el JSON en su archivo être preciso, debería ver su nueva herramienta en la cinta después de volver a abrir Power BI Desktop.

Definamos una herramienta externa llamada «Conexión de escritorio de Power BI» que muestra el Logo de python en la cinta y muestra la información de conexión de Power BI actual cuando hace clic en ella.

<>

Pour commencer, copiez et collez le JSON suivant dans un éditeur de texte (essence).

{
  "version": "1.0",
  "Nom": "[Nom de l'outil]",
  "la description": "[Description de l'outil]",
  "chemin": "C: \[CHEMIN VERS PYTHON EXÉCUTABLE]\ python.exe ",
  "arguments": "C: /[CHEMIN VERS LE SCRIPT PYTHON].py "%server%" "%database%"",
  "iconData": "données: image / png; base64,[VOTRE CONTENU IMAGE BASE64]"
}

Voici un exemple que j'ai terminé pour mon exemple d'outil de base afin d'afficher la connexion actuelle à Power BI Desktop. J'utilise Anaconda, c'est pourquoi vous voyez python.exe à partir de l'emplacement Anaconda par défaut dans mon chemin.

 {"version": "1.0", "name": "Power BI Desktop Connection", "description": "Use python", "path": "C: \ ProgramData \ Anaconda3 \python.exe"," arguments ":" C: / Users / DavidEldersveld / Documents / python /PowerBIConnectionString.py "%server%" "%database%"", "iconData": ""}

Desglosando el Contenu:
version: ne change pas ça
nom: nom d'affichage sur le ruban Power BI Desktop
la description: descripción de la herramienta externa (pensaría que esto aparecería como texto alternativo cuando se desplaza, pero solo el nom affiché lors du survol)
route: chemin vers toi python.exe Record
arguments: arguments de ligne de commande passés à votre exécutable
iconData: image base64 utilisée pour l'icône du ruban

Si vous regardez le [tool] .pbitool.json pour un autre outil comme l'éditeur tabulaire, vous verrez le serveur y base de données passé comme les deux seuls arguments. Pour une utilisation avec python, ceux-ci peuvent rester, mais votre premier argument devra être un script python .py dans ce cas.

Pour adapter ce fichier au vôtre, déterminez les valeurs appropriées et remplacez-les si nécessaire.

 {"version": "1.0", "nom": "[Nom de l'outil]"," la description ":"[Description de l'outil]"," chemin ":" C: \[CHEMIN VERS PYTHON EXÉCUTABLE]\ python.exe "," arguments ":" C: /[CHEMIN VERS LE SCRIPT PYTHON].py "%server%" "%database%"",
  "iconData": "data:image/png;base64,[VOTRE CONTENU IMAGE BASE64]"
}

Les deux plus importants seront les chemin correct vers votre python.exe et la première valeur d'argument avec le chemin correct vers votre script python.

Sé que hay una forma de usar código para convertir imágenes a base64, pero siempre termino usando un sitio la toile como este por conveniencia: https://www.base64-image.de/

Ajoutez votre fichier [tool] .pbitool.json dans le dossier approprié

Ajoutez votre nouveau fichier à votre C: Program Files (x86) Fichiers communs Outils externes Microsoft Shared Power BI Desktop dossier.

Créez votre script python

Le fichier [tool] .pbitool.json utilisait un fichier .py comme premier argument. D'où vient cela? Ça vient de toi! Placez le code que vous souhaitez exécuter dans ce fichier et enregistrez-le à l'emplacement que vous avez fourni dans le fichier [tool] .pbitool.json.

Pour mon exemple de connexion Power BI Desktop, mon exemple de script (essence) est en dessous duquel j'ai enregistré sous PowerBIConnectionString.py dans le chemin décrit ci-dessus [tool] .pbitool.json file. Le script imprime simplement les arguments du serveur et de la base de données qui lui sont transmis, puis concatène et imprime une chaîne de connexion qui pourrait être utilisée pour se connecter à ce modèle de données particulier.

import sys print ('Power BI Desktop Connection') print (str (sys.argv [1])) print (str (sys.argv [2])) print ('') conn = "Provider = MSOLAP; Source de données = "+ str (sys.argv [1]) +"; Catalogue initial = ''; " entrée print (conn) () 

sys.argv [1] est l'argument correspondant au serveur et sys.argv [2] est le GUID de la base de données. python commence à 0, qui est la valeur de l'argument associé au script courant.

Si vous étendez enfin les outils externes avec vos propres scripts python et passez la connexion Power BI Desktop, vous ferez confiance sys.argv [1].

Le GUID de la base de données entrera en jeu dans les futurs scripts, mais il n'est pas requis pour ce scénario initial. Sachez simplement que localement, la chaîne de connexion n'aura besoin que de serveur: port.

Si le script .py et [outil] Le fichier .pbitool.json se trouvent au bon emplacement et en supposant que le script fonctionne, vous pouvez ouvrir Power BI Desktop. Vérifiez le ruban Outils externes pour exécuter le script.

Bientôt dans la partie 3: .NET + python - Connexion au modèle d'objet tabulaire (TOM)

Bien que ce script de base fonctionne tel quel, il y a un problème avec cette configuration que je couvrirai dans le prochain article. python.exe s'exécute indépendamment en dehors d'un environnement, de sorte que les packages chargés dans la base de données ou dans un autre environnement virtuel ne sont pas disponibles pour le script.

Pour nous connecter au modèle d'objet tabulaire de python, nous aurons besoin d'un peu d'aide de .NET et de certains packages dans mon environnement conda. La partie 3 contient les paramètres du fichier [tool] .pbitool.json qui me permet d'utiliser un environnement virtuel Python spécifique.

Liens de paiement

Como asociado de Amazone, gano con las compras que califican.