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)

Anslut 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 hjälp av 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.

Anslut 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 hjälp av 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.

Anslut med hjälp av 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 Anslut ionstidsgräns 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 som 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.

Anslut 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.

Anslut eller tillgänglighet

Google BigQuery-anslutningsappen är tillgänglig i Power BI Desktop och i Power BI-tjänst. I Power BI-tjänst 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 alternativet Faktureringsprojekt avancerat i power query-Anslut ionsinställningarna.

Om du även skapar en rapport i Power BI-tjänst 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ändarna bör välja Transformera data och sedan använda JSON-parsningsfunktionerna i Power Query-redigeraren 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 Power BI-tjänst 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 ovan och fältet Lösenord mappas till fältet JSON-nyckelfilinnehåll för tjänstkonto ovan. Formatkraven för varje autentiseringsuppgift förblir desamma i både Power BI Desktop, Power BI-tjänst 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: Uppdateringar 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 vanligtvis 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.