Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Certains outils doivent être inscrits manuellement auprès de Power BI Desktop. Pour inscrire un outil externe, créez un fichier JSON avec l’exemple de code suivant :
{
"name": "<tool name>",
"description": "<tool description>",
"path": "<tool executable path>",
"arguments": "<optional command line arguments>",
"iconData": "image/png;base64,<encoded png icon data>"
}
Le fichier pbitool.json inclut les éléments suivants :
- nom: Indiquez un nom pour l’outil, qui s’affiche sous forme de légende de bouton dans le ruban Outils externes dans Power BI Desktop.
- description : (facultatif) Fournissez une description, qui s’affiche en tant qu’info-bulle sur le bouton du ruban Outils externes dans Power BI Desktop.
- chemin: Fournissez le chemin d’accès complet à l’exécutable de l’outil.
-
arguments : (facultatif) Fournissez une chaîne d’arguments de ligne de commande avec lequel l’exécutable de l’outil doit être lancé. Vous pouvez utiliser l’un des espaces réservés suivants :
- %server%: Remplacé par le nom du serveur et le numéro de port de l’instance locale de Analysis Services Tabulaire pour les modèles de données Importés/DirectQuery.
- %database%: Remplacé par le nom de la base de données du modèle hébergé dans l’instance locale de Analysis Services Tabulaire pour les modèles de données importés/DirectQuery.
- iconData : Fournissez des données d’image, qui seront affichées sous la forme d’une icône de bouton dans le ruban Outils externes dans Power BI Desktop. La chaîne doit être mise en forme en fonction de la syntaxe des URI de données sans le préfixe « data : ».
Nommez le fichier "<tool name>.pbitool.json" et placez-le dans le dossier suivant :
%commonprogramfiles%\Microsoft Shared\Power BI Desktop\External Tools
Pour les environnements 64 bits, placez les fichiers dans le dossier suivant :
- Program Files (x86)\Common Files\Microsoft Shared\Power BI Desktop\External Tools
Les fichiers de cet emplacement spécifié avec l’extension .pbitool.json sont chargés par Power BI Desktop au démarrage.
Example
Le fichier *.pbitool.json suivant lance powershell.exe à partir du ruban Outils externes et exécute un script appelé pbiToolsDemo.ps1. Le script transmet le nom du serveur et le numéro de port dans le paramètre -Server et le nom du modèle sémantique dans le paramètre -Database.
{
"version": "1.0.0",
"name": "External Tools Demo",
"description": "Launches PowerShell and runs a script that outputs server and database parameters. (Requires elevated PowerShell permissions.)",
"path": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
"arguments": "C:\\pbiToolsDemo.ps1 -Server \"%server%\" -Database \"%database%\"",
"iconData": "image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAANSURBVBhXY/jH9+8/AAciAwpql7QkAAAAAElFTkSuQmCC"
}
Le script pbiToolsDemo.ps1 correspondant génère les paramètres serveur et base de données dans la console.
[CmdletBinding()]
param
(
[Parameter(Mandatory = $true)]
[string] $Server,
[Parameter(Mandatory = $true)]
[string] $Database
)
Write-Host ""
Write-Host "Analysis Services instance: " -NoNewline
Write-Host "$Server" -ForegroundColor Yellow
Write-Host "Dataset name: " -NoNewline
Write-Host "$Database" -ForegroundColor Green
Write-Host ""
Read-Host -Prompt 'Press [Enter] to close this window'
URIs de données d'icônes
Pour inclure une icône dans le ruban Outils externes, le fichier d’inscription pbitool.json doit inclure un élément iconData.
L’élément iconData prend un URI de type données sans le préfixe data:. Par exemple, l’URI de données d’une image png magenta d’un pixel est :
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAANSURBVBhXY/jH9+8/AAciAwpql7QkAAAAAElFTkSuQmCC
Veillez à supprimer le préfixe data:, comme indiqué dans l’exemple précédent pbitool.json.
Pour convertir un .png ou un autre type de fichier image en URI de données, utilisez un outil en ligne ou un outil personnalisé tel que celui présenté dans l’extrait de code C# suivant :
string ImageDataUri;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "PNG Files (.png)|*.png|All Files (*.*)|*.*";
openFileDialog1.FilterIndex = 1;
openFileDialog1.Multiselect = false;
openFileDialog1.CheckFileExists = true;
bool? userClickedOK = openFileDialog1.ShowDialog();
if (userClickedOK == true)
{
var fileName = openFileDialog1.FileName;
var sb = new StringBuilder();
sb.Append("image/")
.Append((System.IO.Path.GetExtension(fileName) ?? "png").Replace(".", ""))
.Append(";base64,")
.Append(Convert.ToBase64String(File.ReadAllBytes(fileName)));
ImageDataUri = sb.ToString();
}