Ulkoisen työkalun rekisteröiminen

Jotkin työkalut on rekisteröitävä manuaalisesti Power BI Desktopiin. Voit rekisteröidä ulkoisen työkalun luomalla JSON-tiedoston, jossa on seuraava esimerkkikoodi:

{
    "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-tiedosto sisältää seuraavat elementit:

  • name: Anna työkalulle nimi, joka näkyy painikkeen kuvatekstinä Power BI Desktopin Ulkoiset työkalut -valintanauhassa.
  • description: (valinnainen) Anna kuvaus, joka näkyy Power BI Desktopin Ulkoiset työkalut -valintanauhassa työkaluvihjeenä.
  • path: Anna työkalun suoritettavan tiedoston täydellinen polku.
  • arguments: (valinnainen) Anna komentoriviargumenttien merkkijono, joilla työkalun suoritettava tiedosto tulisi käynnistää. Voit käyttää mitä tahansa seuraavista paikkamerkeistä:
    • %server%: Korvataan paikallisen Analysis Services -taulukon esiintymän palvelinnimellä ja porttinumerolla tuonti- ja DirectQuery-tietomalleja varten.
    • %database%: Korvataan paikallisen Analysis Services -taulukon esiintymässä isännöidun tietokannan nimellä tuonti- ja DirectQuery-tietomalleja varten.
  • iconData: Anna kuvatiedot, jotka hahmonnetaan painikekuvakkeena Power BI Desktopin Ulkoiset työkalut -valintanauhassa. Merkkijono tulee muotoilla data-URI-syntaksin mukaan ilman "data:"-etuliitettä.

Nimeä tiedosto "<tool name>.pbitool.json" ja sijoita se seuraavaan kansioon:

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

64-bittiset ympäristöt, sijoita tiedostot seuraavaan kansioon:

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

Määritetyssä sijainnissa olevat tiedostot, joiden tunniste on .pbitool.json , ladataan Power BI Desktopiin käynnistymisen yhteydessä.

Esimerkki

Seuraava *.pbitool.json-tiedosto käynnistää powershell.exe-tiedoston Ulkoiset työkalut -valintanauhasta ja suorittaa komentosarjan nimeltä pbiToolsDemo.ps1. Komentosarja välittää palvelimen nimen ja portin numeron -Server-parametrissa ja semanttisen mallin nimen -Database-parametrissa.

{ 
    "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" 
} 

Vastaava pbiToolsDemo.ps1-komentosarja tulostaa Palvelin- ja Tietokanta-parametrit konsoliin.

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

Screenshot of PowerShell console output created from the example external tool.

Kuvaketietojen URI-osoitteet

Jos haluat sisällyttää kuvakkeen Ulkoiset työkalut -valintanauhaan, pbitool.json-rekisteröintitiedostossa on oltava iconData-elementti.

Screenshot of the external tools ribbon with the tool icons.

IconData-elementti ottaa tietojen URI:n ilman tietoja: etuliite. Esimerkiksi yhden pikselin magenta png -kuvan tietojen URI on:

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

Muista poistaa tiedot: etuliite, joka on esitetty pbitool.json-esimerkissä.

Jos haluat muuntaa .png- tai muun kuvatiedostotyypin tietojen URI-osoitteeksi, käytä online-työkalua tai mukautettua työkalua, kuten seuraavassa C#-koodikatkelmassa näkyvää työkalua:

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