Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Algumas ferramentas têm de ser registadas manualmente no Power BI Desktop. Para registar uma ferramenta externa, crie um ficheiro JSON com o seguinte código de exemplo:
{
"name": "<tool name>",
"description": "<tool description>",
"path": "<tool executable path>",
"arguments": "<optional command line arguments>",
"iconData": "image/png;base64,<encoded png icon data>"
}
O ficheiro pbitool.json inclui os seguintes elementos:
- Nome: Dê um nome à ferramenta, que aparecerá como uma legenda de botão na fita de Ferramentas Externas dentro do Power BI Desktop.
- Descrição: (opcional) Forneça uma descrição, que será exibida como dica de ferramenta no botão da faixa Ferramentas Externas do Power BI Desktop.
- Caminho: Forneça o caminho totalmente qualificado para o executável da ferramenta.
-
argumentos: (opcional) Forneça uma sequência de argumentos de linha de comandos com que o executável da ferramenta deve ser lançado. Pode usar qualquer um dos seguintes marcadores de lugar:
- %server%: Substituídos pelo nome do servidor e número de porta da instância local do Analysis Services Tabular para modelos de dados importados/DirectQuery.
- %database%: Substituído pelo nome da base de dados do modelo alojado na instância local do Analysis Services Tabular para modelos de dados importados/DirectQuery.
- iconData: Forneça dados de imagem que, dentro do Power BI Desktop, serão renderizados como um ícone de botão na fita de Ferramentas Externas. A string deve ser formatada de acordo com a sintaxe dos URIs de dados, sem o prefixo "data:".
Nomeie o ficheiro "<tool name>.pbitool.json" e coloque-o na seguinte pasta:
%commonprogramfiles%\Microsoft Shared\Power BI Desktop\External Tools
Para ambientes de 64 bits, coloque os ficheiros na seguinte pasta:
- Ficheiros de Programa (x86)\Ficheiros Comuns\Microsoft Partilhado\Power BI Desktop\Ferramentas Externas
Os ficheiros nesse local especificado com a extensão .pbitool.json são carregados pelo Power BI Desktop no arranque.
Example
O ficheiro seguinte *.pbitool.json lança powershell.exe a partir da fita External Tools e executa um script chamado pbiToolsDemo.ps1. O script passa o nome do servidor e o número da porta no parâmetro -Server e o nome semântico do modelo no parâmetro -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"
}
O script pbiToolsDemo.ps1 correspondente envia os parâmetros do Servidor e da Base de Dados para a consola.
[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'
URIs de dados de ícones
Para incluir um ícone na fita de Ferramentas Externas, o ficheiro de registo pbitool.json deve incluir um elemento iconData.
O elemento iconData recebe um URI de dados sem o prefixo data: . Por exemplo, o URI de dados de uma imagem png magenta de um pixel é:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAANSURBVBhXY/jH9+8/AAciAwpql7QkAAAAAElFTkSuQmCC
Certifique-se de remover o prefixo data: , como mostrado no exemplo pbitool.json anterior.
Para converter um .png ou outro tipo de ficheiro de imagem para um URI de dados, utilize uma ferramenta online ou uma ferramenta personalizada, como a mostrada no seguinte excerto de código C#:
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();
}