Google BigQuery

Résumé

Élément Description
État de publication Disponibilité générale
PRODUITS Power BI (Modèles sémantiques)
Power BI (Dataflows)
Fabric (Dataflow Gen2)
Power Apps (Dataflows)
Customer Insights (flux de données)
Types d’authentification pris en charge Organizational account
Compte de service

Remarque

Certaines fonctionnalités peuvent être présentes dans un produit, mais pas dans d'autres en raison de planifications de déploiement et de fonctionnalités spécifiques à l'hôte.

Remarque

À compter de juillet 2021, Google a cessé de prendre en charge les connexions aux comptes Google à partir des infrastructures de navigateur intégrées. En raison de cette modification, vous devez mettre à jour votre version de Power BI Desktop à juin 2021 ou ultérieure pour prendre en charge la connexion à Google.

Prérequis

Vous avez besoin d’un compte Google ou d’un compte de service Google pour vous connecter à Google BigQuery.

Fonctionnalités prises en charge

  • Importer
  • DirectQuery (pour les modèles sémantiques Power BI)

Se connecter aux données Google BigQuery à partir de Power Query Desktop

Pour vous connecter à Google BigQuery à partir de Power Query Desktop, procédez comme suit :

  1. Sélectionnez Google BigQuery dans l’expérience d’obtention de données. L’expérience d’obtention de données dans Power Query Desktop varie selon les applis. Pour plus d’informations sur l’expérience d’obtention de données Power Query Desktop pour votre appli, accédez à Où obtenir des données.

  2. Si vous souhaitez utiliser des options avancées, sélectionnez Options avancées. Sinon, sélectionnez OK pour continuer. Informations supplémentaires : Se connecter à l’aide d’options avancées

    Image présentant la zone de dialogue initiale avec la sélection d'options avancées.

  3. Le connecteur Google BigQuery prend en charge la connexion via un compte d’organisation ou un compte de service. Dans cet exemple, vous allez utiliser le compte d’organisation pour vous connecter. Sélectionnez S’inscrire pour continuer.

    Se connecter à Google BigQuery.

    Vous pouvez également vous connecter à l’aide d’un compte de service Google. Dans ce cas, sélectionnez Connexion au compte de service et entrez l’e-mail de votre compte de service et le contenu du fichier de clé JSON de votre compte de service. Sélectionnez Connecter.

  4. Une boîte de dialogue Se connecter avec Google s’affiche. Sélectionnez votre compte Google et approuvez la connexion à Power BI Desktop.

    S’identifier auprès de Google.

  5. Une fois identifié, sélectionnez Se connecter pour continuer.

    Se connecter aux données Google BigQuery.

  6. Lorsque vous être connecté, une fenêtre Navigateur apparaît et affiche les données disponibles sur le serveur. Sélectionnez vos données dans le navigateur. Ensuite, sélectionnez Transformer des données pour transformer les données dans Power Query ou Charger pour charger les données dans Power BI Desktop.

    Image du navigateur Power Query chargeant les données Google BigQuery dans l’application de bureau.

Se connecter aux données Google BigQuery à partir de Power Query Online

Pour vous connecter à Google BigQuery à partir de Power Query Online, procédez comme suit :

  1. Sélectionnez l’option Google BigQuery dans l’expérience d’obtention de données. Chaque appli a sa propre façon d’accéder à l’expérience d’obtention de données de Power Query Online. Pour plus d’informations sur la façon d’accéder à l’expérience d’obtention de données Power Query Online à partir de votre appli, accédez à Où obtenir des données.

    Capture d'écran de la zone de dialogue Obtenir des données en mettant l'accent sur le connecteur Google BigQuery.

  2. Dans la boîte de dialogue Base de données Google BigQuery, vous devrez peut-être créer une connexion ou sélectionner une connexion existante. Si vous utilisez des données locales, sélectionnez une passerelle de données locale. Ensuite, sélectionnez Se connecter.

    Image d’une boîte de dialogue de connexion.

  3. Une boîte de dialogue Se connecter avec Google s’affiche. Sélectionnez votre compte Google et approuvez la connexion.

    Remarque

    Bien que la boîte de dialogue de connexion indique que vous serez dirigé vers Power BI Desktop une fois connecté, vous serez en fait dirigé vers votre application en ligne.

    Image de la boîte de dialogue de connexion à Google.

  4. Si vous souhaitez utiliser des options avancées, sélectionnez Options avancées. Informations supplémentaires : Se connecter à l’aide d’options avancées

  5. Une fois connecté, sélectionnez Suivant pour continuer.

    Image de la réussite de connexion de l’utilisateur.

  6. Lorsque vous être connecté, une fenêtre Navigateur apparaît et affiche les données disponibles sur le serveur. Sélectionnez vos données dans le navigateur. Ensuite, sélectionnez Suivant pour transformer les données dans Power Query.

    Image du navigateur Power Query chargeant les données Google BigQuery sur l’application en ligne.

