IS_INF |
Est-ce infini |
| BigQuery |
Syntaxe
Paramètres
| Nom |
Description |
| X |
Ce paramètre permet d'indiquer l'expression à vérifier. |
Retour
| Valeur |
Description |
| FALSE |
Cette valeur indique que l'expression n'est pas un nombre infini. |
| TRUE |
Cette valeur indique que l'expression est un nombre infini positif ou négatif. |
| NULL |
Cette valeur indique que l'expression est une valeur nulle. |
Description
Cette fonction permet de vérifier si la valeur est une valeur infini positive ou négative.
Remarques
- La fonction IS_INF est un outil diagnostique crucial en BigQuery, permettant de déterminer si une expression numérique représente l'infini positif ou négatif.
Cette capacité est essentielle dans les calculs impliquant des divisions par zéro (par exemple, 5 / 0 qui donne Inf) ou des opérations qui dépassent les limites de
représentation des nombres à virgule flottante, où les résultats peuvent tendre vers l'infini.
- L'utilité principale de IS_INF réside dans la validation et le nettoyage des données. En identifiant explicitement les valeurs infinies, les analystes peuvent
prévenir des erreurs en cascade dans les agrégations (comme les sommes ou les moyennes qui deviendraient elles-mêmes infinies) ou les comparaisons qui s'appuieraient
sur ces valeurs extrêmes, assurant ainsi la fiabilité des résultats.
- Le paramètre unique X de la fonction est une expression numérique. Cela la rend très flexible, car X peut être une colonne, le résultat d'une formule complexe, ou
une constante. L'objectif est toujours de vérifier si la valeur résultante de cette expression est considérée comme infinie selon la norme IEEE 754.
- La fonction retourne TRUE si l'expression X est un infini, qu'il soit positif ou négatif. Cette simplicité dans le retour permet une vérification rapide sans
avoir besoin de distinguer la direction de l'infini, ce qui est souvent suffisant pour la plupart des cas de gestion des erreurs où l'on souhaite simplement exclure
ou traiter ces valeurs non finies.
- Il est important de noter que IS_INF retourne FALSE si l'expression X n'est pas un nombre infini. Cela inclut les nombres finis (comme 0, 10, -5.5), mais aussi
les valeurs NaN (Not a Number). Ainsi, pour une gestion complète des valeurs spéciales, il est souvent nécessaire de combiner IS_INF avec d'autres fonctions comme
IS_NAN.
- La fonction gère également le cas des valeurs NULL. Si le paramètre X est NULL, la fonction IS_INF retourne NULL. Ce comportement est cohérent avec la logique de
BigQuery concernant la propagation des NULL, signifiant que la fonction ne peut pas déterminer si une valeur inconnue est infinie.
- Dans un environnement de base de données comme BigQuery, où des calculs peuvent s'exécuter sur des millions, voire des milliards de lignes, la détection efficace
des valeurs infinies avec IS_INF est cruciale pour le contrôle qualité des données. Cela permet de filtrer ou de corriger les entrées problématiques avant qu'elles
n'affectent gravement les rapports ou les modèles analytiques.
- Bien que la description indique que la fonction vérifie si la valeur est un "infini positif ou négatif", elle ne distingue pas explicitement entre les deux types
d'infini dans son retour. Pour des scénarios nécessitant de différencier +Inf de -Inf, il faudrait combiner IS_INF(X) avec des comparaisons directes, par exemple
X > 0 pour l'infini positif ou X < 0 pour l'infini négatif, après avoir confirmé que la valeur est bien infinie.
Dernière mise à jour : Vendredi, le 8 novembre 2019