Importera data från en databas med hjälp av intern databasfråga
Power Query ger dig flexibiliteten att importera data från många olika databaser som den stöder. Den kan köra interna databasfrågor, vilket kan spara den tid det tar att skapa frågor med hjälp av Power Query-gränssnittet. Den här funktionen är särskilt användbar för att använda komplexa frågor som redan finns och som du kanske inte vill eller vet hur du återskapar med power query-gränssnittet.
Anteckning
En avsikt med interna databasfrågor är att inte ha sidoeffekter. Power Query garanterar dock inte att frågan inte påverkar databasen. Om du kör en intern databasfråga som skrivits av en annan användare uppmanas du att se till att du är medveten om de frågor som ska utvärderas med dina autentiseringsuppgifter. Mer information finns i intern databasfrågesäkerhet.
Med Power Query kan du ange din interna databasfråga i en textruta under Avancerade alternativ när du ansluter till en databas. I exemplet nedan importerar du data från en SQL Server-databas med hjälp av en intern databasfråga som anges i textrutan SQL-instruktion. Proceduren är liknande i alla andra databaser med intern databasfråga som Power Query stöder.
Anslut till en SQL Server-databas med Power Query. Välj alternativet SQL Server-databas i anslutningsvalet.
I popup-fönstret för databas i SQL Server:
Ange Server och Database där du vill importera data från med hjälp av intern databasfråga.
Under Avancerade alternativväljer du fältet SQL-instruktion och klistrar in eller anger din interna databasfråga och väljer sedan OK.
Om det är första gången du ansluter till den här servern visas en uppmaning om att välja autentiseringsläge för att ansluta till databasen. Välj ett lämpligt autentiseringsläge och fortsätt.
Notera
Om du inte har åtkomst till datakällan (både server och databas) visas en uppmaning om att begära åtkomst till servern och databasen (om information om åtkomstbegäran anges i Power BI för datakällan).
Om anslutningen upprättas returneras resultatdata i Power Query-redigeraren.
Forma data som du vill och välj sedan Använd & Stäng för att spara ändringarna och importera data.
Anslutningsappar som stöder interna databasfrågor
Följande Power Query-anslutningsappar stöder interna databasfrågor.
Anslutning | Typ av intern databasfråga |
---|---|
Amazon Redshift | SQL-instruktion |
Azure Analysis Services-databas | MDX- eller DAX-fråga |
Azure Database for PostgreSQL | SQL-instruktion |
Azure Cosmos DB | SQL-instruktion |
Azure Synapse Analytics | SQL-instruktion |
Azure SQL-databas | SQL-instruktion |
DataWorld.Dataset | dwSQL |
Dataversum | SQL-instruktion |
Essbase | MDX-instruktion |
FHIR | FHIR-sökning |
Google BigQuery | SQL-instruktion |
IBM Db2-databas | SQL-instruktion |
IBM Informix-databas (Beta) | SQL-instruktion |
MySQL-databas | SQL-instruktion |
ODBC | SQL-instruktion |
OLE DB | SQL-instruktion |
Oracle-databas | SQL-instruktion |
PostgreSQL | SQL-instruktion |
SAP HANA-databas | SQL-instruktion |
Snöflinga | SQL-instruktion |
SQL Server Analysis Services-databas | MDX- eller DAX-fråga |
SQL Server-databas | SQL-instruktion |
TIBCO(R) Datavirtualisering (Beta) | SQL-instruktion |
Vena (Beta) | Modellfråga (MQL) |
Begränsningar och problem
Innan du använder intern databasfråga bör du vara medveten om de begränsningar och problem som du kan stöta på.
DDL-åtgärder (Data Definition Language)
Att utföra DDL-åtgärder (Data Definition Language) till datakällan stöds inte i Power Query. Exempel på sådana åtgärder är till exempel "DROP TABLE", "CREATE TABLE" och "ALTER TABLE". Om du försöker använda sådana kommandon kan det leda till flera misslyckanden och fel.
Frågeoptimering
Frågebearbetning vid användning av en inbyggd databasfråga begränsas till ett antal Power Query-anslutningar. För mer information, gå till Frågefällning på inbyggda frågor.
Intern databasfrågesäkerhet
Ibland, när du försöker använda en fråga som skapats av en annan användare eller via avancerad redigerare eller formelfältet– i princip vilken annan sökväg som helst utanför anslutningsdialogrutorna där den interna frågeinmatningsrutan visas – kan du få ett meddelande som säger:
Om du ser det här meddelandet väljer du Redigera behörighet. Det här valet öppnar dialogrutan intern databasfråga. Du får möjlighet att antingen köra den interna databasfrågan eller avbryta frågan.
Om du som standard kör en intern databasfråga utanför anslutningsdialogrutorna uppmanas du varje gång du kör en annan frågetext för att säkerställa att frågetexten som ska köras godkänns av dig.
Not
Interna databasfrågor som du infogar i åtgärden hämta data frågar dig inte om du vill köra frågan eller inte. De springer bara.
Du kan inaktivera de interna databasfrågassäkerhetsmeddelandena om den interna databasfrågan körs i Power BI Desktop eller Excel. Så här inaktiverar du säkerhetsmeddelandena:
Om du använder Power BI Desktop går du till fliken Fil och väljer Alternativ och inställningar > Alternativ.
Om du använder Excel går du till fliken Data och väljer Hämta data > Frågealternativ.
Under Globala-inställningar väljer du Security.
Rensa Kräv användargodkännande för nya interna databasfrågor.
Välj OK.
Du kan också återkalla godkännandet av interna databasfrågor som du tidigare har godkänt för en viss datakälla i Antingen Power BI Desktop eller Excel. Så här återkallar du godkännandet:
Om du använder Power BI Desktop går du till fliken Fil och väljer Alternativ och inställningar > Inställningar för datakälla.
Om du använder Excel går du till fliken Data och väljer Hämta data > datakällans inställningar.
I dialogrutan Inställningar för datakälla väljer du Globala behörigheter. Välj sedan den datakälla som innehåller de interna databasfrågor vars godkännande du vill återkalla.
Välj Redigera behörigheter.
I dialogrutan Redigera behörigheter går du till interna databasfrågoroch väljer Återkalla godkännanden.