Se connecter à l’aide d’options avancées

Power Query Desktop et Power Query Online fournissent tous deux un ensemble d’options avancées que vous pouvez ajouter à votre requête si nécessaire.

Affichage d’options avancées disponibles dans Power Query Desktop.

Le tableau suivant répertorie toutes les options avancées que vous pouvez définir dans Power Query Desktop et Power Query Online.

Option avancée Description
ID du projet de facturation Projet sur lequel Power Query exécutera des requêtes. Les autorisations et la facturation sont liées à ce projet. Si aucun ID de projet de facturation n’est fourni, par défaut, le premier projet disponible retourné par les API Google sera utilisé.
Utiliser l’API de stockage Indicateur qui permet d’utiliser l'API de stockage Google BigQuery. Cette option a la valeur true par défaut. Cette option peut être définie sur false afin de ne pas utiliser l’API de stockage et utiliser les API REST à la place.
Durée du délai d’expiration de la connexion Paramètre de connexion standard (en secondes) qui contrôle la durée pendant laquelle Power Query attend la fin d’une connexion. Vous pouvez modifier cette valeur si votre connexion ne se termine pas avant 15 secondes (valeur par défaut).
Durée du délai d’expiration de la commande La durée pendant laquelle Power Query attend qu’une requête se termine et retourne les résultats. La valeur par défaut dépend du pilote par défaut. Vous pouvez entrer une autre valeur en minutes pour maintenir la connexion ouverte plus longtemps.
ID Projet Projet sur lequel vous souhaitez exécuter des requêtes natives. Cette option n’est disponible que dans Power Query Desktop.
Instruction SQL Pour plus d’informations, consultez Importer des données à partir d’une base de données à l’aide d’une requête de base de données native. Dans cette version de la fonctionnalité de requête de base de données native, vous devez utiliser des noms de table complets au format Database.Schema.Table, par exemple SELECT * FROM DEMO_DB.PUBLIC.DEMO_TABLE. Cette option n’est disponible que dans Power Query Desktop.

Une fois que vous avez sélectionné les options avancées dont vous avez besoin, sélectionnez OK dans Power Query Desktop, ou Suivant dans Power Query Online, pour vous connecter à vos données Google BigQuery.

Limitations et considérations

Cette section décrit les limitations du connecteur Google BigQuery ou les considérations à prendre en compte le concernant.

Connexion à Google BigQuery dans Power BI Desktop

Il y a quelques limites et considérations à garder à l’esprit lors de l’utilisation du connecteur Google BigQuery avec Power BI.

Disponibilité du connecteur

Le connecteur Google BigQuery est disponible dans Power BI Desktop et dans le service Power BI. Dans le service Power BI, le connecteur est accessible à l’aide de la connexion cloud-à-cloud de Power BI à Google BigQuery.

Erreur « Accès refusé »

Lorsque vous essayez de vous connecter à Google BigQuery à partir de Power BI Desktop, vous pouvez recevoir le message d’erreur suivant :

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

Dans ce cas, vous devrez peut-être entrer un ID de projet de facturation dans l’option avancée Projet de facturation dans les paramètres de connexion Power Query.

En outre, si vous créez également un rapport dans le service Power BI à l’aide d’une passerelle, vous pouvez toujours obtenir cette erreur. Dans ce cas, vous devez inclure manuellement l’ID de projet de facturation dans le code M de la connexion à l’aide de l’éditeur Power Query ou de la barre de formule Power Query. Par exemple :

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

Champs imbriqués

Pour optimiser les considérations relatives aux performances, Google BigQuery fonctionne mieux avec des jeux de données volumineux lorsqu’il est dénormalisé, aplati et imbriqué.

Le connecteur Google BigQuery prend en charge les champs imbriqués, qui sont chargés en tant que colonnes de texte au format JSON.

