Använda DirectQuery för Power BI-datamängder och Azure Analysis Services (förhandsversion)
Med DirectQuery för Power BI-datamängder och Azure Analysis Services (AAS) kan du använda DirectQuery för att ansluta till AAS- eller Power BI-datamängder. Du kan även kombinera dem med andra DirectQuery-data och importerade data. Den här funktionen är särskilt användbar för rapportförfattare som vill kombinera data från sin semantiska modell med andra data de äger, till exempel ett Excel-kalkylblad, eller vill anpassa och utöka metadata från sin semantiska modell.
Aktivera förhandsfunktionen
Eftersom funktionen är i förhandsversion måste du först aktivera den. Det gör du genom att gå till Arkiv > Alternativ och inställningar > Alternativ i Power BI Desktop . I avsnittet Förhandsversionsfunktioner väljer du kryssrutan DirectQuery för Power BI-datamängder och Analysis Services för att aktivera den här nya funktionen. Du kan behöva starta om Power BI Desktop för att ändringen ska börja gälla.
Använda DirectQuery för liveanslutningar
Om du använder DirectQuery Power BI datauppsättningar och Azure Analysis Services måste rapporten ha en lokal modell. Du kan starta från en live-anslutning och lägga till eller uppgradera till en lokal modell, eller börja med en DirectQuery-anslutning eller importerade data, som automatiskt skapar en lokal modell i rapporten.
Om du vill se vilka anslutningar som används i modellen kontrollerar du statusfältet nere till höger i Power BI Desktop. Om du bara är ansluten till en Azure Analysis Services-källa ser du ett meddelande som i följande bild:

Om du är ansluten till en Power BI-datamängd ser du ett meddelande som anger vilken Power BI-datamängd du är ansluten till:

Om du vill anpassa metadata för fälten i din liveanslutna datamängd väljer du Gör ändringar i den här modellen i statusfältet. Du kan också klicka på knappen Gör ändringar i den här modellen i menyfliksområdet som du ser i följande bild. I rapportvyn klickar du på knappen Gör ändringar i den här modellen på fliken Modellering. I modellvyn sitter den här knappen på fliken Start.

Om du väljer knappen visas en dialogruta som bekräftar att du lägger till en lokal modell. Välj Lägg till en lokal modell för att kunna skapa nya kolumner eller ändra metadata för fält från Power BI-datamängden eller Azure Analysis Services. I följande bild ser du den dialogruta som visas.

När du är liveansluten till en Analysis Services-källa finns det ingen lokal modell. Om du vill använda DirectQuery för liveanslutna källor som Power BI-datamängder och Azure Analysis Services måste du lägga till en lokal modell i rapporten. När du publicerar en rapport med en lokal modell i Power BI-tjänsten publiceras även en datamängd för den lokala modellen.
Länkning
Datamängder och de datamängder och modeller de är baserade på bildar en kedja. Med den här processen, som kallas länkning, kan du publicera en rapport och datauppsättning baserat på Power BI datauppsättningar, en funktion som tidigare inte var möjlig.
Anta till exempel att din kollega publicerar en Power BI-datamängd med namnet Sales and Budget som är baserad på en Azure Analysis Services-modell med namnet Sales och kombinerar den med ett Excel-kalkylblad med namnet Budget.
När du publicerar en ny rapport (och datamängd) med namnet Sales and Budget Europe som baseras på Power BI-datamängden Sales and Budget som din kollega publicerade, och gör egna ändringar eller tillägg, lägger du i praktiken till en rapport och datamängd i en kedja med längden tre, som börjar med Azure Analysis Services-modellen Sales och slutar med Power BI-datamängden Sales and Budget Europe. Du ser länkningsprocessen i följande bild.

Kedjan i föregående bild har längden tre, vilket är den maximala längden i förhandsversionen. Utökning utöver en kedja av tre stöds inte och resulterar i fel.
Säkerhetsvarning
När du använder funktionen DirectQuery för Power BI-datamängder och Azure Analysis Services (AAS) visas en varningsdialogruta som du ser i följande bild.

