Registrer et eksternt verktøy

Noen verktøy må registreres manuelt med Power BI Desktop. Hvis du vil registrere et eksternt verktøy, kan du opprette en JSON-fil med følgende:

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

Pbitool. JSON-filen inneholder følgende elementer:

  • name: Angi et navn på verktøyet, som vises som en knappetittel i eksterne verktøy-båndet i Power BI Desktop.
  • description: (valgfritt) Angi en beskrivelse, som vil vises som et verktøytips på båndet for eksterne verktøy i Power BI Desktop.
  • path: Angi den fullstendige banen til det kjørbare verktøyet.
  • arguments: (valgfritt) Angi en streng med kommandolinje-argumenter som den kjørbare verktøyet skal startes med. Du kan bruke en av følgende plassholdere:
    • %server%: Erstattet med servernavn og portnummer for den lokale forekomsten av Analysis Services tabell for importerte/DirectQuery-datamodeller.
    • %database%: Erstattet med databasenavnet til modellen som driftes i den lokale forekomsten av Analysis Services tabell for importerte/DirectQuery-datamodeller.
  • iconData: Angi bildedata som blir gjengitt som et knappeikon i båndet for eksterne verktøy i Power BI Desktop. Strengen må formateres i henhold til syntaksen for data-URI-er uten prefikset "data:".

Gi filen navnet "<tool name>.pbitool.json", og plasser den i følgende mappe:

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

For 64-biters miljøer plasserer du filene i følgende mappe:

  • Program Files (x86)\Common Files\Microsoft Shared\Power BI Desktop\External Tools

Filer i den angitte plasseringen med typen .pbitool.json lastes inn av Power BI Desktop ved oppstart.

Eksempel

Følgende *. pbitool. JSON-fil starter powershell.exe fra båndet for eksterne verktøy og kjører et skript som heter pbiToolsDemo.ps1, ved å sende Server navnet og port nummeret i-server-parameteren og data sett navnet i parameteren-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" 
} 

Det tilsvarende pbiToolsDemo.ps1 skriptet sender server-og database parameterne til konsollen.

[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'  

Utdata fra PowerShell-konsollen

Dataurier for ikon

Hvis du vil inkludere et ikon på eksterne verktøy-båndet, må registrerings filen pbitool. JSON inneholde et iconData-element.

Bånd ikoner for eksterne verktøy

IconData-elementet tar en data-URI uten dataene: prefix. For eksempel er data-URIEN til et bilde for en piksel med magenta png:

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

Sørg for å fjerne dataene: prefikset, som vist i pbitool. JSON-eksemplet ovenfor.

Hvis du vil konvertere et .png eller en annen bilde fil type til en data-URI, bruker du et tilkoblet verktøy eller et egen definert verktøy, for eksempel det som vises i følgende C#-kode snutt:

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

Se også

Eksterne verktøy i Power BI Desktop
Klient biblioteker for å koble til Analysis Services
Tabell objekt modell (TOM)