Anbefalte fremgangsmåter for raskere ytelse i innebygd analyse med Power BI

Denne artikkelen gir anbefalinger for raskere gjengivelse av rapporter, instrumentbord og fliser i programmet.

Merk

Husk at innlastingstiden hovedsakelig avhenger av elementer som er relevante for rapporten og selve dataene, inkludert visualobjekter, størrelsen på dataene og kompleksiteten til spørringene og målene. Hvis du vil ha mer informasjon, kan du se optimaliseringsveiledningen for Power BI.

Oppdatere verktøy og SDK-pakker

Hold verktøy og SDK-pakker oppdatert.

  • Bruk den nyeste versjonen av Power BI Desktop.
  • Installer den nyeste versjonen av SDK for Power BI-klienten. Vi lanserer kontinuerlig nye forbedringer, så pass på å følge opp fra tid til annen.
  • Bruk den nyeste versjonen av Tabellredigering.

Initialiser innebygging

Preload

Brukes powerbi.preload() til å forbedre sluttbrukerytelsen. Metoden powerbi.preload() laster ned JavaScript, css-filer og andre elementer, som brukes senere til å bygge inn en rapport.

Ring powerbi.preload() hvis du ikke bygger inn rapporten umiddelbart. Hvis for eksempel det innebygde Power BI-innholdet ikke vises på hjemmesiden, kan du bruke powerbi.preload() til å laste ned og bufre elementene som brukes til å bygge inn innholdet.

Bootstrapping iFrame

Merk

Power BI-klient SDK versjon 2.9 kreves for å bootstrap iFrame.

powerbi.bootstrap(element, config) lar deg starte innebygging før alle nødvendige parametere er tilgjengelige. Bootstrap API forbereder og initialiserer iFrame. Når du bruker bootstrap-API-en, er det fortsatt nødvendig å kalle powerbi.embed(element, config) på samme HTML-element.

Et av brukstilfellene for denne funksjonen er for eksempel å kjøre iFrame bootstrap og back-end-kall for innebygging, parallelt.

Tips

Bruk bootstrap-API-en når det er mulig å generere iFrame før den er synlig for sluttbrukeren.

Når du bygger inn en rapport eller andre Power BI-elementer, må du kontrollere at innebyggingsbeholderen er en del av DOM, og at CSS-attributtet for visning ikke er satt til noen, da dette kan føre til uventede virkemåter. Hvis du vil skjule innebyggingsbeholderen, kan du vurdere å bruke CSS-attributtet for synlighet.

Bygg inn parametere

Metoden powerbi.embed(element, config) mottar et element og en konfigurasjonsparameter. Konfigurasjonsparameteren inneholder felt som har ytelsesimplikasjoner.

Bygg inn URL-adresse

Unngå å generere nettadressen for innebygging selv. Kontroller i stedet at du får nettadressen for innebygging ved å kalle Hent rapporter, Hent instrumentbord eller Hent flis-API . Konfigurasjonsparameteren i URL-adressen brukes til ytelsesforbedringer.

Tillatelser

Gi visningstillatelser hvis du ikke har tenkt å bygge inn en rapport i redigeringsmodus. På denne måten brukes ikke tiden til å initialisere komponenter som bare brukes i redigeringsmodus.

Filtre, bokmerker og slicere

Vanligvis lagres rapportvisualobjekter med bufrede data. Rapporter gjengir de bufrede dataene mens spørringer utføres. Hvis filtre, bokmerker eller slicere er angitt, brukes ikke bufrede data, og visualobjektene gjengis bare etter at visualobjektspørringen er avsluttet.

Hvis du bygger inn rapporter med de samme filtrene, bokmerkene og slicerne, lagrer du rapporten med filtre, bokmerker og slicere som allerede er brukt. Når du lagrer rapporten på denne måten, gjengis den ved hjelp av hurtigbufrede data som inkluderer filtre, bokmerker og slicere, noe som forbedrer ytelsen.

Bytte mellom rapporter

