Dela via


Google BigQuery

Sammanfattning

Objekt beskrivning
Versionstillstånd Allmän tillgänglighet
Produkter Power BI (semantiska modeller)
Power BI (dataflöden)
Infrastrukturresurser (Dataflöde Gen2)
Power Apps (dataflöden)
Customer Insights (dataflöden)
Autentiseringstyper som stöds Organisationskonto
Tjänstkonto

Kommentar

Vissa funktioner kan finnas i en produkt, men inte andra på grund av distributionsscheman och värdspecifika funktioner.

Kommentar

Från och med juli 2021 upphörde Google att stödja inloggningar till Google-konton från inbäddade webbläsarramverk. På grund av den här ändringen måste du uppdatera power BI Desktop-versionen till juni 2021 eller senare för att kunna logga in på Google.

Förutsättningar

Du behöver ett Google-konto eller ett Google-tjänstkonto för att logga in på Google BigQuery.

Funktioner som stöds

  • Importera
  • DirectQuery (Power BI-semantiska modeller)

Ansluta till Google BigQuery-data från Power Query Desktop

Utför följande steg för att ansluta till Google BigQuery från Power Query Desktop:

  1. Välj Google BigQuery i hämta dataupplevelsen. Hämta dataupplevelsen i Power Query Desktop varierar mellan appar. Mer information om Power Query Desktop för att hämta data för din app finns i Var du hämtar data.

  2. Om du vill använda förhandsalternativ väljer du Avancerade alternativ. Annars väljer du OK för att fortsätta. Mer information: Anslut med avancerade alternativ

    Bild som visar den inledande dialogrutan med alternativet avancerade alternativ.

  3. Google BigQuery-anslutningsappen stöder anslutning via ett organisationskonto eller inloggning med ett tjänstkonto. I det här exemplet använder du organisationskontot för att logga in. Välj Logga in för att fortsätta.

    Logga in på Google BigQuery.

    Du kan också logga in med ett Google-tjänstkonto. I det här fallet väljer du Inloggning av tjänstkonto och anger e-post för tjänstkontot och innehållet i JSON-nyckelfilen för tjänstkontot. Välj sedan Anslut.

  4. Dialogrutan Logga in med Google visas. Välj ditt Google-konto och godkänn anslutning till Power BI Desktop.

    Logga in på Google.

  5. När du har loggat in väljer du Anslut för att fortsätta.

    Anslut till Google BigQuery Data.

  6. När du har anslutit visas ett navigatörsfönster och visar tillgängliga data på servern. Välj dina data i navigatören. Välj sedan antingen Transformera data för att transformera data i Power Query eller Läs in för att läsa in data i Power BI Desktop.

    Bild av Power Query-navigatören som läser in Google BigQuery-data till skrivbordsappen.

Ansluta till Google BigQuery-data från Power Query Online

Utför följande steg för att ansluta till Google BigQuery från Power Query Online:

  1. Välj alternativet Google BigQuery i hämta dataupplevelsen. Olika appar har olika sätt att komma till Power Query Online för att hämta data. Mer information om hur du kommer till Power Query Online för att hämta data från din app finns i Var du kan hämta data.

    Skärmbild av dialogrutan Hämta data med betoning på Google BigQuery-anslutningsappen.

  2. I dialogrutan Google BigQuery Database kan du behöva skapa en ny anslutning eller välja en befintlig anslutning. Om du använder lokala data väljer du en lokal datagateway. Välj sedan Logga in.

    Bild av dialogrutan logga in.

  3. Dialogrutan Logga in med Google visas. Välj ditt Google-konto och godkänn anslutning.

    Kommentar

    Även om inloggningsdialogrutan säger att du kommer att fortsätta till Power BI Desktop när du har loggat in, skickas du till din onlineapp i stället.

    Bild av dialogrutan för Google-inloggning.

  4. Om du vill använda förhandsalternativ väljer du Avancerade alternativ. Mer information: Anslut med avancerade alternativ

  5. När du har loggat in väljer du Nästa för att fortsätta.

    Bild av användaren som har loggat in.

  6. När du har anslutit visas ett navigatörsfönster och visar tillgängliga data på servern. Välj dina data i navigatören. Välj sedan Nästa för att transformera data i Power Query.

    Bild av Power Query-navigatören som läser in Google BigQuery-data till onlineappen.

Ansluta med avancerade alternativ

Både Power Query Desktop och Power Query Online innehåller en uppsättning avancerade alternativ som du kan lägga till i din fråga om det behövs.

