PowerShell ile Power BI raporlarındaki veri kaynağı bağlantı dizelerini değiştirme - Power BI Rapor Sunucusu

Power BI raporları için DirectQuery ve yenileme bağlantılarını güncelleyebilme imkanı sağlıyoruz.

Önemli

Bu, önceki sürümlerde bunu nasıl ayarlayabileceğiniz konusunda köklü bir değişikliktir.

Önkoşullar

  • Power BI Rapor Sunucusu ve Power BI Rapor Sunucusu için Power BI Desktop'ın en son sürümünü indirin.
  • Rapor Sunucusu için optimize edilmiş Power BI Desktop ile kaydedilen, Etkinleştirilmiş Gelişmiş Veri Kümesi Meta Verileri içeren 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

  1. 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.

    SQL Server veritabanına bağlanma işlemini gösteren ekran görüntüsü.

    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
    
  2. Power Query Düzenleyicisi şeridinde Parametreleri Yönet'i seçin.

    Parametreleri Yönet'i seçmeyi gösteren ekran görüntüsü.

  3. Sunucu adı ve veritabanı adı için parametreler oluşturun.

    Parametreleri Yönet, sunucu adını ve veritabanı adını ayarla'yı gösteren ekran görüntüsü.

  4. İlk bağlantı için sorguyu düzenleyin ve veritabanı ile sunucu adını eşleyin.

    Sunucu ve Veritabanı adını eşlemeyi gösteren ekran görüntüsü.

    Ş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
    
  5. 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.

    Veri kaynağı yönetim sayfası.

PowerShell araçlarını kullanarak parametreleri güncelleştirme

  1. PowerShell'i açın ve konumundaki https://github.com/microsoft/ReportingServicesToolsyönergeleri izleyerek en son Reporting Services araçlarını yükleyin.

  2. 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
    
  3. Bu çağrının sonucunu bir değişkene kaydederiz:

    $parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
    
  4. Parametre değerlerine erişmek için bir sözlükle eşleyin.

    $parameterdictionary = @{}
    foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
    
  5. Bu değişken, değiştirmemiz gereken değerlerle güncelleştirilir.

  6. İstenen parametrelerin değerlerini güncelleştirin:

    $parameterdictionary["ServerName"].Value = 'myproductionserver'
    $parameterdictionary["Databasename"].Value = 'myproductiondatabase'
    
  7. 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
    
  8. 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.

    Güncelleştirilmiş sunucu ve veritabanı için kimlik bilgilerini ayarla'yı gösteren ekran görüntüsü.

Başka sorunuz var mı? Power BI Topluluğu'na sormayı deneyin