Změna připojovací řetězec zdrojů dat v sestavách Power BI pomocí PowerShellu – Server sestav Power BI

Umožňujeme aktualizovat připojení pro sestavy Power BI pro DirectQuery a aktualizovat.

Důležité

Jedná se také o zásadní změnu způsobu nastavení v předchozích verzích. Pokud používáte verzi Server sestav Power BI před říjnem 2020, přečtěte si téma Změna připojovací řetězec zdrojů dat v sestavách Power BI pomocí PowerShellu – Server sestav Power BI před říjnem 2020

Požadavky

  • Stáhněte si nejnovější verzi Server sestav Power BI a Power BI Desktopu pro Server sestav Power BI.
  • Sestava uložená s verzí Power BI Desktopu optimalizovanou pro Server sestav z října 2020 nebo novější s povolenými rozšířenými metadaty datové sady
  • Sestava, která používá parametrizovaná připojení Po publikování je možné aktualizovat pouze sestavy s parametrizovanými připojeními a databázemi.
  • V tomto příkladu se používají nástroje PowerShellu služby Reporting Services. Totéž můžete dosáhnout pomocí nových rozhraní REST API.

Vytvoření sestavy s parametrizovanými připojeními

  1. Vytvořte připojení SQL Serveru k serveru. V následujícím příkladu se připojujeme k místnímu hostiteli k databázi s názvem ReportServer a načítáme data z ExecutionLogu.

    Connect to the SQL Server database

    V tomto okamžiku vypadá dotaz M takto:

    let
        Source = Sql.Database("localhost", "ReportServer"),
        dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data]
    in
        dbo_ExecutionLog3
    
  2. Na pásu karet Editor Power Query vyberte Spravovat parametry.

    Select Manage Parameters

  3. Vytvořte parametry pro název serveru a název databáze.

    Manage Parameters, set servername and databasename.

  4. Upravte dotaz pro první připojení a namapujte databázi a název serveru.

    Map the Server and Database name

    Dotaz teď vypadá takto:

    let
        Source = Sql.Database(ServerName, Databasename),
        dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data]
    in
        dbo_ExecutionLog3
    
    1. Publikujte tuto sestavu na server. V tomto příkladu má sestava název executionlogparameter. Následující obrázek je příkladem stránky správy zdroje dat.

    The data source management page.

Aktualizace parametrů pomocí nástrojů PowerShellu

  1. Otevřete PowerShell a nainstalujte nejnovější nástroje služby Reporting Services podle pokynů na adrese https://github.com/microsoft/ReportingServicesTools.

  2. Pokud chcete získat parametr pro sestavu, použijte nové rozhraní REST DataModelParameters API pomocí následujícího volání PowerShellu:

    Get-RsRestItemDataModelParameters '/executionlogparameter'
    
        Name         Value
        ----         -----
        ServerName   localhost
        Databasename ReportServer
    
  3. Výsledek tohoto volání uložíme do proměnné:

    $parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
    
  4. Namapujte na slovník pro přístup k hodnotám parametrů.

    $parameterdictionary = @{}
    foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
    
    
  5. Tato proměnná se aktualizuje o hodnoty, které potřebujeme změnit.

  6. Aktualizujte hodnoty požadovaných parametrů:

    $parameterdictionary[“ServerName”].Value = 'myproductionserver'
    $parameterdictionary[“Databasename”].Value = 'myproductiondatabase'
    
  7. S aktualizovanými hodnotami můžeme pomocí rutiny Set-RsRestItemDataModelParameters aktualizovat hodnoty na serveru:

    Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters
    $parameterdictionary.Values
    
  8. Po aktualizaci parametrů server aktualizuje všechny zdroje dat vázané na parametry. Vraťte se do dialogového okna Upravit zdroj dat, měli byste být schopni nastavit přihlašovací údaje pro aktualizovaný server a databázi.

    Set credentials for the updated server and database.

Máte ještě další otázky? Zkuste se zeptat Komunita Power BI