Delen via


Google BigQuery

Samenvatting

Item Beschrijving
Releasestatus Algemene beschikbaarheid
Producten Power BI (Semantische modellen)
Power BI (gegevensstromen)
Fabric (Dataflow Gen2)
Power Apps (gegevensstromen)
Customer Insights (gegevensstromen)
Ondersteunde verificatietypen Organisatieaccount
Serviceaccount

Notitie

Sommige mogelijkheden zijn mogelijk aanwezig in één product, maar niet in andere vanwege implementatieschema's en hostspecifieke mogelijkheden.

Notitie

Vanaf juli 2021 heeft Google de ondersteuning voor aanmeldingen bij Google-accounts stopgezet vanuit ingesloten browserframeworks. Vanwege deze wijziging moet u uw Power BI Desktop-versie bijwerken naar juni 2021 of hoger om u aan te melden bij Google.

Vereisten

U hebt een Google-account of een Google-serviceaccount nodig om u aan te melden bij Google BigQuery.

Ondersteunde mogelijkheden

  • Importeren
  • DirectQuery (semantische Power BI-modellen)

Verbinding maken met Google BigQuery-gegevens vanuit Power Query Desktop

Voer de volgende stappen uit om vanuit Power Query Desktop verbinding te maken met Google BigQuery:

  1. Selecteer Google BigQuery in de get data-ervaring. De ervaring voor het ophalen van gegevens in Power Query Desktop varieert tussen apps. Ga voor meer informatie over de Power Query Desktop-ervaring voor uw app naar Waar u gegevens kunt ophalen.

  2. Als u geavanceerde opties wilt gebruiken, selecteert u Geavanceerde opties. Selecteer anders OK om door te gaan. Meer informatie: Verbinding maken met geavanceerde opties

    Afbeelding van het eerste dialoogvenster met de selectie geavanceerde opties.

  3. De Google BigQuery-connector ondersteunt het maken van verbinding via een organisatieaccount of een serviceaccountaanmelding. In dit voorbeeld gebruikt u het organisatieaccount om u aan te melden. Selecteer Aanmelden om door te gaan.

    Meld u aan bij Google BigQuery.

    U kunt zich ook aanmelden met een Google-serviceaccount. In dit geval selecteert u Aanmelding van serviceaccount en voert u het e-mailadres van uw serviceaccount en de inhoud van het JSON-sleutelbestand van uw serviceaccount in. Selecteer vervolgens Connect.

  4. Er wordt een dialoogvenster Aanmelden met Google weergegeven. Selecteer uw Google-account en keur verbinding met Power BI Desktop goed.

    Meld u aan bij Google.

  5. Nadat u zich hebt aangemeld, selecteert u Verbinding maken om door te gaan.

    Verbinding maken met Google BigQuery Data.

  6. Zodra u verbinding hebt gemaakt, wordt er een Navigator-venster weergegeven en worden de gegevens weergegeven die beschikbaar zijn op de server. Selecteer uw gegevens in de navigator. Selecteer vervolgens Gegevens transformeren om de gegevens te transformeren in Power Query of laden om de gegevens in Power BI Desktop te laden.

    Afbeelding van Power Query-navigator die Google BigQuery-gegevens laadt naar de desktop-app.

Verbinding maken met Google BigQuery-gegevens vanuit Power Query Online

Voer de volgende stappen uit om verbinding te maken met Google BigQuery vanuit Power Query Online:

  1. Selecteer de optie Google BigQuery in de get data-ervaring. Verschillende apps hebben verschillende manieren om toegang te krijgen tot Power Query Online om gegevens te krijgen. Ga naar Waar u gegevens kunt ophalen voor de Power Query Online-app voor meer informatie over het ophalen van gegevens.

    Schermopname van het dialoogvenster Gegevens ophalen met nadruk op de Google BigQuery-connector.

  2. In het dialoogvenster Google BigQuery Database moet u mogelijk een nieuwe verbinding maken of een bestaande verbinding selecteren. Als u on-premises gegevens gebruikt, selecteert u een on-premises gegevensgateway. Selecteer vervolgens Aanmelden.

    Afbeelding van het dialoogvenster Aanmelden.

  3. Er wordt een dialoogvenster Aanmelden met Google weergegeven. Selecteer uw Google-account en keur verbinding goed.

    Notitie

    Hoewel in het dialoogvenster Aanmelden wordt opgegeven dat u naar Power BI Desktop gaat nadat u zich hebt aangemeld, wordt u in plaats daarvan naar uw online-app verzonden.

    Afbeelding van het aanmeldingsdialoogvenster van Google.

  4. Als u geavanceerde opties wilt gebruiken, selecteert u Geavanceerde opties. Meer informatie: Verbinding maken met geavanceerde opties

  5. Nadat u zich hebt aangemeld, selecteert u Volgende om door te gaan.

    Afbeelding van de gebruiker die is aangemeld.

  6. Zodra u verbinding hebt gemaakt, wordt er een Navigator-venster weergegeven en worden de gegevens weergegeven die beschikbaar zijn op de server. Selecteer uw gegevens in de navigator. Selecteer vervolgens Volgende om de gegevens in Power Query te transformeren.

    Afbeelding van Power Query-navigator die Google BigQuery-gegevens laadt naar een online-app.