Du kan överföra data från en datakälla till en annan, vilket ger samma säkerhetsvarning som att kombinera DirectQuery och importkällor i en datamodell. Mer information om det här beteendet finns i Använda sammansatta modeller i Power BI Desktop.
Funktioner och scenarier att prova
I den här listan ges förslag på hur du kan utforska DirectQuery för Power BI-datamängder och Azure Analysis Services (AAS) på egen hand:
- Ansluta till data från olika källor: Importkällor (till exempel filer) Power BI-datamängder, Azure Analysis Services
- Skapa relationer mellan olika datakällor
- Skriva mått som använder fält från olika datakällor
- Skapa nya kolumner för tabeller från Power BI-datamängder i Azure Analysis Services
- Skapa visuella objekt som använder kolumner från olika datakällor
Från och med april 2021-versionen av Power BI Desktop kan du också ansluta till ett perspektiv när du upprättar en DirectQuery-anslutning till en Azure Analysis Services-modell, om ett perspektiv är tillgängligt.
Från och med versionen från oktober 2021 Power BI Desktop har du mer kontroll över dina anslutningar:
- Du kan ta bort en tabell från din modell med hjälp av fältlistan för att hålla modellerna så koncisa och lutade som möjligt (om du ansluter till ett perspektiv kan du inte ta bort tabeller från modellen)
- Du kan ange vilka tabeller som ska läsas in, i stället för att behöva läsa in alla tabeller när du bara vill ha en specifik delmängd av tabeller
- Du kan ange om du vill lägga till tabeller som sedan läggs till i datauppsättningen när du har anslutningen i din modell
- I oktober 2021-versionen har prestandaförbättringar gjorts med parallell körning av modellfrågor och smart cachelagring
Överväganden och begränsningar
Det finns några överväganden att tänka på när du använder DirectQuery för Power BI-datamängder och Azure Analysis Services (AAS) :
Om du uppdaterar dina datakällor och det uppstår fel med fält- eller tabellnamn som står i konflikt med varandra löser Power BI felen åt dig.
Användare behöver skapa-behörigheter för alla datauppsättningar i kedjan för att få åtkomst till en rapport som utnyttjar den här funktionen.
Om du vill skapa rapporter i Power BI-tjänsten om en sammansatt modell som är baserad på en annan datamängd måste du ange alla autentiseringsuppgifter. På sidan för att uppdatera inställningar för autentiseringsuppgifter för Azure Analysis Services-källor visas följande fel även om du har angett autentiseringsuppgifterna:

Eftersom det här är förvirrande och felaktigt är det något vi ska rätta till snart.
För att kunna skapa en DirectQuery-anslutning till en Power BI-datauppsättning måste klientorganisationen ha "Tillåt XMLA-slutpunkter och analysera i Excel med lokala datauppsättningar" aktiverat.
För Premium-kapaciteter ska "XMLA-slutpunkten" anges till antingen "Skrivskyddade" eller "Läsa/skriva".
Om du använder en klassisk arbetsyta i kombination med den här funktionen räcker det inte att ange behörigheter för själva datauppsättningen. För klassiska arbetsytor måste alla användare som har åtkomst till rapporter som använder den här funktionen vara medlemmar i arbetsytan. Överväg att uppgradera klassiska arbetsytor till nya arbetsytor för att undvika den här situationen.
Regler för säkerhet på radnivå tillämpas på källan där de är definierade, men inte på andra datamängder i modellen. Säkerhet på radnivå som definieras i rapporten tillämpas inte på fjärranslutna källor och säkerhet på radnivå som anges på fjärranslutna källor tillämpas inte på andra datakällor.
KPI:er, säkerhet på radnivå och översättningar importeras inte från källan i den här förhandsversionen.
Du kan se en del oväntat beteende när du använder datumhierarkier. Lös problemet genom att använda en datumkolumn i stället. När du har lagt till en datumhierarki i ett visuellt objekt kan du växla till en datumkolumn genom att klicka på nedåtpilen i fältnamnet och sedan klicka på fältets namn i stället för att använda datumhierarkin:

