Del via


Brug DirectQuery i Power BI Desktop

Når du opretter forbindelse til en hvilken som helst datakilde med Power BI Desktop, kan du importere en kopi af dataene. For nogle datakilder kan du også oprette direkte forbindelse til datakilden uden at importere data ved hjælp af DirectQuery.

Hvis du vil finde ud af, om en datakilde understøtter DirectQuery, skal du se den komplette liste over tilgængelige datakilder, der findes i artiklen Forbind orer i Power Query, som også gælder for Power BI, ved at vælge den artikel, der beskriver den datakilde, du er interesseret i, på listen over understøttede connectors og derefter se afsnittet i den pågældende connectors artikel med navnet Egenskaber, der understøttes. Hvis DirectQuery ikke er angivet i dette afsnit for datakildens artikel, understøttes DirectQuery ikke for den pågældende dataconnector.

Her er forskellene mellem at bruge import- og DirectQuery-forbindelsestilstande:

  • Import: En kopi af dataene fra de valgte tabeller og kolonner importeres til Power BI Desktop. Når du opretter eller interagerer med visualiseringer, bruger Power BI Desktop de importerede data. Hvis du vil se de underliggende dataændringer efter den første import eller den seneste opdatering, skal du importere den komplette semantiske model igen for at opdatere dataene.

  • DirectQuery: Der importeres ingen data til Power BI Desktop. For relationskilder kan du vælge tabeller og kolonner, der skal vises på listen Felter i Power BI Desktop. For flerdimensionelle kilder som SAP Business Warehouse (SAP BW) vises dimensionerne og målingerne for den valgte kube på listen Felter . Når du opretter eller interagerer med visualiseringer, forespørger Power BI Desktop den underliggende datakilde, så du altid får vist aktuelle data.

Når du opretter eller interagerer med en visualisering med DirectQuery, skal du forespørge den underliggende kilde. Den tid, det tager at opdatere visualiseringen, afhænger af ydeevnen af den underliggende datakilde. Hvis der for nylig blev anmodet om de data, der skal bruges til at udføre anmodningen, bruger Power BI Desktop de seneste data til at reducere den tid, det tager at vise visualiseringen. Hvis du vælger Opdaterbåndet Hjem , opdateres alle visualiseringer med aktuelle data.

Mange datamodellering og datatransformationer er tilgængelige, når du bruger DirectQuery, men med nogle ydeevnebaserede begrænsninger. Du kan finde flere oplysninger om Fordele, begrænsninger og anbefalinger i DirectQuery i Power BI.

DirectQuery-fordele

Nogle af fordelene ved at bruge DirectQuery omfatter:

  • Med DirectQuery kan du oprette visualiseringer over meget store semantiske modeller, hvor det ville være umuligt at importere alle dataene med forhåndssammenlægning.

  • DirectQuery-rapporter bruger altid aktuelle data. Hvis du vil se underliggende dataændringer, kræver det, at du opdaterer dataene, og det kan ikke være muligt at importere store semantiske modeller igen for at opdatere data.

  • Den semantiske modelbegrænsning på 1 GB gælder ikke med DirectQuery.

Forbind ved hjælp af DirectQuery

Sådan opretter du forbindelse til en datakilde med DirectQuery:

  1. I gruppen Hjem på båndet i Power BI Desktop skal du vælge Hent data og derefter vælge en datakilde, som DirectQuery understøtter, f.eks . SQL Server.

  2. Vælg DirectQuery under Dataforbindelsestilstand i dialogboksen for forbindelsen.

Indstillinger for Import og DirectQuery, dialogboksen SQL Server Database, Power BI Desktop

Publicer til Power BI-tjenesten

