PowerShell ile Power BI raporlarında veri kaynağı bağlantı dizesi değiştirme - Power BI Rapor Sunucusu
DirectQuery ve yenileme için Power BI raporlarına yönelik bağlantıları güncelleştirme olanağı sağlıyoruz.
Önemli
Bu, önceki sürümlerde bunu nasıl ayarlayabileceğiniz konusunda da hataya neden olan bir değişikliktir. ekim 2020 öncesi bir Power BI Rapor Sunucusu sürümü kullanıyorsanız bkz. PowerShell ile Power BI raporlarında veri kaynağı bağlantı dizesi değiştirme - Ekim 2020 öncesi Power BI Rapor Sunucusu
Önkoşullar
- Power BI Rapor Sunucusu için Power BI Rapor Sunucusu ve Power BI Desktop'ın en son sürümünü indirin.
- Rapor Sunucusu için iyileştirilmiş Power BI Desktop'ın Ekim 2020 veya sonraki sürümüyle kaydedilen ve Gelişmiş DataSet Meta Verileri etkinleştirilmiş bir rapor.
- Parametreli bağlantılar kullanan bir rapor. Yalnızca parametreli bağlantılara ve veritabanlarına sahip raporlar yayımladıktan sonra güncelleştirilebilir.
- Bu örnekte Reporting Services PowerShell araçları kullanılır. Yeni REST API'lerini kullanarak da aynı başarıya ulaşabilirsiniz.
Parametreli bağlantılarla rapor oluşturma
Bir sunucuya SQL Server bağlantısı oluşturun. Aşağıdaki örnekte localhost'a ReportServer adlı bir veritabanına bağlanıyor ve ExecutionLog'dan veri çekiyoruz.
M sorgusu şu noktada şöyle görünür:
let Source = Sql.Database("localhost", "ReportServer"), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
Power Query Düzenleyicisi şeridinde Parametreleri Yönet'i seçin.
Sunucu adı ve veritabanı adı için parametreler oluşturun.
İlk bağlantı için sorguyu düzenleyin ve veritabanı ile sunucu adını eşleyin.
Şimdi sorgu şu şekilde görünür:
let Source = Sql.Database(ServerName, Databasename), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
- Bu raporu sunucuda yayımlayın. Bu örnekte rapor executionlogparameter olarak adlandırılmıştır. Aşağıdaki görüntü, bir veri kaynağı yönetim sayfası örneğidir.
PowerShell araçlarını kullanarak parametreleri güncelleştirme
PowerShell'i açın ve konumundaki https://github.com/microsoft/ReportingServicesToolsyönergeleri izleyerek en son Reporting Services araçlarını yükleyin.
Raporun parametresini almak için aşağıdaki PowerShell çağrısını kullanarak yeni REST DataModelParameters API'sini kullanın:
Get-RsRestItemDataModelParameters '/executionlogparameter' Name Value ---- ----- ServerName localhost Databasename ReportServer
Bu çağrının sonucunu bir değişkene kaydederiz:
$parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
Parametre değerlerine erişmek için bir sözlükle eşleyin.
$parameterdictionary = @{} foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
Bu değişken, değiştirmemiz gereken değerlerle güncelleştirilir.
İstenen parametrelerin değerlerini güncelleştirin:
$parameterdictionary[“ServerName”].Value = 'myproductionserver' $parameterdictionary[“Databasename”].Value = 'myproductiondatabase'
Güncelleştirilmiş değerlerle, sunucudaki değerleri güncelleştirmek için komutunu
Set-RsRestItemDataModelParameters
kullanabiliriz:Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters $parameterdictionary.Values
Parametreler güncelleştirildikten sonra sunucu, parametrelere bağlı olan tüm veri kaynaklarını güncelleştirir. Veri kaynağını düzenle iletişim kutusuna geri döndüğünüzde, güncelleştirilmiş sunucu ve veritabanı için kimlik bilgilerini ayarlayabilmeniz gerekir.
İlgili içerik
Başka sorunuz var mı? Power BI Topluluğu sormayı deneyin