COUNTIF |
Compteur si |
| BigQuery |
Syntaxe
|
COUNTIF(expression) [OVER (...)]
|
Paramètres
| Nom |
Description |
| expression |
Ce paramètre permet de spécifier une expression booléenne (qui évalue à TRUE, FALSE, ou NULL). La fonction compte le nombre de fois où cette expression retourne TRUE. Les valeurs FALSE et NULL ne sont pas comptées. |
| OVER (...) |
Ce paramètre facultatif permet de définir une fenêtre d'analyse pour la fonction COUNTIF, la transformant ainsi en une fonction de fenêtre. Cela permet de compter les occurrences de TRUE sur des sous-ensembles de données (partitions) plutôt que sur l'ensemble du jeu de données. |
Description
Cette fonction permet de compter le nombre de valeurs TRUE présente dans l'expression spécifié.
Remarques
- Permet de compter conditionnellement : La fonction COUNTIF est idéale pour compter uniquement les lignes répondant à une condition précise. Elle
ne retient que les cas où l'expression booléenne retourne TRUE, ce qui en fait un outil de filtrage direct intégré dans l'agrégation.
- Ignore automatiquement FALSE et NULL : Les valeurs FALSE ou NULL dans l'expression ne sont jamais comptabilisées. Cela permet de se concentrer uniquement
sur les cas "validés", sans devoir filtrer manuellement les autres cas avec WHERE.
- Simplifie les requêtes conditionnelles : Avec COUNTIF, on n'a pas besoin d'écrire un CASE WHEN ou une sous-requête pour appliquer une condition. La
syntaxe est plus concise et lisible, surtout lorsqu'on veut rapidement connaître le nombre de fois où une condition est vraie dans un ensemble de données.
- Utile pour les statistiques de type "taux" : Cette fonction est souvent utilisée pour calculer des proportions, comme le nombre de commandes livrées à
temps (COUNTIF(delivery_time <= due_date)), ou encore les utilisateurs actifs (COUNTIF(activity_date IS NOT NULL)).
- Peut être combinée à une clause OVER(...) : Avec la clause OVER(...), COUNTIF devient une fonction analytique, permettant de compter les valeurs TRUE dans
une fenêtre de données, comme dans une partition par utilisateur, ou une période glissante.
- Compatible avec les expressions complexes : L'expression utilisée peut inclure des opérateurs logiques, des comparaisons multiples, ou même des appels à
d'autres fonctions. Cela permet d'encoder des conditions métier complexes tout en conservant une logique compacte.
- Retourne un entier de type INT64 : Le résultat de COUNTIF est toujours un entier INT64, même si aucune valeur TRUE n'est trouvée (le résultat sera alors 0).
Ce type de sortie est utile pour des calculs statistiques ou pour comparer plusieurs catégories.
- Alternative utile à SUM sur un booléen : Bien que SUM(expression_booléenne) donne parfois un résultat équivalent à COUNTIF, cette dernière est plus
explicite dans son usage et plus sûre lorsqu'on souhaite ne compter que les valeurs strictement TRUE, car SUM peut mal gérer certains NULL.
Dernière mise à jour : Jeudi, le 18 Juin 2020