Registrer et eksternt værktøj
Nogle værktøjer skal registreres manuelt med Power BI Desktop. Hvis du vil registrere et eksternt værktøj, skal du oprette 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 indeholder følgende elementer:
- name: Angiv et navn til værktøjet, som skal vises som en knaptekst på båndet Eksterne værktøjer i Power BI Desktop.
- description: (valgfrit) Angiv en beskrivelse, der skal vises som et værktøjstip på knappen Eksterne værktøjer på båndet i Power BI Desktop.
- path: Angiv den fuldt kvalificerede sti til værktøjets eksekverbare fil.
- arguments: (valgfrit) Angiv en streng af kommandolinjeargumenter, som værktøjets eksekverbare fil skal startes med. Du kan bruge følgende pladsholdere:
- %server%: Erstattes med servernavnet og portnummeret til den lokale instans af Analysis Services-tabellen til importerede/DirectQuery-datamodeller.
- %database%: Erstattes med databasenavnet på modellen, som er hosted i den lokale instans af Analysis Services-tabellen til importerede/DirectQuery-datamodeller.
- iconData: Angiv billeddata, som skal gengives som et knapikon på båndet Eksterne værktøjer i Power BI Desktop. Strengen skal formateres i overensstemmelse med syntaksen for data-URI'er uden præfikset "data:".
Navngiv filen "<tool name>.pbitool.json", og placer den i følgende mappe:
%commonprogramfiles%\Microsoft Shared\Power BI Desktop\External Tools
I 64-bit-miljøer skal du placere filerne i følgende mappe:
- Program Files (x86)\Common Files\Microsoft Shared\Power BI Desktop\External Tools
Filer på denne angivne placering med udvidelsen .pbitool.json indlæses af Power BI Desktop ved start.
Eksempel
Følgende *. pbitool. JSON-fil starter powershell.exe fra båndet med eksterne værktøjer og kører et script, der kaldes pbiToolsDemo.ps1, overførsel af servernavn og portnummer i parameteren-server og navnet på datasættet 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 script outputr server-og database parametrene 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'
Data-URI'er for ikon
Hvis du vil inkludere et ikon på båndet eksterne værktøjer, skal registreringsfilen pbitool. JSON indeholde et iconData-element.
IconData-elementet tager en data-URI uden data: prefix. Data-URI'EN for et PNG-billede med en magenta på én pixel er f. eks.:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAANSURBVBhXY/jH9+8/AAciAwpql7QkAAAAAElFTkSuQmCC
Sørg for at fjerne dataene: præfiks, som vist i eksemplet pbitool. JSON ovenfor.
Hvis du vil konvertere en .png eller en anden billedfiltype til en data-URI, skal du bruge et onlineværktøj eller et brugerdefineret værktøj, f. eks. den, der er vist i følgende C#-kodestykke:
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 værktøjer i Power BI Desktop
Klient biblioteker til at oprette forbindelse til Analysis Services
Tabelobjekt model (TOM)