Comment utiliser unnest dans BigQuery

UNNEST dans BigQuery est une fonction très utile qui vous permet d'aplatir les structures de données imbriquées et répétées pour faciliter l'analyse. Lorsqu'il s'agit de données hiérarchiques complexes telles que des tableaux, UNNEST vient à la rescousse.

Contrairement aux données tabulaires traditionnelles, ces tableaux contiennent des données imbriquées et répétées, ce qui peut rendre l'agrégation et les jointures plus difficiles. Dans ce cas, UNNEST vous permet de développer les données imbriquées ou répétées dans des lignes distinctes afin d'analyser plus facilement les éléments non imbriqués.

Dans cet article, nous allons explorer la fonction UNNEST dans BigQuery pour voir comment elle peut simplifier l'analyse des données imbriquées. 

Comprendre les structures de données imbriquées et répétées dans BigQuery

Lors de l'analyse d'ensembles de données volumineux et complexes dans BigQuery, il est fréquent de rencontrer des champs imbriqués et répétés. Ces structures de données imbriquées vous permettent de stocker plusieurs valeurs dans un seul champ dans BigQuery, ce qui facilite la manipulation de plusieurs valeurs à la fois.

Si vous regardez le tableau ci-dessous, vous remarquerez que la colonne des “paramètres de l'événement” contient des sous-colonnes avec des valeurs multiples, qui font toutes partie de la même ligne. 

Unnest BigQuery 1

Si vous examinez le schéma de la table, vous verrez que le type de données de cette colonne n'est pas un entier, une chaîne, un flottant ou un booléen. Elle est plutôt définie comme un enregistrement puisqu'elle contient des sous-colonnes.

Unnest BigQuery 2

Comme vous pouvez le voir, le champ “event_params” comporte des sous-colonnes (“key” et “value”) avec plusieurs valeurs à l'intérieur. Remarquez que BigQuery prend en charge les données imbriquées avec des sous-colonnes à l'intérieur de sous-colonnes. Dans cette table, “value” contient plusieurs sous-colonnes.

Unnest BigQuery 3

Comment fonctionne UNNEST dans BigQuery ?

La fonction UNNEST de BigQuery est utilisée pour aplatir les structures de données imbriquées ou répétées en lignes distinctes. Elle prend en entrée une colonne avec un type de données imbriquées, comme un ARRAY, et développe les éléments imbriqués ou répétés en plusieurs lignes. En conséquence, il aplatit les données dans une structure tabulaire.

Une fois que UNNEST a transformé les données imbriquées ou répétées en un tableau plat, vous pouvez interroger directement les colonnes et analyser leurs éléments individuels.

Comment utiliser UNNEST dans BigQuery ?

Pour aplatir les structures de données imbriquées dans BigQuery, nous utiliserons la fonction UNNEST. Voici la syntaxe de la fonction UNNEST :

SELECT colonne1, colonne2, ...

FROM nom_table, UNNEST(colonne) AS alias 

Nous utiliserons la fonction UNNEST pour diviser la colonne “event_params” en lignes distinctes.

SELECT ga.event_name, params.key, params.value

FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_20210131` AS ga,

UNNEST(event_params) AS params

LIMITE 1000 ;

Examinons la requête de plus près.

SELECT ga.event_name, params.key, params.value

Tout d'abord, j'ai spécifié les colonnes que BigQuery doit retourner : event_name, params.key et params.value. “Params” est l'alias que j'attribuerai lorsque j'écrirai la fonction UNNEST.

FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_20210131` AS ga,

Voici la table que je souhaite interroger. J'ai utilisé une instruction AS pour attribuer un alias à la table : “ga”.

UNNEST(event_params) AS params

La fonction UNNEST développe les données imbriquées en lignes distinctes.

LIMITE 1000 ;

Cette clause limite le nombre de lignes renvoyées à 1000.

Unnest BigQuery 4

BigQuery a développé les données en lignes distinctes, aplatissant ainsi les données imbriquées.

C'est ainsi que vous pouvez désennuyer des données dans BigQuery. Si vous souhaitez apprendre à résumer et à analyser des données dans BigQuery, consultez cet article sur comment utiliser les fonctions agrégées.

Gérer facilement de grands ensembles de données

Utilisez Sheetgo pour connecter BigQuery à Google Sheets et traiter efficacement des données volumineuses.

Vous pouvez aussi aimer...

Au-delà de la RPA : Pourquoi l'avenir de l'automatisation des feuilles de calcul est axé sur les données

Vous avez cherché "RPA" pour éliminer les tâches répétitives. Mais que se passe-t-il si le problème n'est pas la tâche, mais les données ? Le "réflexe RPA" Chaque équipe...

Comment connecter votre lac aux utilisateurs professionnels - avec une base de données sans code

Vous avez investi dans un Lakehouse moderne. Pourquoi votre équipe financière vous demande-t-elle encore des exportations CSV ? Le paradoxe des données modernes Vous avez construit un...
science des données

Gestion des stocks de bijoux : comment choisir le bon système ?

La gestion des stocks de bijoux est plus complexe que dans d'autres secteurs. Avec des articles de grande valeur, des matières premières précieuses et des...