Visning av avancerade alternativ som är tillgängliga i Power Query Desktop.

I följande tabell visas alla avancerade alternativ som du kan ange i Power Query Desktop och Power Query Online.

Avancerat alternativ beskrivning
Projekt-ID för fakturering Ett projekt som Power Query ska köra frågor mot. Behörigheter och fakturering är kopplade till det här projektet. Om inget faktureringsprojekt-ID anges används som standard det första tillgängliga projektet som returneras av Google API:er.
Använda Lagrings-API En flagga som gör det möjligt att använda Lagrings-API:et för Google BigQuery. Det här alternativet är sant som standard. Det här alternativet kan ställas in på false för att inte använda Lagrings-API:et och använda REST-API:er i stället.
Varaktighet för tidsgräns för anslutning Standardanslutningsinställningen (i sekunder) som styr hur länge Power Query väntar på att en anslutning ska slutföras. Du kan ändra det här värdet om anslutningen inte slutförs före 15 sekunder (standardvärdet.)
Varaktighet för tidsgräns för kommando Hur länge Power Query väntar på att en fråga ska slutföras och returnera resultat. Standardvärdet beror på drivrutinsstandarden. Du kan ange ett annat värde på några minuter för att hålla anslutningen öppen längre.
Projekt-ID Det projekt som du vill köra interna frågor på. Det här alternativet är bara tillgängligt i Power Query Desktop.
SQL statement Mer information finns i Importera data från en databas med hjälp av intern databasfråga. I den här versionen av inbyggda databasfrågefunktioner måste du använda fullständigt kvalificerade tabellnamn i formatet Database.Schema.Table, till exempel SELECT * FROM DEMO_DB.PUBLIC.DEMO_TABLE. Det här alternativet är bara tillgängligt i Power Query Desktop.

När du har valt de avancerade alternativ du behöver väljer du OK i Power Query Desktop eller Nästa i Power Query Online för att ansluta till dina Google BigQuery-data.

Begränsningar och överväganden

I det här avsnittet beskrivs eventuella begränsningar eller överväganden för Google BigQuery-anslutningsappen.

Ansluta till Google BigQuery i Power BI Desktop

Det finns några begränsningar och överväganden att tänka på när du använder Google BigQuery-anslutningsappen med Power BI.

Tillgänglighet för anslutningsprogram

Google BigQuery-anslutningsappen är tillgänglig i Power BI Desktop och i usluga Power BI. I usluga Power BI kan anslutningsappen nås med hjälp av moln-till-moln-anslutningen från Power BI till Google BigQuery.

Felet "Åtkomst nekad"

När du försöker ansluta till Google BigQuery från Power BI Desktop kan följande felmeddelande visas:

Datasource.Error: ODBC: ERROR [HY000][Microsoft][BigQuery] (100) Error interacting with REST API: Access Denied: Project <project name>: The user <user name> bigquery.jobs.create permissions in project <project name>.

I det här fallet kan du behöva ange ett faktureringsprojekt-ID i det avancerade alternativet Faktureringsprojekt i power query-anslutningsinställningarna.

Om du även skapar en rapport i usluga Power BI med hjälp av en gateway kan du dessutom fortfarande få det här felet. I det här fallet måste du manuellt inkludera faktureringsprojekt-ID:t i M-koden för anslutningen med power query-redigeraren eller Formelfältet för Power Query. Till exempel:

Source = GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"])

Kapslade fält

För att optimera prestandaöverväganden gör Google BigQuery bra ifrån sig med stora datamängder när de avnormaliseras, plattas ut och kapslas.

Google BigQuery-anslutningsappen stöder kapslade fält som läses in som textkolumner i JSON-format.

Stöd för Google BigQuery Nested Fields.

Användare bör välja Transformera data och sedan använda JSON-parsningsfunktionerna i Power Query uređivač för att extrahera data.

  1. Under menyfliken Transformerar väljer du Kategorin Textkolumn, Parsa och sedan JSON.
  2. Extrahera JSON-postfälten med alternativet Expandera kolumn .

Konfigurera ett Google-tjänstkonto

Mer information om hur du konfigurerar eller använder Google-tjänstkonton finns i Skapa och hantera tjänstkontonycklar i Google-dokumenten.

Autentisera via ett Google-tjänstkonto

