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
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.
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
Na pásu karet Editor Power Query vyberte Spravovat parametry.
Vytvořte parametry pro název serveru a název databáze.
Upravte dotaz pro první připojení a namapujte databázi a název serveru.
Dotaz teď vypadá takto:
let Source = Sql.Database(ServerName, Databasename), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
- 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.
Aktualizace parametrů pomocí nástrojů PowerShellu
Otevřete PowerShell a nainstalujte nejnovější nástroje služby Reporting Services podle pokynů na adrese https://github.com/microsoft/ReportingServicesTools.
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
Výsledek tohoto volání uložíme do proměnné:
$parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
Namapujte na slovník pro přístup k hodnotám parametrů.
$parameterdictionary = @{} foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
Tato proměnná se aktualizuje o hodnoty, které potřebujeme změnit.
Aktualizujte hodnoty požadovaných parametrů:
$parameterdictionary[“ServerName”].Value = 'myproductionserver' $parameterdictionary[“Databasename”].Value = 'myproductiondatabase'
S aktualizovanými hodnotami můžeme pomocí rutiny
Set-RsRestItemDataModelParameters
aktualizovat hodnoty na serveru:Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters $parameterdictionary.Values
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.
Související obsah
Máte ještě další otázky? Zkuste se zeptat Komunita Power BI