Føje en Power BI-rapport eller et dashboard til en webside på en portal
Bemærk
- Fra oktober 2022 bliver Power Apps-portaler til Power Pages.
- Dette emne gælder for ældre funktioner. Du kan finde de nyeste oplysninger i Microsoft Power Pages-dokumentationen.
Tip
I denne artikel forklares det, hvordan du kan tilføje en Power BI-rapport eller et dashboard ved hjælp af powerbi Liquid-mærket. Hvis du vil tilføje en Power BI-komponent på en webside i din portal ved hjælp af Studio-portaler, skal du gå til Føje en Power BI-komponent til en webside ved hjælp af portalerne i Studio.
Du kan føje en Power BI-rapport eller et dashboard til en webside i en portal ved hjælp af powerbi Liquid-mærket. Brug powerbi
-mærket i feltet Kopiér på en webside eller i feltet Kilde i en webskabelon.
Hvis du tilføjer en Power BI-rapport eller et dashboard, der er oprettet i det nye arbejdsområde i Power BI, skal du angive godkendelsestypen som powerbiembedded i powerbi Liquid-mærket.
Bemærk
- Hvis du har angivet Microsoft Entra ID som godkendelsestype i powerbi Liquid-mærket, skal du dele det med de nødvendige brugere, inden du tilføjer sikker Power BI-rapport eller dashboardet på en webside i portalen. Du kan finde flere oplysninger: Dele Power BI-arbejdsområde og Dele Power BI-dashboard- og -rapport.
- powerbiembedded understøtter Power BI-dashboards og -rapporter, der opretter forbindelse til Azure Analysis Services. Du kan også bruge egenskaben "customdata" i Liquid-kode til at overføre værdi for egenskaben CustomData.
- Sideinddelte Power BI-rapporter understøttes ikke i øjeblikket.
Eksempel:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01" %}
Du kan få mere at vide om, hvordan du får en dashboardsti og et id for dashboardfeltet, i afsnittene senere i denne artikel.
Bruge et dashboard eller en rapport, der opretter forbindelse til Azure Analysis Services
Du kan tilføje powerbi Liquid-mærke med et dashboard eller rapporten, der opretter forbindelse til Azure Analysis Services.
Hvis du vil tilføje et dashboard eller en rapport, der opretter forbindelse til Azure Analysis Services, skal du bruge parameteren CustomData i forbindelsesstrengen.
Eksempel:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/<GroupID>/reports/<ReportID>" roles:"<roles associated with report>" customdata:"<customdata>" %}
Det valgfrie mærke customdata kan konfigureres som en streng eller genereres dynamisk baseret på et objekts attribut ved hjælp af et punktum ("."), eller kantede parenteser ("[]") til at adskille mellem objektet og attributten mellem to par krøllede parenteser.
Eksempler:
customdata: {{ object.attribute }}
customdata: {{ object[attribute] }}
Da mærket customdata returnerer en streng, kan det være nødvendigt at konvertere denne streng til et heltal i DAX-forespørgslen.
Vigtigt
- Portaler understøtter ikke Power BI-dashboard- eller rapportforbindelse til Azure Analysis Services, der bruger en datagateway til at oprette forbindelse til en datakilde i det lokale miljø.
- Portalversionen skal være 9.3.4.x eller nyere, for at denne funktion kan virke.
Azure Analysis Services og roller (RLS)
Mærket roles er valgfrit for Azure Analysis Services-baserede rapporter og dashboards. Når rollen ikke bruges, tildeles den rolle, som appen er tildelt i Azure Analysis Services.
Dette mærke kan dog blive nødvendigt for at angive en bestemt rolle (eller roller) blandt flere tilgængelige roller og kan stadig være påkrævet, når du bruger sikkerhed på rækkeniveau.
Roller findes i Azure Analysis Services-databasen og ikke i selve rapporten, i modsætning til andre Power BI-rapporttyper.
Giver ingen roller i Liquid-koden.
Hvis der ikke angives en rolle i Liquid-koden, bestemmes Azure Analysis Services-rollen af den eller de roller, som appen har adgang til, og filtrerer resultaterne baseret på de givne brugerdefinerede data i forhold til DAX-forespørgslen i rollerne. Det vil sige, at alle tilgængelige roller kombinerer deres adgange, men filtrerer stadig, hvis de angivne brugerdefinerede data er relevante. Dette scenarie vil oftest være tilfældet med Azure Analysis Services-rapporter eller -dashboards med et enkelt felt.
Giver roller i Liquid-koden.
Azure Analysis Services roller kan leveres i Liquid-koden, svarende til RLS-roller. Det kan være nødvendigt at bruge disse roller, når der er flere tilgængelige roller, men du vil bruge bestemte roller til siden. Når du bruger roller i forbindelsesstrengen, er det et must at angive Azure Analysis Services-rollen. F.eks. dashboards med flere felter, der bruger Azure Analysis Services-felter med RLS-felter.
Følgende overvejelser gælder, når du bruger Azure Analysis Services-felter i et dashboard:
- Hvis der bruges et Azure Analysis Services-felt i et dashboard sammen med andre felter, der kræver roller, skal Azure Analysis Services-rollen føjes til listen over roller.
- Flere felter fra forskellige Azure Analysis Services-kilder kan bruges med deres egne roller, men de brugerdefinerede data skal være ens for hver, og flere brugerdefinerede dataværdier kan ikke bruges i Liquid-koden. Mærket customdata og parameteren customdata for EffectiveIdentity bruger kun en strengværdi.
Hente stien til dashboardet eller rapporten
Log på Power BI.
Åbn det dashboard eller den rapport, du vil integrere i din portal.
Kopiér URL-adressen fra adresselinjen.
Hente id'et for et dashboardfelt
Log på Power BI.
Åbn det dashboard, hvorfra du vil integrere et felt i din portal.
Peg på feltet, vælg Flere indstillinger, og vælg derefter Åbn i fokustilstand.
Kopiér felt-id'et fra URL-adressen i adresselinjen. Felt-id'et er værdien efter/tiles/.
Sådan bruger du JavaScript-biblioteket for powerbi-klienter på portaler
Du kan bruge JavaScript-biblioteket med powerbi-klienten til Power BI Embedded-rapporter eller -dashboards på portalen. Du kan finde flere oplysninger om JavaScript-biblioteket med powerbi-klient i Power BI JavaScript-wiki.
Nedenfor vises et eksempel på et JavaScript, der opdaterer rapportindstillingerne eller håndterer hændelser. Dette eksempel deaktiverer filterruden, deaktiverer sidenavigation og aktiverer dataSelected-hændelsen.
Vigtigt
- Brug JavaScript-bibliotek til powerbi-klient til at deaktivere eller aktivere ruden Filtrer. Hvis du vil begrænse adgangen til data eller konfigurere sikkerhed, skal du dog bruge RLS (Row-level Security) med Power BI. Deaktivering af filterruden begrænser ikke dataadgangen, og den kan aktiveres igen ved hjælp af JavaScript-bibliotekskode.
- JavaScript-biblioteket til Powerbi-klienten understøttes kun i forbindelse med integreret PowerBI-flow.
$(document).ready(function () {
var embedContainer = $(".powerbi")[0];
if (embedContainer) {
var report = powerbi.get(embedContainer);
report.on("loaded", function () {
report.updateSettings({
panes: {
filters: {
visible: false
},
pageNavigation: {
visible: false
}
}
}).catch(function (errors) {
console.log(errors);
});
})
}
});
Sådan tilføjer du brugerdefineret JavaScript på en webside:
- Åbn appen Portaladministration.
- Vælg Websider i venstre rude.
- Vælg den webside, der indeholder Power BI-rapporten eller -dashboardet.
- Vælg fanen Avanceret.
- Kopiér og indsæt JavaScript i sektionen Brugerdefineret JavaScript.
- Vælg Gem og luk.
Lad os nu forstå eksemplet på JavaScript-operationer og forskellige muligheder.
Få en reference til den integrerede rapport-HTML
Få en reference til den integrerede rapport-HTML.
var embedContainer = $(".powerbi")[0];
Flere oplysninger: Få en reference til en eksisterende Power BI-komponent med det indeholdende element
Få en reference til den integrerede rapport
var report = powerbi.get(embedContainer);
Arbejde med Power BI-ruder
Du kan bruge indstillingerne for ruder til at arbejde med Power BI-ruder på en portalwebside. Du kan f.eks. bruge filterindstillingen til at skjule eller vise ruden eller arbejde med sidenavigationsindstillingen.
Nedenfor er et eksempel på at fjerne filterruden:
report.updateSettings({
panes: {
filters :{
visible: false
}
}
}).catch(function (errors) {
console.log(errors);
});
Nedenfor er et eksempel på at arbejde med både sidenavigation og filtre:
report.updateSettings({
panes: {
filters :{
visible: false
},
pageNavigation:{
visible: false
}
}
}).catch(function (errors) {
console.log(errors);
});
Flere oplysninger: Opdatere indstillinger og Integrere konfiguration – indstillinger
Håndtere hændelser
Den integrerede komponent kan sende hændelser, når en udført kommando skal aktiveres. Nedenfor vises der f.eks. et eksempel på en dataSelected
-hændelse.
//Report.off removes a given event listener if it exists
report.off("dataSelected");
//Report.on will add an event list
report.on('dataSelected', function(event){
console.log('Event - dataSelected:');
console.log(event.detail);
})
Flere oplysninger: Håndtering af hændelser
Se også
- Føje en Power BI-komponent til en webside ved hjælp af portalerne i Studio
- Konfigurere Power BI-integration
- powerbi Liquid-mærke
Bemærk
Kan du fortælle os om dine sprogpræferencer for dokumentation? Tag en kort undersøgelse. (bemærk, at denne undersøgelse er på engelsk)
Undersøgelsen tager ca. syv minutter. Der indsamles ingen personlige data (erklæring om beskyttelse af personlige oplysninger).