Een extern hulpprogramma registreren

Sommige hulpprogramma's moeten handmatig worden geregistreerd bij Power BI Desktop. Als u een extern hulpprogramma wilt registreren, maakt u een JSON-bestand met het volgende:

{
    "name": "<tool name>",
    "description": "<tool description>",
    "path": "<tool executable path>",
    "arguments": "<optional command line arguments>",
    "iconData": "image/png;base64,<encoded png icon data>"
}

Het bestand pbitool.json bevat de volgende elementen:

  • naam: Geef een naam op voor het hulpprogramma, deze wordt weergegeven als een bijschrift voor de knop in het lint Externe Hulpprogramma's in Power BI Desktop.
  • beschrijving: (optioneel) Geef een beschrijving op die als knopinfo wordt weergegeven op het lint Externe hulpprogramma's in Power BI Desktop.
  • pad: Geef het volledige pad naar het uitvoerbare bestand van het hulpprogramma op.
  • argumenten: (optioneel) Geef een tekenreeks op van opdrachtregelargumenten waarmee het uitvoerbare bestand van het hulpprogramma moet worden gestart. U kunt een van de volgende tijdelijke aanduidingen gebruiken:
    • %server%: Vervangen door de servernaam en het poortnummer van het lokale exemplaar van Analysis Services Tabular voor geïmporteerde/DirectQuery-gegevensmodellen.
    • %database%: Vervangen door de databasenaam van het model dat wordt gehost in het lokale exemplaar van Analysis Services Tabular voor geïmporteerde/DirectQuery-gegevensmodellen.
  • iconData: Geef instalaltiekopiegegevens op die worden weergegeven als een knoppictogram in het lint Externe hulpprogramma's in Power BI Desktop. De tekenreeks moet worden ingedeeld volgens de syntaxis voor gegevens-URI's zonder het voorvoegsel 'data:'.

Geef het bestand de naam "<tool name>.pbitool.json" en plaats het in de volgende map:

  • %commonprogramfiles%\Microsoft Shared\Power BI Desktop\External Tools

Voor omgevingen met 64-bits plaatst u de bestanden in de volgende map:

  • Programmabestanden (x86) \Veelvoorkomende bestanden\Microsoft Gedeeld\Power BI Desktop\Externe hulpprogramma's

Bestanden op die opgegeven locatie met de extensie .pbitool. json worden door Power BI Desktop geladen bij het opstarten.

Voorbeeld

Het volgende bestand *.pbitool.json start powershell.exe vanuit het lint Externe hulpprogramma's en voert een script met de naam pbiToolsDemo.ps1 uit, waarmee de servernaam en het poortnummer worden doorgegeven in de parameter -Server en de naam van de gegevensset in de parameter -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" 
} 

Met het pbiToolsDemo.ps1 script worden de server- en databaseparameters uitgevoerd naar de 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'  

Uitvoer van De PowerShell-console

Pictogram gegevens-URI's

Als u een pictogram wilt opnemen in het lint Externe hulpprogramma's, moet het registratiebestand pbitool.json een iconData-element bevatten.

Lint externe hulpprogramma's met hulpprogrammapictogrammen

Het element iconData neemt een gegevens-URI zonder het gegevens: voorvoegsel. De gegevens-URI van een magenta png-afbeelding van één pixel is bijvoorbeeld:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAANSURBVBhXY/jH9+8/AAciAwpql7QkAAAAAElFTkSuQmCC

Zorg ervoor dat u het voorvoegsel data: verwijdert, zoals wordt weergegeven in het bovenstaande pbitool.json-voorbeeld.

Als u een .png of ander afbeeldingsbestandstype wilt converteren naar een gegevens-URI, gebruikt u een online hulpprogramma of een aangepast hulpprogramma, zoals het hulpprogramma dat wordt weergegeven in het volgende C#-codefragment:

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(); 
} 

Zie ook

Externe hulpprogramma's in Power BI Desktop
Clientbibliotheken om verbinding te maken met Analysis Services
Objectmodel in tabelvorm (TOM)