Excel DAX - Opérateurs

DAX est un langage de formule comprenant des fonctions, des opérateurs et des valeurs qui peuvent être utilisés dans une formule ou une expression, pour calculer et renvoyer une ou plusieurs valeurs.

Vous pouvez utiliser DAX operatorspour comparer des valeurs, effectuer des calculs arithmétiques et concaténer des chaînes. Dans ce chapitre, vous découvrirez les opérateurs DAX et comment les utiliser.

Types d'opérateurs DAX

DAX prend en charge les types d'opérateurs suivants -

Ordre de priorité des opérateurs DAX

Vous pouvez avoir une formule DAX avec de nombreux opérateurs DAX combinant plusieurs valeurs ou expressions. Dans un tel cas, le résultat final dépendra de l'ordre dans lequel les opérations sont effectuées. DAX vous fournit l'ordre de priorité des opérateurs par défaut ainsi que des moyens de remplacer l'ordre de priorité par défaut.

La priorité des opérateurs par défaut DAX est répertoriée dans le tableau suivant.

Ordre de préséance Les opérateurs) Opération
1 ^ Exponentiation
2 - Signe
3 * et / Multiplication et division
4 ! NE PAS
5 + et - Addition et soustraction
6 & Enchaînement
sept =, <,>, <=,> = et <> Égal à, inférieur à, supérieur à, inférieur ou égal à, supérieur ou égal à et différent de

Syntaxe d'expression DAX

Vous devez d'abord comprendre la syntaxe de l'expression DAX et la façon dont l'évaluation de l'expression est effectuée avec les opérandes et les opérateurs.

  • Toutes les expressions commencent toujours par un signe égal (=). Le signe égal indique que les caractères suivants constituent une expression.

  • À droite du signe égal, vous aurez les opérandes connectés par les opérateurs DAX. Par exemple, = 5 + 4> 5.

    = 5 * 6 - 3.

  • Les expressions sont toujours lues de gauche à droite et les calculs sont effectués dans cette séquence, en fonction de la priorité des opérateurs DAX donnée dans la section précédente.

  • Si les opérateurs DAX ont une valeur de priorité égale, ils sont évalués de gauche à droite. Par exemple, = 5 * 6/10. Les deux * et / ont le même ordre précédent. Par conséquent, l'expression est évaluée comme 30/10 = 3.

  • Si les opérateurs DAX de l'expression ont des valeurs de priorité différentes, ils sont évalués dans l'ordre de priorité de gauche à droite.

    • = 5 + 4> 7. La priorité par défaut est + premier et> suivant. Par conséquent, l'expression est calculée de gauche à droite. - 5 + 4 est d'abord calculé, ce qui donne 9, puis 9> 5 est évalué, ce qui donne VRAI.

    • = 5 * 6 - 3. La priorité par défaut est * premier et - suivant. Par conséquent, l'expression est calculée de gauche à droite. - 5 * 6 est d'abord calculé, ce qui donne 30, puis 30 - 3 est calculé, ce qui donne 27.

    • = 2 * 5 - 6 * 3. La priorité par défaut est * d'abord, * suivant et ensuite -. Par conséquent, l'expression est évaluée à 10 - 18, puis à -8. Notez que ce n'est pas 10 - 6, ce qui donne 4 puis 4 * 3, soit 12.

Utilisation de parenthèses pour contrôler l'ordre de calcul DAX

Vous pouvez modifier l'ordre de priorité des opérateurs DAX par défaut en utilisant des parenthèses, en regroupant les opérandes et les opérateurs pour contrôler la séquence de calcul.

Par exemple, = 5 * 6 - 3 est évalué à 27 avec l'ordre de priorité des opérateurs par défaut DAX. Si vous utilisez des parenthèses pour regrouper les opérandes et les opérateurs sous la forme = 5 * (6 - 3), alors 6 - 3 est d'abord calculé, ce qui donne 3, puis 5 * 3 est calculé, ce qui donne 15.

= 2 * 5 - 6 * 3 est évalué à -8 avec l'ordre de priorité des opérateurs par défaut DAX. Si vous utilisez des parenthèses pour regrouper les opérandes et les opérateurs sous la forme = 2 * (5 - 6) * 3, alors 5 - 6 est d'abord calculé, ce qui donne -1, puis 2 * (-1) * 3 est calculé, ce qui donne -6 .

Comme vous pouvez le voir, avec les mêmes opérandes et opérateurs, différents résultats sont possibles selon la façon dont vous les groupez. Par conséquent, lorsque vous utilisez les opérateurs DAX dans les formules DAX, vous devez faire attention à la façon dont la séquence de calcul doit être.

Différences entre Excel et DAX

Bien que DAX présente des similitudes avec les formules Excel, il existe certaines différences significatives entre les deux.

  • DAX est plus puissant qu'Excel en raison de son moteur de calcul résidant en mémoire sous-jacent.

  • DAX prend en charge plus de types de données qu'Excel.

  • DAX fournit des fonctionnalités avancées supplémentaires d'une base de données relationnelle, un modèle de données, y compris une prise en charge plus riche des types de date et d'heure.

Dans certains cas, les résultats des calculs ou le comportement des fonctions dans DAX peuvent ne pas être les mêmes que dans Excel. Cela est dû aux différences dans ce qui suit -

  • Diffusion de types de données
  • Types de données

Différence de conversion de type de données

Dans DAX, lorsque vous avez un opérateur expression = valeur1, valeur2, les deux opérandes valeur1 et valeur2 doivent être du même type de données. Si les types de données sont différents, DAX les convertit d'abord en un type de données commun implicitement. Reportez-vous au chapitre - Syntaxe DAX pour plus de détails.

Par exemple, vous devez comparer deux opérandes de types de données différents, par exemple un nombre résultant d'une formule, telle que = [Montant] * 0,08 et un entier. Le premier nombre peut être un nombre décimal avec plusieurs décimales, tandis que le deuxième nombre est un entier. Ensuite, DAX le gère comme suit -

  • Tout d'abord, DAX convertira les deux opérandes en nombres réels en utilisant le plus grand format numérique pouvant stocker les deux types de nombres.

  • Ensuite, DAX comparera les deux nombres réels.

En revanche, Excel essaie de comparer les valeurs de différents types de données sans les forcer d'abord à un type de données commun. Pour cette raison, vous pouvez trouver des résultats différents dans DAX et dans Excel pour la même expression de comparaison.

Différence de types de données

L'ordre de priorité des opérateurs dans DAX et Excel est le même. Cependant, l'opérateur pour cent (%) et les plages de données pris en charge par Excel ne sont pas pris en charge par DAX. De plus, DAX prend en charge la table en tant que type de données, ce qui n'est pas le cas dans Excel.

En outre, dans les formules Excel, vous pouvez faire référence à une seule cellule, à un tableau ou à une plage de cellules. Dans les formules DAX, vous ne pouvez faire référence à aucun de ces éléments. Les références de formule DAX aux données doivent être par tables, colonnes, champs calculés et colonnes calculées.

Si vous copiez des formules à partir d'Excel et les collez dans DAX, assurez-vous que la formule DAX est correcte car la syntaxe DAX est différente de la syntaxe de formule Excel. De plus, même si une fonction porte le même nom dans DAX et Excel, ses paramètres peuvent être différents et le résultat de la fonction peut également être différent.

Vous en apprendrez plus sur tout cela dans les chapitres suivants.