Mer information om hur du använder datumkolumner jämfört med datumhierarkier finns i den här artikeln.
Du kan se onödiga felmeddelanden när du använder AI-funktioner med en modell som har en DirectQuery-anslutning till Azure Analysis Services.
Om du använder ALLSELECTED med en DirectQuery-källa blir resultatet ofullständigt.
Filter och relationer:
Ett filter som tillämpas från en datakälla till en tabell från en annan DirectQuery-källa kan bara ställas in för en enda kolumn
Korsfiltrering av två tabeller från en DirectQuery-källa genom att filtrera dem med en tabell utanför källan är inte en rekommenderad design och den stöds inte.
Ett filter kan bara vidröra en tabell en enda gång. Du kan inte tillämpa samma filter på en tabell två gånger via en eller flera tabeller utanför DirectQuery-källan.
I förhandsversionen är den maximala längden tre för en kedja av modeller. Du kan inte utöka kedjan till längre än tre, det stöds inte och resulterar i fel.
En länkningsflagga som inte rekommenderas kan anges för en modell för att förhindra att en kedja skapas eller utökas. Mer information finns i Hantera DirectQuery-anslutningar till en publicerad datauppsättning.
Anslutningen till en Power BI datauppsättning visas inte i Power Query.
Det finns också några begränsningar du måste ha i åtanke:
Du kan för närvarande inte använda parametrar för namn på databaser och servrar.
Du kan inte definiera säkerhet på radnivå i tabeller från en fjärransluten källa.
Användning av någon av följande källor som en DirectQuery-källa stöds inte:
- SQL Server Analysis Services (SSAS)
- SAP HANA
- SAP Business Warehouse
- Datauppsättningar i realtid
Du kan för närvarande inte använda DirectQuery på datamängder från ”Min arbetsyta”.
Du kan för närvarande inte använda Power BI Embedded med datamängder som innehåller en DirectQuery-anslutning till en Power BI-datamängd eller Azure Analysis Services-modell.
Beräkningsgrupper stöds inte på fjärranslutna källor och ger odefinierade frågeresultat.
Beräknade tabeller stöds inte i tjänsten med den här funktionen. Om du försöker utföra en uppdatering på en datauppsättning med en beräknad tabell eller en beräknad kolumn som refererar till en Direct Query-datakälla resulterar det i felmeddelandet "Enkel inloggning (SSO)-autentiseringsuppgifter har inte angetts".
Automatisk siduppdatering stöds bara i vissa scenarier beroende på typen av datakälla. Mer information finns i artikeln Automatisk siduppdatering i Power BI.
Det finns för närvarande inte stöd för att ta över en datauppsättning som använder DirectQuery till andra datauppsättningar.
Precis som med alla DirectQuery-datakällorvisas inte hierarkier som definierats i en Azure Analysis Services-modell eller Power BI-datauppsättning när du ansluter till modellen eller datauppsättningen i DirectQuery-läge med Excel.
Överväganden för klientorganisation
Alla modeller med en DirectQuery-anslutning till en Power BI-datauppsättning eller till Azure Analysis Services måste publiceras i samma klientorganisation, vilket är särskilt viktigt vid åtkomst till en Power BI-datauppsättning eller en Azure Analysis Services-modell med hjälp av B2B-gästidentiteter, enligt följande diagram. Se Gästanvändare som kan redigera och hantera innehåll för att hitta klient-URL:en för publicering.
Titta på följande diagram. De numrerade stegen i diagrammet beskrivs i följande stycken.
I diagrammet arbetar Hon med Contoso och kommer åt data som tillhandahålls av Fabrikam. Med Power BI Desktop skapar Hon en DirectQuery-anslutning till en Azure Analysis Services-modell som finns i Fabrikams klientorganisation.
För att autentisera använder Tb en B2B-gästanvändaridentitet (steg 1 i diagrammet).
Om rapporten publiceras till Contosos Power BI-tjänst (steg 2) kan inte datauppsättningen som publiceras i Contosos klientorganisation autentisera mot Fabrikams Azure Analysis Services modell (steg 3). Därför fungerar inte rapporten.
I det här scenariot Azure Analysis Services den modell som används finns i Fabrikams klientorganisation, måste rapporten också publiceras i Fabrikams klientorganisation. Efter en lyckad publicering i Fabrikams klientorganisation (steg 4) kan datauppsättningen komma åt Azure Analysis Services -modellen (steg 5) och rapporten fungerar korrekt.
Sammansatta modeller med DirectQuery-anslutning till källmodeller som skyddas av säkerhet på objektnivå
När en sammansatt modell hämtar data från en Power BI-datauppsättning eller Azure Analysis Services via DirectQuery, och den källmodellen skyddas av säkerhet på objektnivå, kan användare av den sammansatta modellen märka oväntade resultat. I följande avsnitt förklaras hur dessa resultat kan komma till.
Säkerhet på objektnivå (OLS) gör det möjligt för modellförfattare att dölja objekt som utgör modellschemat (det vill säga tabeller, kolumner, metadata osv.) från modellkonsumenter (till exempel en rapportbyggare eller en sammansatt modellförfattare). När OLS konfigureras för ett objekt skapar modellförfattaren en roll och tar sedan bort åtkomsten till objektet för användare som har tilldelats rollen. Från dessa användares perspektiv finns det dolda objektet helt enkelt inte.
OLS definieras för och tillämpas på källmodellen. Den kan inte definieras för en sammansatt modell som bygger på källmodellen.
När en sammansatt modell skapas ovanpå en OLS-skyddad Power BI-datauppsättning eller Azure Analysis Services-modell via DirectQuery-anslutning kopieras modellschemat från källmodellen faktiskt över till den sammansatta modellen. Vad som kopieras beror på vad den sammansatta modellförfattaren tillåts se i källmodellen enligt de OLS-regler som gäller där. Själva data kopieras inte över till den sammansatta modellen – i stället hämtas de alltid via DirectQuery från källmodellen när det behövs. Med andra ord kommer datahämtning alltid tillbaka till källmodellen, där OLS-regler gäller.
Eftersom den sammansatta modellen inte skyddas av OLS-regler är objekten som konsumenter av den sammansatta modellen ser de som den sammansatta modellförfattaren kan se i källmodellen i stället för vad de själva kan ha åtkomst till. Detta kan resultera i följande situationer
- Någon som tittar på den sammansatta modellen kan se objekt som är dolda från dem i källmodellen av OLS.
- Däremot kanske de INTE ser något objekt i den sammansatta modellen som de kan se i källmodellen, eftersom objektet var dolt från den sammansatta modellförfattaren av OLS-reglerna som styr åtkomsten till källmodellen.
En viktig punkt är att trots det fall som beskrivs i den första punkten ser konsumenter av den sammansatta modellen aldrig faktiska data som de inte ska se, eftersom data faktiskt inte finns i den sammansatta modellen. På grund av DirectQuery hämtas den i stället efter behov från källdatauppsättningen, där OLS blockerar obehörig åtkomst.
Tänk på följande scenario med den här bakgrunden i åtanke.

