Zmena reťazec pripojenia zdroja údajov v zostavách Power BI pomocou prostredia PowerShell – Power BI Report Server
Umožňujeme aktualizovať a obnovovať pripojenia pre zostavy služby Power BI pre režim DirectQuery.
Dôležité
V porovnaní s predchádzajúcimi vydaniami ide o prelomovú zmenu v spôsobe nastavenia. Ak používate verziu Power BI Report Servera spred októbra 2020, pozrite si tému Zmena reťazec pripojenia zdroja údajov v zostavách služby Power BI pomocou prostredia PowerShell – verzia Power BI Report Servera spred októbra 2020
Predpoklady
- Stiahnite si najnovšie vydanie Power BI Report Servera a aplikácie Power BI Desktop pre Power BI Report Server.
- Zostava uložená s vydaním aplikácie Power BI Desktop z októbra 2020 alebo novšou verziou optimalizovanou pre server zostáv s povolenou možnosťou Rozšírené metaúdaje množiny údajov.
- Zostava, ktorá používa parametrizované pripojenia. Po publikovaní možno aktualizovať iba zostavy s parametrizovanými pripojeniami a databázami.
- V tomto príklade sa používajú nástroje prostredia PowerShell služby Reporting Services. To isté je možné dosiahnuť pomocou nových rozhraní REST API.
Vytvorenie zostavy s parametrizovanými pripojeniami
Vytvorte pripojenie SQL Servera k serveru. V príklade uvedenom nižšie sa pripájame k lokálnemu hostiteľovi k databáze s názvom ReportServer a ťaháme údaje z tabuľky ExecutionLog.
Takto vyzerá dotaz jazyka M:
let Source = Sql.Database("localhost", "ReportServer"), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
Na páse s nástrojmi Editor Power Query vyberte položku Spravovať parametre.
Vytvorte parametre pre servername a databasename.
Upravte dotaz na prvé pripojenie a namapujte položky databasename a servername.
Dotaz teraz vyzerá takto:
let Source = Sql.Database(ServerName, Databasename), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
- Publikuje túto zostavu na server. V tomto príklade má zostava názov executionlogparameter. Nasledujúci obrázok je príkladom stránky správy zdroja údajov.
Aktualizácia parametrov pomocou nástrojov prostredia PowerShell
Otvorte prostredie PowerShell a nainštalujte najnovšie nástroje služby Reporting Services podľa pokynov na stránke https://github.com/microsoft/ReportingServicesTools.
Ak chcete získať parameter zostavy, použite nové rozhranie REST DataModelParameters API pomocou nasledujúceho volania prostredia PowerShell:
Get-RsRestItemDataModelParameters '/executionlogparameter' Name Value ---- ----- ServerName localhost Databasename ReportServer
Výsledok tohto volania uložíme v premennej:
$parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
Ak chcete získať prístup k hodnotám parametrov, priraďte sa ku slovníku.
$parameterdictionary = @{} foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
Táto premenná sa aktualizuje hodnotami, ktoré potrebujeme zmeniť.
Aktualizujte hodnoty požadovaných parametrov:
$parameterdictionary[“ServerName”].Value = 'myproductionserver' $parameterdictionary[“Databasename”].Value = 'myproductiondatabase'
S aktualizovanými hodnotami môžeme použiť rutinu typu commandlet
Set-RsRestItemDataModelParameters
na aktualizáciu hodnôt na serveri:Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters $parameterdictionary.Values
Po aktualizácii parametrov server aktualizuje všetky zdroje údajov, ktoré boli viazané na parametre. Vráťte sa do dialógového okna Úprava zdroja údajov. Mali by ste mať možnosť nastaviť poverenia pre aktualizovaný server a databázu.
Súvisiaci obsah
Máte ďalšie otázky? Skúste sa spýtať Komunita Power BI