Verbinding maken met behulp van geavanceerde opties

Power Query Desktop en Power Query Online bieden zo nodig een set geavanceerde opties die u aan uw query kunt toevoegen.

Weergave van geavanceerde opties die beschikbaar zijn in Power Query Desktop.

De volgende tabel bevat alle geavanceerde opties die u kunt instellen in Power Query Desktop en Power Query Online.

Geavanceerde optie Beschrijving
Factureringsproject-id Een project waarmee Power Query query's uitvoert. Machtigingen en facturering zijn gekoppeld aan dit project. Als er geen factureringsproject-id is opgegeven, wordt standaard het eerste beschikbare project gebruikt dat wordt geretourneerd door Google-API's.
Storage-API gebruiken Een vlag die het gebruik van de Storage-API van Google BigQuery mogelijk maakt. Deze optie is standaard waar. Deze optie kan worden ingesteld op false om de Storage-API niet te gebruiken en in plaats daarvan REST API's te gebruiken.
Time-outduur van verbinding De standaardverbindingsinstelling (in seconden) waarmee wordt bepaald hoe lang Power Query wacht totdat een verbinding is voltooid. U kunt deze waarde wijzigen als de verbinding niet vóór 15 seconden is voltooid (de standaardwaarde.)
Time-outduur van opdracht Hoe lang Power Query wacht totdat een query is voltooid en resultaten retourneert. De standaardwaarde is afhankelijk van de standaardwaarde van het stuurprogramma. U kunt binnen enkele minuten een andere waarde invoeren om de verbinding langer open te houden.
Project-id Het project waarvoor u systeemeigen query's wilt uitvoeren. Deze optie is alleen beschikbaar in Power Query Desktop.
SQL statement Ga voor informatie naar Gegevens importeren uit een database met behulp van een systeemeigen databasequery. In deze versie van systeemeigen databasequeryfunctionaliteit moet u bijvoorbeeld volledig gekwalificeerde tabelnamen gebruiken in de indelingDatabase.Schema.TableSELECT * FROM DEMO_DB.PUBLIC.DEMO_TABLE. Deze optie is alleen beschikbaar in Power Query Desktop.

Zodra u de geavanceerde opties hebt geselecteerd die u nodig hebt, selecteert u OK in Power Query Desktop of Volgende in Power Query Online om verbinding te maken met uw Google BigQuery-gegevens.

Beperkingen en overwegingen

In deze sectie worden eventuele beperkingen of overwegingen van de Google BigQuery-connector beschreven.

Verbinding maken met Google BigQuery in Power BI Desktop

Er zijn enkele limieten en overwegingen waarmee u rekening moet houden bij het gebruik van de Google BigQuery-connector met Power BI.

Beschikbaarheid van connector

De Google BigQuery-connector is beschikbaar in Power BI Desktop en in de Power BI-service. In de Power BI-service is de connector toegankelijk via de cloud-naar-cloud-verbinding van Power BI naar Google BigQuery.

Fout 'Toegang geweigerd'

Wanneer u vanuit Power BI Desktop verbinding probeert te maken met Google BigQuery, wordt mogelijk het volgende foutbericht weergegeven:

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

In dit geval moet u mogelijk een factureringsproject-id invoeren in de geavanceerde optie Factureringsproject in de verbindingsinstellingen van Power Query.

Als u ook een rapport maakt in Power BI-service met behulp van een gateway, wordt deze fout mogelijk nog steeds weergegeven. In dit geval moet u de factureringsproject-id handmatig opnemen in de M-code voor de verbinding met behulp van de Power Query-editor of de Power Query-formulebalk. Voorbeeld:

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

Geneste velden

Om prestatieoverwegingen te optimaliseren, werkt Google BigQuery goed met grote gegevenssets wanneer deze worden gedenormaliseerd, afgevlakt en genest.

De Google BigQuery-connector ondersteunt geneste velden die worden geladen als tekstkolommen in JSON-indeling.

Ondersteuning voor geneste Google BigQuery-velden.

Gebruikers moeten Gegevens transformeren selecteren en vervolgens de JSON-parseringsmogelijkheden in de Power Query-editor gebruiken om de gegevens te extraheren.

  1. Selecteer op het linttabblad Transformaties de categorie Tekstkolom, parseren en vervolgens JSON.
  2. Extraheer de JSON-recordvelden met behulp van de optie Kolom uitvouwen.

Een Google-serviceaccount instellen

Ga voor meer informatie over het instellen of gebruiken van Google-serviceaccounts naar Het maken en beheren van serviceaccountsleutels in de Google-documenten.

Verifiëren via een Google-serviceaccount