Du kan publicere DirectQuery-rapporter til Power BI-tjeneste, men du skal udføre ekstra trin, før Power BI-tjeneste kan åbne rapporterne.

  • Hvis du vil oprette forbindelse mellem Power BI-tjeneste og Andre DirectQuery-datakilder end Azure SQL Database, Azure Synapse Analytics (tidligere SQL Data Warehouse), Amazon Redshift og Snowflake Data Warehouse, skal du installere en datagateway i det lokale miljø og registrere datakilden.

  • Hvis du har brugt DirectQuery med cloudkilder som Azure SQL Database, Azure Synapse, Amazon Redshift eller Snowflake Data Warehouse, behøver du ikke en datagateway i det lokale miljø. Du skal stadig angive legitimationsoplysninger for Power BI-tjeneste for at åbne den publicerede rapport. Uden legitimationsoplysninger opstår der en fejl, når du forsøger at åbne en publiceret rapport eller udforske en semantisk model, der er oprettet med en DirectQuery-forbindelse.

Sådan angiver du legitimationsoplysninger til åbning af rapporten og opdatering af dataene:

  1. Vælg tandhjulsikonet øverst til højre i Power BI-tjeneste, og vælg Indstillinger.

    Skærmbillede af rullemenuen Power BI-tjeneste Indstillinger.

  2. På siden Indstillinger skal du vælge fanen Semantiske modeller og vælge den semantiske model, der bruger DirectQuery.

  3. Under Datakildeforbindelse skal du angive legitimationsoplysningerne for at oprette forbindelse til datakilden.

Bemærk

Hvis du har brugt DirectQuery med en Azure SQL Database, der har en privat IP-adresse, skal du bruge en gateway i det lokale miljø.

Overvejelser og begrænsninger

Nogle Funktioner i Power BI Desktop understøttes ikke i DirectQuery-tilstand, eller de har begrænsninger. Nogle funktioner i Power BI-tjeneste, f.eks. hurtig indsigt, er heller ikke tilgængelige for semantiske modeller, der bruger DirectQuery. Når du beslutter, om du vil bruge DirectQuery, skal du overveje disse funktionsbegrænsninger. Overvej også følgende faktorer:

Overvejelser i forbindelse med ydeevne og belastning

DirectQuery sender alle anmodninger til kildedatabasen, så den nødvendige opdateringstid for visualiseringer afhænger af, hvor lang tid det tager for den underliggende kilde at returnere resultater. Fem sekunder eller mindre er den anbefalede svartid for modtagelse af anmodede data for visualiseringer. Opdateringstider over 30 sekunder giver en uacceptabel dårlig oplevelse for brugere, der bruger rapporten. Der opstår timeout for en forespørgsel, der tager mere end fire minutter i Power BI-tjeneste, og brugeren får vist en fejl.

Indlæsning af kildedatabasen afhænger også af antallet af Power BI-brugere, der bruger den publicerede rapport, især hvis rapporten bruger sikkerhed på rækkeniveau (RLS). Opdateringen af et dashboardfelt, der ikke er RLS, og som deles af flere brugere, sender en enkelt forespørgsel til databasen, men opdatering af et dashboardfelt, der bruger sikkerhed på rækkeniveau, kræver én forespørgsel pr. bruger. De øgede forespørgsler øger belastningen betydeligt og kan påvirke ydeevnen.

Grænse på én million rækker

DirectQuery definerer en grænse på én million rækker for data, der returneres fra datakilder i cloudmiljøet, som er alle datakilder, der ikke er i det lokale miljø. Kilder i det lokale miljø er begrænset til en defineret nyttedata på ca. 4 MB pr. række, afhængigt af den beskyttede komprimeringsalgoritme eller 16 MB for hele visualiseringen. Premium-kapaciteter kan angive forskellige maksimale rækkegrænser, som beskrevet i blogindlægget Nye kapacitetsindstillinger i Power BI Premium.