Når du bygger inn flere rapporter til samme område, må du ikke generere en ny iFrame for hver rapport. I stedet bygger du inn den nye rapporten i samme iFrame for å overskrive den forrige rapporten. Bruk powerbi.embed(element, config) en annen konfigurasjon til å bygge inn den nye rapporten.

Merk

Innebygging av rapporter ved hjelp av innebygging for kundene (også kalt et «app eier data»-scenario), krever bruk av et innebyggingstoken med tillatelser til alle rapporter og semantiske modeller. Hvis du vil ha mer informasjon, kan du se API-en for genereringstoken.

Flere visualobjekter

Når du bygger inn flere visualobjekter fra samme rapport, må du ikke generere en ny iFrame for hvert visualobjekt. Bruk én enkelt iFrame til å gjengi rapporten med de angitte visualobjektene.

Når du bygger inn flere visualobjekter i én enkelt iFrame, bør du vurdere følgende punkter:

  • Power BI bruker iFrames til å bygge inn en rapport. Noen ganger vil du kanskje legge til mer innhold mellom visualobjektene (for eksempel tekst eller grafikk som ikke kommer fra rapporten). I så fall trenger du kanskje en annen iFrame for å gjengi forskjellige visualobjekter. Hvis du vil ha best ytelse, kan du prøve å ordne visualobjektene slik at du bruker færrest mulig iFrames. Hvis du vil redusere antall iFrames, kan du vurdere å bruke funksjonen for egendefinert oppsett.

  • Hvis du har visualobjekter fra forskjellige rapporter eller forskjellige semantiske modeller, kan du vurdere å bli med i semantiske modeller og opprette en ny rapport, slik at du kan inkludere alle visualobjektene i samme iFrame.

  • Et annet alternativ, hvis du har usammenhengende områder eller data fra flere semantiske modeller, er å opprette et instrumentbord og feste visualobjektene til det. Dette gjør at du kan:

    • Bygg inn de individuelle flisene i ikke-sammenhengende iFrames. Instrumentbordfliser er lettere enn rapporter og lastes inn raskere.
    • Bygg inn hele instrumentbordet i én iFrame. Dette gjør at du kan ha visualobjekter fra ulike rapporter eller semantiske modeller i én iFrame uten å opprette en ny rapport.

    Husk imidlertid at instrumentbordfliser ikke er interaktive og ikke oppdateres med samme frekvens som visualobjekter.

Hurtigbufring av spørring

Organisasjoner med Power BI Premium-kapasitet eller Power BI Embedded-kapasitet kan dra nytte av hurtigbufring av spørringer for å øke hastigheten på rapporter som er knyttet til en semantisk modell.

Mer informasjon om hurtigbufring av spørring i Power BI.

Måle ytelse

Ytelseshendelser

Hvis du vil måle innebygd ytelse, kan du bruke to hendelser:

  1. Innlastet hendelse: Tiden til rapporten er initialisert (Power BI-logoen forsvinner når belastningen er fullført).
  2. Gjengitt hendelse: Tidspunktet til rapporten er fullstendig gjengitt ved hjelp av de faktiske dataene. Den gjengitte hendelsen utløses hver gang rapporten gjengis på nytt (for eksempel etter bruk av filtre). Hvis du vil måle en rapport, må du kontrollere at du utfører beregningene på den første opphøyde hendelsen.

Bufrede data gjengis når de er tilgjengelige, men ingen annen hendelse genereres.

Mer informasjon om hendelsesbehandling.

Ytelsesanalyse

Hvis du vil undersøke ytelsen til rapportelementene, kan du bruke Ytelsesanalyse i Power BI Desktop. Med Ytelsesanalyse kan du se og registrere logger som måler hvordan hvert av rapportelementene utføres.

Mer informasjon om Ytelsesanalyse.

Merk

Husk alltid å sammenligne den innebygde rapportytelsen med ytelsen på powerbi.com. Dette kan hjelpe deg med å forstå opprinnelsen til ytelsesproblemene dine