LOGICAL_OR |
Ou logique |
| BigQuery |
Syntaxe
Paramètres
| Nom |
Description |
| expression |
Ce paramètre permet de spécifier l'expression booléenne (qui évalue à TRUE, FALSE, ou NULL) sur laquelle l'opération "OU logique" sera effectuée. En général, cette fonction est utilisée comme une fonction d'agrégation qui retourne TRUE si au moins une valeur de l'expression au sein d'un groupe est TRUE, FALSE si toutes les valeurs sont FALSE, et NULL si aucune valeur n'est TRUE mais qu'il y a des NULL. |
Description
Cette fonction permet d'effectuer un «Ou logique» sur l'expression spécifié.
Remarques
- Fonction d'agrégation booléenne : LOGICAL_OR est une fonction d'agrégation qui retourne TRUE si au moins une des lignes du groupe satisfait l'expression
booléenne. Cela permet de vérifier rapidement la présence d'un cas positif dans un ensemble, ce qui est utile pour des alertes, des signaux ou des validations
conditionnelles.
- Retourne TRUE dès qu'une condition est satisfaite : La fonction s'arrête dès qu'une valeur TRUE est rencontrée dans les données du groupe. Elle
n'attend pas d'évaluer toutes les lignes si ce n'est pas nécessaire, ce qui en fait une solution optimisée pour détecter des cas spécifiques dans de grands
ensembles.
- Cas particulier avec des valeurs NULL : Si aucune ligne n'est TRUE mais qu'il y a des NULL, LOGICAL_OR retourne NULL, indiquant que le résultat est
incertain. Ce comportement reflète bien la logique tri-valente de SQL, mais nécessite prudence dans les interprétations et l'affichage de résultats.
- Très utile pour détecter une exception ou un événement : On peut utiliser LOGICAL_OR pour savoir si un événement est arrivé au moins une fois, comme
une transaction rejetée, une erreur de saisie, ou un statut critique. Cela permet d'ajouter des indicateurs d'alerte dans des tableaux de bord ou des rapports.
- Complémentaire à LOGICAL_AND : LOGICAL_OR fonctionne en opposition logique avec LOGICAL_AND. Là où AND impose que toutes les lignes soient TRUE, OR se
contente d'une seule. Ensemble, elles permettent de formuler des règles de conformité ou d'exception dans des contextes agrégés.
- Parfaitement intégrée avec GROUP BY : Utilisée avec GROUP BY, cette fonction permet de résumer une condition booléenne par groupe. Par exemple, pour
chaque utilisateur, on peut savoir s'il a au moins une ligne correspondant à un comportement ciblé (comme un clic sur une campagne spécifique).
- Expression strictement booléenne requise : Le paramètre fourni à LOGICAL_OR doit être une expression qui renvoie un booléen, comme une comparaison ou
une condition logique (status = 'validé', montant > 100,...). Sinon, BigQuery générera une erreur de type à l'exécution.
- Peut masquer des incohérences en cas de données bruitées : Bien que puissante, cette fonction peut donner un résultat positif même si la majorité des
cas ne respectent pas la condition, à cause d'une seule ligne TRUE. Il est donc judicieux de la combiner avec des indicateurs de proportion (COUNTIF,
RATIO_TO_REPORT,...) pour mieux cerner les tendances.
Dernière mise à jour : Jeudi, le 18 Juin 2020