Date de sortie
10/09/2024
Auteur
U
Untitled“Sur notre site web, l’utilisateur a la possibilité de passer une commande et d’y ajouter encore des articles pendant 2h. La difficulté niveau data c’est que cela génère plusieurs lignes dans les tables pour la même commande avec à chaque fois un tableau des différents articles ajoutés. Je fais comment pour regrouper ces deux lignes ?”
Pas évident ce cas. Néanmoins, BigQuery nous propose une fonction toute faite pour regrouper deux tableaux ou ARRAYs : ARRAY_CONCAT_AGG().
Allons vite dans le vif du sujet et reprenons la problématique initiale avec une visualisation des données :
Le résultat :
order_id | products |
1 | product1 |
product2 | |
1 | product3 |
2 | product4 |
product5 | |
2 | product6 |
3 | product7 |
On voudrait donc regrouper les produits d’une même commande.
Voici l’approche :
Le résultat :
order_id | products |
1 | product1 |
product2 | |
product3 | |
2 | product4 |
product5 | |
product6 | |
3 | product7 |
A noter, que pour faire l’agrégation, il faut classiquement penser à utiliser le GROUP BY sur la dimension à agréger.
Merci de votre lecture !