Legge til en Power BI-rapport eller et instrumentbord på en nettside i en portal
Obs!
- Fra og med oktober 2022 er Power Apps-portaler Power Pages.
- Dette emnet gjelder eldre funksjoner. Hvis du vil ha den nyeste informasjonen, kan du gå til Microsoft Power Pages-dokumentasjonen.
Tips
Denne artikkelen forklarer hvordan du legger til en Power BI-rapport eller -instrumentbord ved hjelp av powerbi Liquid-kode. Hvis du vil legge til Power BI-komponent på en nettside i portalen ved hjelp av portalstudio, kan du gå til Legge til en Power BI-komponent på en nettside ved hjelp av portalstudio.
Du kan legge til Power BI-rapporter eller -dashbord på et nettsted i en portal ved hjelp av Liquid-merket powerbi. Bruk powerbi
-koden i Kopi-feltet på en nettside eller i Kilde-feltet i en nettmal.
Hvis du legger til en Power BI-rapport eller -dashbord som er opprettet i det nye arbeidsområdet i Power BI, må du angi godkjenningstypen som powerbiembedded i powerbi Liquid-koden.
Obs!
- Hvis du har angitt Microsoft Entra ID som godkjenningstypen i powerbi Liquid-koden, må du dele den med de nødvendige brukerne før du legger til den sikre Power BI-rapporten eller -instrumentbordet i et nettsted i portalen. Mer informasjon: Dele Power BI-arbeidsområdet og Dele Power BI-dashbordet og rapporten.
- powerbiembedded støtter Power BI-instrumentbord og -rapporter som kobler til Azure Analysis Services. Du kan også bruke egenskapen «customdata» i liquid-kode til å sende verdien for egenskapen CustomData.
- Sideformaterte Power BI-rapporter støttes ikke for øyeblikket.
Eksempel:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01" %}
Hvis du vil vite hvordan du skaffer en instrumentbordbane og ID-en for instrumentbordflisen, kan du se delene senere i denne artikkelen.
Bruke et instrumentbord eller en rapport som kobler til Azure Analysis Services
Du kan legge til en powerbi Liquid-kode med et instrumentbord eller en rapport som kobler til Azure Analysis Services.
Hvis du vil legge til et instrumentbord eller en rapport som kobler til Azure Analysis Services, bruker du parameteren CustomData i tilkoblingsstrengen.
Eksempel:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/<GroupID>/reports/<ReportID>" roles:"<roles associated with report>" customdata:"<customdata>" %}
Den valgfrie customdata-koden kan konfigureres som en streng eller genereres dynamisk basert på attributtet til et objekt, ved å bruke et punktum («.»), eller hakeparenteser («[]») til å skille mellom objektet og attributtet, mellom to par klammeparenteser.
Eksempler:
customdata: {{ object.attribute }}
customdata: {{ object[attribute] }}
Siden customdata-koden returnerer en streng, kan det bli nødvendig å konvertere denne strengen til et heltall i DAX-spørringen.
Viktig
- Portaler støtter ikke Power BI-instrumentbord eller -rapporter som kobler til Azure Analysis Services som bruker en datagateway til å koble til en lokal datakilde.
- Portalversjonen må være 9.3.4.x eller nyere for at denne funksjonen skal fungere.
Azure Analysis Services og roller (RLS)
Roles-koden er valgfri for rapporter og instrumentbord som er basert på Azure Analysis Services. Når den ikke brukes, brukes rollen som appen er tilordnet til, som standard i Azure Analysis Services.
Denne koden kan imidlertid bli nødvendig for å angi en bestemt rolle (eller bestemte roller) blant flere tilgjengelige roller, og kan fortsatt bli nødvendig når sikkerhet på radnivå brukes.
Roller lagres i Azure Analysis Services-databasen og ikke i selve rapporten, i motsetning til andre Power BI-rapporttyper.
Utelate bruk av roller i Liquid-koden.
Hvis ingen roller brukes i Liquid-koden, fastsettes Azure Analysis Services-rollen av rollen(e) som appen har tilgang til, og resultatene filtreres basert på de gitte egendefinerte dataene mot DAX-spørringen i rollen(e). Det vil si at alle tilgjengelige roller kombinerer tilgangene sine, men filtreres likevel hvis de angitte egendefinerte dataene er relevante. Dette scenarioet er som oftest tilfellet med Azure Analysis Services-rapporter eller instrumentbord med én flis.
Bruk av roller i Liquid-koden.
Azure Analysis Services-roller kan angis i Liquid-koden, på lignende måte som med RLS-roller. Det kan bli nødvendig å bruke disse rollene når flere roller er tilgjengelige, men du vil bruke bestemte roller for siden. Når du bruker roller i tilkoblingsstrengen, er det avgjørende å angi Azure Analysis Services-rollen. Eksempel: instrumentbord med flere fliser som bruker Azure Analysis Services-fliser med RLS-fliser.
Du må ta hensyn til følgende når du bruker Azure Analysis Services-fliser på et instrumentbord:
- Hvis en Azure Analysis Services-flis brukes på et instrumentbord med andre fliser som krever roller, må Azure Analysis Services-rollen legges til i listen over roller.
- Flere fliser fra ulike Azure Analysis Services-kilder kan brukes med sine egne roller, men de egendefinerte dataene må være de samme for alle, og flere egendefinerte dataverdier kan ikke brukes i Liquid-koden. Customdata-koden og parameteren customdata for EffectiveIdentity tar bare imot en strengverdi.
Hente banen til et instrumentbord eller en rapport
Logg på Power BI.
Åpne instrumentbordet eller rapporten som du vil inkludere i portalen.
Kopier nettadressen fra adresselinjen.
Hente ID-en for en instrumentbordflis
Logg på Power BI.
Åpne instrumentbordet som du vil inkludere en flis i portalen fra.
Pek på flisen, velg Flere alternativer, og velg deretter Åpne i fokusmodus.
Kopier flis-ID-en fra URL-adressen i adresselinjen. Flis-ID-en er verdien etter /fliser/.
Slik bruker du JavaScript-biblioteket for powerbi-klienten i portaler
Du kan bruke JavaScript-bibliotek for powerbi-klient for Power BI Embedded-rapporter eller -instrumentbord i portalen. Hvis du vil ha mer informasjon om JavaScript-biblioteket for powerbi-klienten, kan du se JavaScript-wiki for Power BI.
Nedenfor vises et eksempel på JavaScript for å oppdatere rapportinnstillingene eller håndtere hendelser. Dette eksempelet deaktiverer filterruten, deaktiverer sidenavigasjon og aktiverer hendelsen dataSelected.
Viktig
- Bruk JavaScript-bibliotek for Powerbi-klient til å deaktivere eller aktivere filterrute. Hvis du imidlertid vil begrense tilgang til data eller konfigurere sikkerhet, bruker du Sikkerhet på radnivå (RLS) med Power BI. Datatilgang begrenses ikke når du deaktiverer filterruten, og du kan aktivere den på nytt ved å bruke kode fra JavaScript-biblioteket.
- JavaScript-biblioteket for powerbi-klienten støttes bare for PowerBI Embedded-flyt.
$(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);
});
})
}
});
Slik legger du til egendefinert JavaScript på en nettside:
- Åpne Portalbehandling-appen.
- Velg Nettsider i den venstre ruten.
- Velg nettsiden som inneholder Power BI-rapporten eller -instrumentbordet.
- Velg Avansert-fanen.
- Kopier og lim inn JavaScript i Egendefinerte JavaScript-delen.
- Velg Lagre og lukk.
La oss nå se på eksemplene med JavaScript-operasjoner og ulike alternativer.
Få en referanse til den innebygde rapportens HTML-kode
Få en referanse til den innebygde rapportens HTML-kode.
var embedContainer = $(".powerbi")[0];
Mer informasjon: Hente en referanse til en eksisterende Power BI-komponent gitt det inneholdende elementet
Få en referanse til den innebygde rapporten
var report = powerbi.get(embedContainer);
Arbeide med Power BI-ruter
Du kan bruke innstillingene for ruter til å arbeide med Power BI-ruter på en nettside for portaler. Du kan for eksempel bruke filterinnstillingen til å skjule eller vise ruten, eller arbeide med innstillingen for sidenavigasjon.
Nedenfor finner du et eksempel på hvordan du fjerner filtreruten:
report.updateSettings({
panes: {
filters :{
visible: false
}
}
}).catch(function (errors) {
console.log(errors);
});
Nedenfor finner du et eksempel på hvordan du arbeider med både sidenavigasjon og filtre:
report.updateSettings({
panes: {
filters :{
visible: false
},
pageNavigation:{
visible: false
}
}
}).catch(function (errors) {
console.log(errors);
});
Mer informasjon: Oppdatere innstillinger og Innebygd konfigurasjon – innstillinger
Håndtere hendelser
Den innebygde komponenten kan sende hendelser ved å aktivere en fullføring av en utført kommando. Nedenfor vises for eksempel et eksempel på dataSelected
-hendelse.
//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);
})
Mer informasjon: Behandle hendelser
Se også
- Legge til en Power BI-komponent på en nettside ved hjelp av portalstudio
- Sette opp Power BI-integrasjon
- powerbi Liquid-kode
Obs!
Kan du fortelle oss om språkinnstillingene for dokumentasjonen? Ta en kort undersøkelse. (vær oppmerksom på at denne undersøkelsen er på engelsk)
Undersøkelsen tar rundt sju minutter. Det blir ikke samlet inn noen personopplysninger (personvernerklæring).