APPROX_TOP_SUM |
Sommaire du haut approximatif |
| BigQuery |
Syntaxe
|
APPROX_TOP_SUM(expression, weight, number)
|
Paramètres
| Nom |
Description |
| expression |
Ce paramètre permet de spécifier l'expression pour laquelle on souhaite obtenir la liste des premiers éléments approximatifs basés sur une somme. |
| weight |
Ce paramètre permet de définir la valeur de pondération utilisée pour calculer la somme de chaque élément. |
| number |
Ce paramètre permet de spécifier le nombre d'éléments du "top" que l'on souhaite récupérer. |
Description
Cette fonction permet de demander la liste des premiers éléments approximatifs de l'expression spécifié en se basant sur une somme.
Remarques
- La fonction APPROX_TOP_SUM permet d'identifier les éléments associés aux plus grandes sommes pondérées, de manière approximative : Elle est utile
pour déterminer les entrées les plus "importantes" selon un critère numérique (exemple : chiffre d'affaires, temps d'utilisation), sans passer par un calcul exact de
SUM(...) GROUP BY.
- Le paramètre weight permet de spécifier la mesure qui doit être additionnée pour chaque valeur unique de expression : Ce mécanisme de pondération
est essentiel : on ne cherche pas les valeurs les plus fréquentes (comme avec APPROX_TOP_COUNT), mais celles générant la somme la plus élevée.
- Le résultat est retourné sous forme d'un tableau (ARRAY<STRUCT<value, sum>>), contenant les éléments et leur somme estimée : Chaque structure
indique une valeur de l'expression et une estimation de la somme des poids associés. Ce résultat est manipulable avec UNNEST() pour l'exploration ou la visualisation.
- L'algorithme utilisé repose sur des méthodes probabilistes, similaires aux algorithmes "heavy hitters" avec pondération : Cela permet d'obtenir un bon
aperçu des éléments dominants dans un ensemble de données massif, sans effectuer un regroupement ou un tri coûteux.
- Le paramètre number représente le nombre maximal d'éléments que l'on souhaite récupérer : La fonction peut retourner moins de résultats si les
données ne contiennent pas assez d'éléments dominants ou si la pondération ne permet pas de différencier nettement les valeurs.
- APPROX_TOP_SUM est particulièrement adaptée pour l'analyse de tendances dans des jeux de données volumineux où les performances priment sur la précision :
Elle permet, par exemple, de détecter les catégories générant le plus de revenus, les clients les plus dépensiers ou les événements ayant accumulé le plus d'impact.
- Comme son nom l'indique, cette fonction retourne une approximation de la somme, ce qui signifie que les résultats peuvent varier légèrement à chaque exécution :
Elle ne doit donc pas être utilisée dans des contextes nécessitant des valeurs exactes, comme la comptabilité, les audits ou la vérification de seuils réglementaires.
- La combinaison de expression et weight permet une grande flexibilité, notamment dans les cas où un élément est associé à plusieurs valeurs pondérées : Par
exemple, on peut calculer le top des utilisateurs selon le temps total passé dans une application, ou les produits selon la valeur des ventes totales, sans calculer de
GROUP BY.
Dernière mise à jour : Jeudi, le 18 Juin 2020