Support de champs imbriqués Google BigQuery.

Les utilisateurs doivent sélectionner Transformer des données, puis utiliser les fonctionnalités d’analyse JSON dans l’Éditeur Power Query pour extraire les données.

  1. Sous l’onglet du ruban Transformations, sous la catégorie Colonne de texte, sélectionnez Analyse, puis JSON.
  2. Extrayez les champs d’enregistrement JSON à l’aide de l’option Développer la colonne.

Configuration d’un compte de service Google

Pour plus d’informations sur la configuration ou l’utilisation de comptes de service Google, accédez à Création et gestion des clés de compte de service dans Google Docs.

Authentification via un compte de service Google

Lorsque vous vous authentifiez via un compte de service Google dans Power BI Desktop, un format d’informations d’identification spécifique est requis par le connecteur.

  • E-mail du compte de service : doit être au format d’e-mail
  • Contenu du fichier de clé JSON du compte de service : une fois cette clé JSON téléchargée, toutes les nouvelles lignes doivent être supprimées du fichier afin que le contenu soit en une seule ligne. Une fois le fichier JSON dans ce format, le contenu peut être collé dans ce champ.

Lorsque vous vous authentifiez via un compte de service Google dans le service Power BI ou Power Query Online, les utilisateurs doivent utiliser l’authentification « de base ». Le champ Nom d’utilisateur est mappé au champ E-mail du compte de service ci-dessus, et le champ Mot de passe est mappé au champ Contenu du fichier de clé JSON du compte de service ci-dessus. Les exigences de format pour chaque information d’identification restent identiques pour Power BI Desktop, le service Power BI et Power Query Online.

Authentification impossible avec l’API de stockage Google BigQuery

Le connecteur Google BigQuery utilise l'API de stockage Google BigQuery par défaut. Cette fonctionnalité est contrôlée par l’option avancée appelée UseStorageApi. Vous pouvez rencontrer des problèmes avec cette fonctionnalité si vous utilisez des autorisations granulaires. Dans ce scénario, vous pouvez voir le message d’erreur suivant ou ne pas obtenir les données de votre requête :

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

Vous pouvez résoudre ce problème en ajustant correctement les autorisations utilisateur pour l’API de stockage BigQuery. Ces autorisations d’API de stockage sont requises pour accéder correctement aux données avec l’API de stockage BigQuery :

  • bigquery.readsessions.create : crée une nouvelle session de lecture via l’API de stockage BigQuery.
  • bigquery.readsessions.getData : lit des données à partir d’une session de lecture via l’API de stockage BigQuery.
  • bigquery.readsessions.update : met à jour une session de lecture via l’API de stockage BigQuery.

Ces autorisations sont généralement fournies dans le rôle BigQuery.User. Pour plus d’informations, consultez Rôles et autorisations prédéfinis de Google BigQuery.

Si les étapes ci-dessus ne résolvent pas le problème, vous pouvez désactiver l’API de stockage BigQuery.

Impossible d’utiliser les données de type DateTime en mode Direct Query

Il existe un problème connu où le type DateTime n’est pas pris en charge via Direct Query. La sélection d’une colonne avec le type DateTime provoquera une erreur « Requête non valide » ou une erreur visuelle.

Limitations relatives à l’interrogation d’une colonne portant le même nom que le nom de la table

Lors de l’interrogation d’une colonne portant le même nom que le nom de la table, BigQuery interprète la colonne comme une struct qui inclut toutes les colonnes de la table au lieu de la colonne spécifiée. Par exemple, SELECT debug FROM dataset.debug renvoie une struct avec toutes les colonnes de la table de débogage, au lieu de la colonne de débogage spécifiée. Ce comportement n’est généralement pas intuitif et un correctif est en cours d’examen. Il y a trois solutions de contournement disponibles :

  • Solution de contournement 1 : incluez la table dans un wrapper avec une vue qui ne met pas en conflit le nom de colonne : CREATE VIEW dataset.new_view AS SELECT * FROM dataset.debug
  • Solution de contournement 2 : renommez la colonne pour éviter les conflits avec le nom de la table : ALTER TABLE dataset.debug RENAME COLUMN debug to new_debug
  • Solution de contournement 3 : modifiez la requête Sélection pour utiliser table.column pour référencer la colonne de conflit : SELECT debug.debug FROM dataset.debug