Power BI opretter forespørgsler, der er så effektive som muligt, men nogle genererede forespørgsler kan hente for mange rækker fra den underliggende datakilde. Denne situation kan f.eks. opstå i et simpelt diagram, der indeholder en kolonne med høj kardinalitet, hvor sammenlægningsindstillingen er angivet til Opsummer ikke. Visualiseringen må kun have kolonner med en kardinalitet under 1 million eller anvende de relevante filtre.

Rækkegrænsen gælder ikke for sammenlægninger eller beregninger, der bruges til at vælge den semantiske model, som DirectQuery returnerer, kun for de returnerede rækker. Den forespørgsel, der kører på datakilden, kan f.eks. aggregere 10 millioner rækker. Så længe de data, der returneres til Power BI, er mindre end 1 million rækker, kan forespørgslen returnere resultaterne nøjagtigt. Hvis dataene er over 1 million rækker, vises der en fejl i Power BI, undtagen i Premium-kapacitet med forskellige grænser, der er angivet af administratorer. Fejlen hedder: Resultatsættet for en forespørgsel til en ekstern datakilde har overskredet den maksimalt tilladte størrelse på '1000000' rækker.

Overvejelser om sikkerhed

Alle brugere, der bruger en publiceret rapport i Power BI-tjeneste som standard oprette forbindelse til den underliggende datakilde ved hjælp af de legitimationsoplysninger, der er angivet efter publicering. Denne situation er den samme som for importerede data. Alle brugere kan se de samme data, uanset hvilke sikkerhedsregler den underliggende kilde definerer.

Hvis du har brug for sikkerhed pr. bruger implementeret med DirectQuery-kilder, skal du enten bruge sikkerhed på rækkeniveau eller konfigurere Kerberos-begrænset godkendelse i forhold til kilden. Kerberos er ikke tilgængelig for alle kilder. Du kan få flere oplysninger under Sikkerhed på rækkeniveau med Power BI og Konfigurer Kerberos-baseret SSO fra Power BI-tjeneste til datakilder i det lokale miljø.

Andre DirectQuery-begrænsninger

Nogle andre begrænsninger ved brug af DirectQuery omfatter:

  • Hvis forespørgslen Power Query-editor er for kompleks, opstår der en fejl. Du kan løse fejlen ved enten at slette det problematiske trin i Power Query-editor eller skifte til importtilstand. Flerdimensionelle kilder som SAP BW kan ikke bruge Power Query-editor.

  • Det automatiske dato-/klokkeslætshierarki er ikke tilgængeligt i DirectQuery. DirectQuery-tilstand understøtter ikke detailudledning af datokolonner efter år, kvartal, måned eller dag.

  • I forbindelse med tabel- eller matrixvisualiseringer er der en grænse på 125 kolonner for resultater, der returnerer mere end 500 rækker fra DirectQuery-kilder. Disse resultater viser et rullepanel i tabellen eller matrixen, hvor du kan hente flere data. I denne situation er det maksimale antal kolonner i tabellen eller matrixen 125. Hvis du skal medtage mere end 125 kolonner i en enkelt tabel eller matrix, kan du overveje at oprette målinger, der bruger MIN, MAX, FIRSTeller LAST, da de ikke tæller i forhold til dette maksimum.

  • Du kan ikke skifte fra import til DirectQuery-tilstand. Du kan skifte fra DirectQuery-tilstand til importtilstand, hvis du importerer alle de nødvendige data. Det er ikke muligt at skifte tilbage, primært på grund af det funktionssæt, som DirectQuery ikke understøtter. DirectQuery-modeller over flerdimensionelle kilder, f.eks. SAP BW, kan heller ikke ændres fra DirectQuery til importtilstand på grund af den forskellige behandling af eksterne målinger.

  • Beregnede tabeller og beregnede kolonner, der refererer til en DirectQuery-tabel fra en datakilde med enkeltlogongodkendelse (SSO), understøttes i Power BI-tjeneste med en tildelt cloudforbindelse, der kan deles, og/eller detaljeret adgangskontrol.