BIT_OR |
Ou binaire |
| BigQuery |
Syntaxe
Paramètres
| Nom |
Description |
| expression |
Ce paramètre permet de spécifier l'expression numérique sur laquelle l'opération "OU binaire" doit être effectuée. Les types de données supportés sont INT64 et BIGINT. |
Description
Cette fonction permet d'effectuer un «Ou binaire» sur l'expression spécifié.
Remarques
- Fonction d'agrégation binaire : BIT_OR(expression) effectue une opération de OU binaire cumulatif sur l'ensemble des valeurs d'une expression. Cela signifie
que le résultat contient un bit à 1 si ce bit est présent dans au moins une des valeurs fournies, ce qui en fait une forme d'union binaire.
- Utile pour regrouper des indicateurs ou des drapeaux : La fonction est souvent utilisée pour agréger des drapeaux binaires, c'est-à-dire des données codées
en bits représentant des options ou des états. Grâce à BIT_OR, on peut identifier toutes les options activées dans un ensemble sans avoir à inspecter chaque ligne
individuellement.
- Ne fonctionne que sur des entiers : BIT_OR est uniquement compatible avec les types de données entiers comme INT64 et BIGINT. Une tentative d'utilisation
sur des types FLOAT ou STRING produira une erreur. Il est donc essentiel de s'assurer que les données sont bien typées avant d'appeler la fonction.
- Les bits à 1 s'accumulent dans le résultat : Chaque bit du résultat final est à 1 s'il apparaît au moins une fois à 1 dans toutes les valeurs analysées. Cela
produit un effet cumulatif, à l'inverse de BIT_AND, qui impose que le bit soit présent dans toutes les valeurs pour être conservé.
- Intéressant avec GROUP BY : En combinaison avec GROUP BY, BIT_OR permet d'analyser les options activées par groupe (exemple par utilisateur, région, produit,...).
C'est très utile lorsqu'on cherche à obtenir la configuration maximale ou les fonctionnalités activées dans une population donnée.
- Comportement face aux valeurs NULL : Si l'un des éléments de la colonne est NULL, il est ignoré par BIT_OR, à moins que toutes les valeurs soient NULL, auquel
cas le résultat sera NULL. Il est donc important de traiter les valeurs manquantes si l'on veut un résultat complet et fiable.
- Complémentaire de BIT_AND et BIT_XOR : La fonction BIT_OR fait partie des opérations bit à bit fondamentales dans BigQuery, avec BIT_AND et BIT_XOR. Elle
permet de créer des combinaisons larges de bits tandis que les autres fonctions sont utiles pour filtrer ou différencier les bits actifs.
- Interprétation du résultat en binaire : Le résultat retourné est un entier, mais pour bien le comprendre, il faut le lire en binaire. Par exemple, si
BIT_OR retourne 13, cela signifie que les bits 1101 sont activés, soit les positions 0, 2 et 3. Cette lecture binaire est essentielle pour interpréter correctement la
signification des bits dans un contexte métier.
Dernière mise à jour : Jeudi, le 18 Juin 2020