När du autentiserar via ett Google-tjänstkonto i Power BI Desktop finns det ett specifikt format för autentiseringsuppgifter som krävs av anslutningsappen.

  • E-post för tjänstkonto: måste vara i e-postformat
  • JSON-nyckelfilinnehåll för tjänstkonto: När den här JSON-nyckeln har laddats ned måste alla nya rader tas bort från filen så att innehållet finns på en rad. När JSON-filen är i det formatet kan innehållet klistras in i det här fältet.

När du autentiserar via ett Google-tjänstkonto i usluga Power BI eller Power Query Online måste användarna använda "Grundläggande" autentisering. Fältet Användarnamn mappar till fältet E-post för tjänstkonto och fältet Lösenord mappas till fältet JSON-nyckelfilinnehåll för tjänstkonto. Formatkraven för varje autentiseringsuppgifter förblir desamma i både Power BI Desktop, usluga Power BI och Power Query Online.

Det går inte att autentisera med Google BigQuery Storage API

Google BigQuery-anslutningsappen använder Som standard Google BigQuery Storage API . Den här funktionen styrs av det avancerade alternativet UseStorageApi. Du kan stöta på problem med den här funktionen om du använder detaljerade behörigheter. I det här scenariot kan du se följande felmeddelande eller misslyckas med att hämta data från din fråga:

ERROR [HY000] [Microsoft][BigQuery] (131) Unable to authenticate with Google BigQuery Storage API. Check your account permissions

Du kan lösa det här problemet genom att justera användarbehörigheterna för BigQuery Storage-API:et på rätt sätt. Dessa lagrings-API-behörigheter krävs för att komma åt data korrekt med BigQueryStorage API:

  • bigquery.readsessions.create: Skapar en ny lässession via BigQuery Storage-API:et.
  • bigquery.readsessions.getData: Läser data från en lässession via BigQuery Storage-API:et.
  • bigquery.readsessions.update: Uppdaterar en lässession via BigQuery Storage-API:et.

Dessa behörigheter tillhandahålls vanligtvis i BigQuery.User rollen. Mer information, Fördefinierade roller och behörigheter för Google BigQuery

Om ovanstående steg inte löser problemet kan du inaktivera BigQuery Storage-API:et.

Det går inte att använda DateTime-typdata i Direct Query-läge

Det finns ett känt problem där DateTime-typen inte stöds via Direct Query. Om du väljer en kolumn med typen DateTime orsakas felet "Ogiltig fråga" eller ett visuellt fel.

Begränsningar för frågekolumner som har samma namn som tabellnamnet

När du kör frågor mot en kolumn med samma namn som tabellnamnet tolkar BigQuery kolumnen som en struct som innehåller alla kolumner i tabellen i stället för den angivna kolumnen. Returnerar till exempel SELECT debug FROM dataset.debug en struct med alla kolumner i felsökningstabellen i stället för den angivna felsökningskolumnen. Det här beteendet är inte intuitivt och en korrigering undersöks. Det finns tre tillgängliga lösningar:

  • Lösning 1: Omslut tabellen med en vy som inte strider mot kolumnnamnet–CREATE VIEW dataset.new_view AS SELECT * FROM dataset.debug
  • Lösning 2: Byt namn på kolumnen för att undvika konflikter med tabellnamnet—ALTER TABLE dataset.debug RENAME COLUMN debug to new_debug
  • Lösning 3: Ändra SELECT-frågan så att den använder table.column för att referera till konfliktkolumnen–SELECT debug.debug FROM dataset.debug

Materialiserade vyer stöds inte i Power BI Desktop-navigatören

Ett känt problem är att Google BigQuery-anslutningsappen för närvarande inte stöder materialiserade vyer i Power BI Desktop-navigatören.

  • Lösning: Använd inbyggda SQL-frågeinstruktioner för att hämta materialiserade vyer från Google BigQuery.

HTTP-fel 403: kvoten har överskridits (Kvoten har överskridits: Användaren har överskridit kvoten för samtidiga projekt.lists-begäranden)

  • Kvoten överskrids för kundkontoanvändningen för PROJECT.lists API-anrop till Google. När flera rapporter uppdateras samtidigt kan det utlösa ett fel i olika frågor eller rapporter. Om du vill förhindra felet schemalägger du rapportuppdateringar med förskjutna intervall.
  • Uppdatera frågan så att den innehåller ett faktureringsprojekt-ID – GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"]).
  • Anrop till GoogleBigQuery.Database ska finnas i samma fråga som schema- och tabellvalet för att undvika felet.