Endre datakilde tilkoblingsstreng i Power BI-rapporter med PowerShell – rapportserver for Power BI
Vi aktiverer muligheten til å oppdatere tilkoblinger for Power BI-rapporter for DirectQuery og oppdatering.
Viktig
Dette er også en endring i hvordan du kan konfigurere dette i tidligere versjoner. Hvis du bruker en før oktober 2020-versjon av rapportserver for Power BI, kan du se Endre datakilde tilkoblingsstreng i Power BI-rapporter med PowerShell – rapportserver for Power BI før oktober 2020
Forutsetning
- Last ned den nyeste versjonen av rapportserver for Power BI og Power BI Desktop for rapportserver for Power BI.
- En rapport som er lagret med oktober 2020 eller nyere versjon av Power BI Desktop optimalisert for rapportserver, med forbedrede metadata for datasett aktivert.
- En rapport som bruker parameteriserte tilkoblinger. Bare rapporter med parameteriserte tilkoblinger og databaser kan oppdateres etter publisering.
- Dette eksemplet bruker PowerShell-verktøyene for Reporting Services. Du kan oppnå det samme ved å bruke de nye REST-API-ene.
Opprette en rapport med parameteriserte tilkoblinger
Opprett en SQL Server-tilkobling til en server. I eksemplet nedenfor kobler vi til localhost til en database kalt ReportServer og henter data fra ExecutionLog.
Slik ser M-spørringen ut nå:
let Source = Sql.Database("localhost", "ReportServer"), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
Velg Behandle parametere på båndet Power Query-redigering.
Opprett parametere for servernavnet og databasenavnet.
Rediger spørringen for den første tilkoblingen, og tilordne databasen og servernavnet.
Nå ser spørringen slik ut:
let Source = Sql.Database(ServerName, Databasename), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
- Publiser rapporten på serveren. I dette eksemplet kalles rapporten executionlogparameter. Bildet nedenfor er et eksempel på en administrasjonsside for datakilder.
Oppdater parametere ved hjelp av PowerShell-verktøyene
Åpne PowerShell, og installer de nyeste Reporting Services-verktøyene, og følg instruksjonene på https://github.com/microsoft/ReportingServicesTools.
Hvis du vil hente parameteren for rapporten, kan du bruke den nye REST DataModelParameters-API-en ved hjelp av følgende PowerShell-kall:
Get-RsRestItemDataModelParameters '/executionlogparameter' Name Value ---- ----- ServerName localhost Databasename ReportServer
Vi lagrer resultatet av dette kallet i en variabel:
$parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
Tilordne til en ordliste for å få tilgang til parameterverdiene.
$parameterdictionary = @{} foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
Denne variabelen oppdateres med verdiene vi må endre.
Oppdater verdiene for de ønskede parameterne:
$parameterdictionary[“ServerName”].Value = 'myproductionserver' $parameterdictionary[“Databasename”].Value = 'myproductiondatabase'
Med de oppdaterte verdiene kan vi bruke kommandoleten
Set-RsRestItemDataModelParameters
til å oppdatere verdiene på serveren:Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters $parameterdictionary.Values
Når parameterne er oppdatert, oppdaterer serveren alle datakilder som var bundet til parameterne. Hvis du går tilbake til dialogboksen Rediger datakilde , skal du kunne angi legitimasjon for den oppdaterte serveren og databasen.
Relatert innhold
Har du flere spørsmål? Prøv å spørre Power BI-fellesskap