Dış aracı kaydetme
Bazı araçların Power BI Desktop el ile kaydedilmesi gerekir. Bir dış aracı kaydetmek için aşağıdaki ile bir JSON dosyası oluşturun:
{
"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 dosyası aşağıdaki öğeleri içerir:
- name: Araç için bir ad girin. Bu ad, Power BI Desktop'ın Dış Araçlar şeridinde düğme yazısı olarak görünecektir.
- description: (isteğe bağlı) Power BI Desktop'ın Dış Araçlar şeridindeki düğmede araç ipucu olarak görünecek bir açıklama girin.
- path: Aracın yürütülebilir dosyasının tam nitelikli yolunu belirtin.
- arguments: (isteğe bağlı) Araç yürütülebilir dosyası başlatılırken kullanılacak komut satırı bağımsız değişkenlerinden oluşan bir dize girin. Aşağıdaki yer tutucuları kullanabilirsiniz:
- %server%: İçeri aktarılan/DirectQuery veri modelleri için yerel Analysis Services Tablosal örneğinin sunucu adı ve bağlantı noktası numarasıyla değiştirilir.
- %database%: İçeri aktarılan/DirectQuery veri modelleri için yerel Analysis Services Tablosal örneğinde barındırılan veritabanının adıyla değiştirilir.
- iconData: Power BI Desktop'ın Dış Araçlar şeridinde düğme simgesi olarak işlenecek görüntü verilerini girin. Dize, Veri URI'leri söz dizimine göre biçimlendirilmeli ve "data:" ön eki eklenmemelidir.
Dosyayı "<tool name>.pbitool.json" olarak adlandırın ve şu klasöre yerleştirin:
%commonprogramfiles%\Microsoft Shared\Power BI Desktop\External Tools
64 bit ortamlar için dosyaları şu klasöre yerleştirin:
- Program Files (x86)\Common Files\Microsoft Shared\Power BI Desktop\External Tools
Belirtilen konumda yer alan .pbitool.json uzantılı dosyalar, Power BI Desktop başlatılırken yüklenir.
Örnek
Aşağıdaki *. pbitool. JSON dosyası dış araçlar şeritten powershell.exe başlatır ve sunucu adını ve bağlantı noktası numarasını-Server parametresine ve-Database parametresindeki veri kümesi adına geçirerek pbiToolsDemo.ps1 adlı bir komut dosyası çalıştırır.
{
"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"
}
Karşılık gelen pbiToolsDemo.ps1 betiği, sunucu ve veritabanı parametrelerini konsola çıkarır.
[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'
Simge veri URI 'Leri
Dış Araçlar şeridinde bir simge eklemek için, pbitool. JSON kayıt dosyası bir ıdata öğesi içermelidir.
Idata öğesi veri: öneki olmayan bir veri URI 'si alır. Örneğin, bir piksel Macenta PNG görüntüsünün veri URI 'SI:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAANSURBVBhXY/jH9+8/AAciAwpql7QkAAAAAElFTkSuQmCC
Yukarıdaki pbitool. JSON örneğinde gösterildiği gibi, veri: önekini kaldırmayı unutmayın.
Bir .png veya başka bir görüntü dosyası türünü veri URI 'sine dönüştürmek için, bir çevrimiçi araç veya aşağıdaki C# kod parçacığında gösterildiği gibi özel bir araç kullanın:
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();
}
Ayrıca bkz.
Power BI Desktop dış araçlar
Analysis Services bağlantı için istemci kitaplıkları
Tablolu Nesne Modeli (TOM)