Admin_user har publicerat en företagssemantikmodell med hjälp av en Power BI datauppsättning eller en Azure Analysis Services-modell som har en kundtabell och en områdestabell. Admin_user publicerar datauppsättningen till Power BI-tjänsten och anger OLS-regler som har följande effekt:
- Ekonomianvändare kan inte se tabellen Kund
- Marknadsföringsanvändare kan inte se tabellen Område
Finance_user publicerar en datauppsättning med namnet "Ekonomidatauppsättning" och en rapport med namnet "Ekonomirapport" som ansluter via DirectQuery till den företagssemantikmodell som publicerades i steg 1. Finansrapporten innehåller ett visuellt objekt som använder en kolumn från tabellen Område.
Marketing_user öppnar ekonomirapporten. Det visuella objekt som använder tabellen Område visas, men returnerar ett fel. När rapporten öppnas försöker DirectQuery hämta data från källmodellen med autentiseringsuppgifterna för Marketing_user, som blockeras från att se tabellen Område enligt DE OLS-regler som angetts för företagssemantikmodellen.
Marketing_user skapar en ny rapport med namnet "Marknadsföringsrapport" som använder datauppsättningen Ekonomi som källa. Fältlistan visar de tabeller och kolumner som Finance_user har åtkomst till. Tabellen Område visas därför i fältlistan, men tabellen Kund visas inte. Men när Marketing_user försöker skapa ett visuellt objekt som använder en kolumn från tabellen Område returneras ett fel, eftersom DirectQuery i det läget försöker hämta data från källmodellen med hjälp av Marketing_user:s autentiseringsuppgifter och OLS-regler återigen startar och blockerar åtkomst. Samma sak händer när Marketing_user skapar en ny datauppsättning och rapport som ansluter till datauppsättningen Ekonomi med en DirectQuery-anslutning – de ser tabellen Område i fältlistan, eftersom det är vad Finance_user kan se, men när de försöker skapa ett visuellt objekt som använder den tabellen blockeras de av OLS-reglerna för företagssemantikmodellen.
Anta nu att du Admin_user OLS-reglerna för företagssemantikmodellen för att hindra Finance från att se tabellen Område.
Det är först när finansdatauppsättningen uppdateras som de uppdaterade OLS-reglerna visas i den. När Finance_user uppdaterar datauppsättningen Ekonomi visas tabellen Område därför inte längre i fältlistan, och det visuella objektet i finansrapporten som använder en kolumn från tabellen Område returnerar ett fel för Finance_user, eftersom de nu inte har behörighet att komma åt tabellen Område.
Så här summerar du:
- Konsumenter av en sammansatt modell ser resultatet av OLS-reglerna som var tillämpliga för författaren till den sammansatta modellen när de skapade modellen. När en ny rapport skapas baserat på den sammansatta modellen visar fältlistan därför de tabeller som författaren till den sammansatta modellen hade åtkomst till när de skapade modellen, oavsett vad den aktuella användaren har åtkomst till i källmodellen.
- OLS-regler kan inte definieras på själva den sammansatta modellen.
- En användare av en sammansatt modell ser aldrig faktiska data som de inte ska se, eftersom relevanta OLS-regler i källmodellen blockerar dem när DirectQuery försöker hämta data med sina autentiseringsuppgifter.
- Om källmodellen uppdaterar sina OLS-regler påverkar dessa ändringar endast den sammansatta modellen när den uppdateras.
Läsa in en delmängd av tabeller från en Power BI datauppsättning eller Azure Analysis Services modell
När du ansluter till en Power BI datauppsättning eller Azure Analysis Services-modell med hjälp av en DirectQuery-anslutning kan du bestämma vilka tabeller du ska ansluta till. Du kan också välja att automatiskt lägga till alla tabeller som kan läggas till i datauppsättningen eller modellen när du har upprättat anslutningen till din modell. Observera att när du ansluter till ett perspektiv innehåller modellen alla tabeller i datauppsättningen eller modellen och alla tabeller som inte ingår i perspektivet kommer att döljas. Dessutom läggs alla tabeller som kan läggas till i perspektivet automatiskt. Den här dialogrutan visas inte för live-anslutningar.
Anteckning
Den här dialogrutan visas bara om du lägger till en DirectQuery-anslutning till en Power BI datauppsättning eller Azure Analysis Services till en befintlig modell. Du kan också öppna den här dialogrutan genom att ändra DirectQuery-anslutningen till Power BI datauppsättningen eller Azure Analysis Services-modellen i inställningarna för Datakälla när du har skapat den.
[!div class="mx-imgBorder"]

Nästa steg
Mer information om DirectQuery finns i följande resurser: