SAFE_DIVIDE |
Division sécuritaire |
| BigQuery |
Syntaxe
Paramètres
| Nom |
Description |
| X |
Ce paramètre permet de spécifier le dividende, c'est-à-dire le nombre qui sera divisé. |
| Y |
Ce paramètre permet de spécifier le diviseur, c'est-à-dire le nombre par lequel le dividende sera divisé. Cette fonction est "sûre" car elle retourne NULL si le diviseur Y est zéro, au lieu de provoquer une erreur de division par zéro. |
Description
Cette fonction permet de diviser une valeur par une autre valeur et de retourner la valeur NULL si une exception se produit.
Remarques
- Prévention des erreurs de division par zéro : La principale utilité de SAFE_DIVIDE est d'éviter l'erreur critique qu'entraîne une division par zéro.
Plutôt que de générer une erreur qui interrompt l'exécution d'une requête, elle retourne simplement NULL, ce qui permet au traitement de continuer en toute sécurité.
- Utile dans les analyses statistiques ou financières : Lors de calculs de ratios, taux ou moyennes, il est courant d'avoir des dénominateurs pouvant être
zéro. Cette fonction évite d'avoir à écrire manuellement une clause conditionnelle (IF(Y = 0, NULL, X / Y)), simplifiant ainsi le code SQL.
- Compatible avec tous types numériques : SAFE_DIVIDE peut être utilisé aussi bien avec des entiers qu'avec des nombres décimaux (FLOAT64, INT64), ce qui la
rend flexible pour différents cas d'usage mathématique ou analytique.
- Facilite l'écriture de requêtes robustes et propres : En encapsulant la logique de gestion d'erreur, elle évite la duplication de code et améliore la
lisibilité des requêtes. Elle remplace efficacement les CASE WHEN ou les IF conditionnels utilisés pour éviter les divisions dangereuses.
- Permet une meilleure gestion des données nulles : Si le dénominateur est NULL, le résultat sera également NULL, ce qui est cohérent avec le comportement
SQL standard. La fonction agit donc comme un garde-fou à la fois contre les divisions invalides et les données manquantes.
- Recommandée dans les dashboards et rapports BI : Lorsqu'on affiche des données dans des outils de visualisation (comme Data Studio, Looker,...),
une erreur de division pourrait rendre un graphique incomplet. SAFE_DIVIDE évite cela en fournissant un résultat NULL que l'interface peut afficher comme vide ou
"non disponible".
- Favorise les performances lors de l'analyse de grands volumes : En évitant les erreurs fatales, elle permet aux requêtes de s'exécuter même en présence
de données problématiques. Cela est essentiel pour le traitement de grands ensembles où des diviseurs zéro peuvent apparaître ponctuellement.
- Peut être utilisée conjointement avec COALESCE : Pour personnaliser la valeur de remplacement en cas de division impossible, on peut associer SAFE_DIVIDE
avec COALESCE. Par exemple, COALESCE(SAFE_DIVIDE(X, Y), 0) permet de remplacer les NULL par zéro, ce qui est souvent pratique dans les rapports.
Dernière mise à jour : Jeudi, le 18 Juin 2020