CONVERT |
Convertir |
| DAX (Data Analysis Expressions) |
Syntaxe
|
CONVERT(Expression, Datatype)
|
Paramètres
| Nom |
Description |
| Expression |
Ce paramètre permet de spécifier l'expression ou la valeur à convertir. Il peut s'agir d'une constante, d'une colonne ou d'une mesure. |
| Datatype |
Ce paramètre permet d'indiquer le type de données cible vers lequel l'expression doit être convertie (par exemple : INTEGER, STRING, DOUBLE,...). |
Description
Cette fonction permet de convertir une expression d'un type de données à un autre.
Remarques
- Conversion explicite des types de données : La fonction CONVERT permet de transformer explicitement une valeur ou expression d'un type de données vers un
autre. Par exemple, une colonne contenant des nombres sous forme de texte peut être convertie en INTEGER pour permettre des calculs mathématiques. Cette conversion est
essentielle dans les modèles où les données sources peuvent être hétérogènes ou mal typées, notamment lors de l'import depuis des fichiers CSV ou des bases externes. Elle
garantit que les expressions DAX fonctionnent correctement sans erreurs de type.
- Polyvalence dans le choix du type cible : Le paramètre Datatype accepte différents types comme INTEGER, STRING, DOUBLE, CURRENCY,... Cela permet
d'adapter les données à différents contextes : par exemple, convertir un entier en texte pour générer un identifiant unique ou transformer un texte en nombre pour effectuer
une somme. La fonction offre ainsi une grande flexibilité pour manipuler les données selon les besoins analytiques, tout en assurant une cohérence dans les mesures et
colonnes calculées.
- Utilisation dans les mesures et colonnes calculées : CONVERT peut être utilisé à la fois dans des mesures dynamiques et dans des colonnes calculées. Dans
une colonne calculée, il permet de transformer les valeurs au moment de la création pour normaliser les données. Dans une mesure, il peut convertir des résultats
intermédiaires pour les afficher dans un format spécifique ou les comparer à d'autres valeurs. Cette dualité renforce sa puissance dans les scénarios complexes de
modélisation de données.
- Gestion des données non conformes : Si l'expression fournie ne peut pas être convertie dans le type cible (par exemple un texte non numérique vers INTEGER),
la fonction retourne une erreur. Il est donc souvent recommandé de combiner CONVERT avec des fonctions de validation comme ISNUMBER ou IFERROR. Cette approche préventive
permet de sécuriser les calculs et d'éviter des interruptions dans les rapports Power BI, surtout lorsque les données proviennent de sources externes peu fiables.
- Conversion pour l'affichage et le formatage : La fonction CONVERT est particulièrement utile pour préparer des données pour l'affichage. Par exemple, convertir
un nombre en texte peut permettre de concaténer des valeurs avec des unités ou des préfixes dans des labels ou titres de graphiques. Elle est également employée pour forcer
un type compatible avec d'autres fonctions DAX qui nécessitent des formats spécifiques, garantissant que les résultats restent cohérents dans l'ensemble du modèle.
- Interactions avec d'autres fonctions DAX : CONVERT fonctionne bien en combinaison avec d'autres fonctions DAX, comme FORMAT,
IF, SWITCH, ou CALCULATE. Par exemple, une mesure peut calculer un ratio, puis CONVERT ce résultat
en STRING pour générer un label personnalisé. Cette capacité à s'intégrer dans des expressions plus complexes permet de créer des mesures flexibles et adaptées aux besoins
analytiques avancés.
- Performance et utilisation prudente : Bien que CONVERT soit puissante, elle peut impacter légèrement la performance si elle est appliquée sur de très grandes
tables ou dans des mesures calculées sur chaque ligne. Pour les colonnes volumineuses, il est préférable de normaliser les types lors de l'import ou de la transformation
des données dans Power Query. Cela limite les recalculs DAX coûteux et assure une navigation fluide dans les rapports interactifs.
- Limitation sur certaines conversions : Certaines conversions ne sont pas possibles ou sont implicites. Par exemple, convertir un texte non numérique vers
INTEGER génère une erreur, ou certains formats complexes de date/heure peuvent nécessiter des transformations supplémentaires avant conversion. Il est donc important de
connaître la structure et la nature des données avant d'utiliser CONVERT, afin d'éviter des résultats inattendus et d'assurer l'intégrité des calculs dans le modèle.
Dernière mise à jour : Vendredi, le 30 Mai 2025