Registrare uno strumento esterno
Alcuni strumenti devono essere registrati manualmente con Power BI Desktop. Per registrare uno strumento esterno, creare un file JSON con il codice di esempio seguente:
{
"name": "<tool name>",
"description": "<tool description>",
"path": "<tool executable path>",
"arguments": "<optional command line arguments>",
"iconData": "image/png;base64,<encoded png icon data>"
}
Il file pbitool.json include gli elementi seguenti:
- name: specificare un nome per lo strumento, che verrà visualizzato come pulsante didascalia nella barra multifunzione Strumenti esterni all'interno di Power BI Desktop.
- description: (facoltativo) Specificare una descrizione, che verrà visualizzata come descrizione comando nel pulsante della barra multifunzione Strumenti esterni in Power BI Desktop.
- path: specificare il percorso completo dell'eseguibile dello strumento.
- argomenti: (facoltativo) Specificare una stringa di argomenti della riga di comando con cui deve essere avviato l'eseguibile dello strumento. È possibile usare uno dei segnaposto seguenti:
- %server%: sostituito con il nome del server e il numero di porta dell'istanza locale di Analysis Services tabulare per i modelli di dati importati/DirectQuery.
- %database%: sostituito con il nome del database del modello ospitato nell'istanza locale di Analysis Services tabulare per i modelli di dati importati/DirectQuery.
- iconData: specificare i dati dell'immagine, che verranno visualizzati come icona del pulsante nella barra multifunzione Strumenti esterni in Power BI Desktop. La stringa deve essere formattata in base alla sintassi per gli URI di dati senza il prefisso "data:".
Denominare il file "<tool name>.pbitool.json"
e inserirlo nella cartella seguente:
%commonprogramfiles%\Microsoft Shared\Power BI Desktop\External Tools
Per gli ambienti a 64 bit, inserire i file nella cartella seguente:
- Programmi (x86)\File comuni\Microsoft Shared\Power BI Desktop\External Tools
I file in quel percorso specificato con l'estensione .pbitool.json vengono caricati da Power BI Desktop all'avvio.
Esempio
Il file *.pbitool.json seguente avvia powershell.exe dalla barra multifunzione Strumenti esterni ed esegue uno script denominato pbiToolsDemo.ps1. Lo script passa il nome del server e il numero di porta nel parametro -Server e il nome del modello semantico nel parametro -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"
}
Lo script pbiToolsDemo.ps1 corrispondente restituisce i parametri server e database nella 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'
URI dati icona
Per includere un'icona nella barra multifunzione Strumenti esterni, il file di registrazione pbitool.json deve includere un elemento iconData.
L'elemento iconData accetta un URI di dati senza i dati: prefisso. Ad esempio, l'URI dati di un'immagine png magenta di un pixel è:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAANSURBVBhXY/jH9+8/AAciAwpql7QkAAAAAElFTkSuQmCC
Assicurarsi di rimuovere i dati: prefisso, come illustrato nell'esempio precedente pbitool.json.
Per convertire un file png o un altro tipo di file immagine in un URI dati, usare uno strumento online o uno strumento personalizzato, ad esempio quello illustrato nel frammento di codice C# seguente:
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();
}
Contenuto correlato
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per