Wanneer u zich verifieert via een Google-serviceaccount in Power BI Desktop, is er een specifieke referentie-indeling vereist voor de connector.

  • E-mailadres van serviceaccount: moet de e-mailindeling hebben
  • Inhoud van het JSON-sleutelbestand van het serviceaccount: nadat deze JSON-sleutel is gedownload, moeten alle nieuwe regels uit het bestand worden verwijderd, zodat de inhoud op één regel staat. Zodra het JSON-bestand in die indeling is, kan de inhoud in dit veld worden geplakt.

Wanneer u zich verifieert via een Google-serviceaccount in Power BI-service of Power Query Online, moeten gebruikers basisverificatie gebruiken. Het veld Gebruikersnaam wordt toegewezen aan het veld E-mailadres van het serviceaccount en het veld Wachtwoord wordt toegewezen aan het veld JSON-sleutelbestand voor het serviceaccount. De indelingsvereisten voor elke referentie blijven hetzelfde in power BI Desktop, Power BI-service en Power Query Online.

Kan niet verifiëren met Google BigQuery Storage-API

De Google BigQuery-connector maakt standaard gebruik van de Google BigQuery Storage-API . Deze functie wordt beheerd door de geavanceerde optie UseStorageApi. Mogelijk ondervindt u problemen met deze functie als u gedetailleerde machtigingen gebruikt. In dit scenario ziet u mogelijk het volgende foutbericht of kunt u geen gegevens ophalen uit uw query:

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

U kunt dit probleem oplossen door de gebruikersmachtigingen voor de BigQuery Storage-API correct aan te passen. Deze machtigingen voor opslag-API's zijn vereist voor toegang tot gegevens correct met de BigQueryStorage-API:

  • bigquery.readsessions.create: Hiermee maakt u een nieuwe leessessie via de BigQuery Storage-API.
  • bigquery.readsessions.getData: leest gegevens uit een leessessie via de BigQuery Storage-API.
  • bigquery.readsessions.update: Hiermee werkt u een leessessie bij via de BigQuery Storage-API.

Deze machtigingen worden doorgaans opgegeven in de BigQuery.User rol. Meer informatie, vooraf gedefinieerde rollen en machtigingen van Google BigQuery

Als de bovenstaande stappen het probleem niet oplossen, kunt u de BigQuery Storage-API uitschakelen.

Kan gegevens van het type DateTime niet gebruiken in de modus Direct Query

Er is een bekend probleem waarbij het type DateTime niet wordt ondersteund via Direct Query. Als u een kolom selecteert met het type DateTime, wordt de fout Ongeldige query of een visuele fout veroorzaakt.

Beperkingen voor het uitvoeren van query's op kolommen met dezelfde naam als de tabelnaam

Wanneer u een query uitvoert op een kolom met dezelfde naam als de tabelnaam, interpreteert BigQuery de kolom als een struct kolom die alle kolommen in de tabel bevat in plaats van de opgegeven kolom. Retourneert bijvoorbeeld SELECT debug FROM dataset.debug een struct met alle kolommen in de foutopsporingstabel in plaats van de opgegeven kolom voor foutopsporing. Dit gedrag is niet intuïtief en er wordt een oplossing onderzocht. Er zijn drie tijdelijke oplossingen beschikbaar:

  • Tijdelijke oplossing 1: De tabel verpakken met een weergave die geen conflict veroorzaakt met de kolomnaam:CREATE VIEW dataset.new_view AS SELECT * FROM dataset.debug
  • Tijdelijke oplossing 2: Wijzig de naam van de kolom om conflicten met de tabelnaam te voorkomen:ALTER TABLE dataset.debug RENAME COLUMN debug to new_debug
  • Tijdelijke oplossing 3: Wijzig de SELECT-query om table.column te gebruiken om te verwijzen naar de conflictkolom:SELECT debug.debug FROM dataset.debug

Gerealiseerde weergaven worden niet ondersteund in de Power BI Desktop-navigator

Een bekend probleem is dat de Google BigQuery-connector momenteel geen gerealiseerde weergaven ondersteunt in de Power BI Desktop-navigator.

  • Tijdelijke oplossing: gebruik systeemeigen SQL-instructies voor query's om gerealiseerde weergaven op te halen uit Google BigQuery.

HTTP-fout 403: quotaExceeded (quotum overschreden: uw gebruiker heeft het quotum overschreden voor gelijktijdige aanvragen van project.lists)

  • Het quotum wordt overschreden voor het gebruik van het klantaccount van project.lists API-aanroepen naar Google. Wanneer meerdere rapporten tegelijkertijd worden vernieuwd, kan er een fout optreden in verschillende query's of rapporten. Om de fout te voorkomen, plant u vernieuwingen van rapporten met verspringende intervallen.
  • Werk de query bij om een factureringsproject-id op te nemen - GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"]).
  • Aanroepen moeten GoogleBigQuery.Database zich in dezelfde query bevinden als het schema en de tabelselectie om de fout te voorkomen.