Excel DAX - Types de données

Table est un nouveau type de données dans le modèle de données.

  • Vous pouvez utiliser une table contenant plusieurs colonnes et plusieurs lignes de données comme argument d'une fonction DAX.

  • Certaines fonctions DAX renvoient des tables, qui sont stockées en mémoire et peuvent être utilisées comme arguments pour d'autres fonctions DAX.

Datetime est un autre nouveau type de données dans le modèle de données utilisé pour les valeurs de date et d'heure. Les fonctions DAX qui nécessitent la date et / ou l'heure comme arguments nécessitent le type de données datetime.

Résumé des types de données DAX

Voici les types de données pris en charge par DAX -

Sr.Non Type de données et description
1

A 64 bit (eight-bytes) integer value

Nombres sans décimales.

Les nombres entiers peuvent être des nombres positifs ou négatifs, mais doivent être des nombres entiers compris entre 9 223 372 036 854 775 808 (-2 ^ 63) et 9 223 372 036 854 775 807 (2 ^ 63-1).

2

A 64 bit (eight-bytes) real number

Les nombres réels sont des nombres qui peuvent avoir des décimales. Les nombres réels couvrent les valeurs suivantes -

  • Valeurs négatives de -1,79E +308 à 2,23E -308

  • Zero

  • Valeurs positives de 2,23E -308 à 1,79E + 308

Cependant, le nombre de chiffres significatifs est limité à 15 chiffres décimaux.

3

Boolean

  • True
  • False
4

String

Une chaîne de données de caractères Unicode.

Il peut s'agir de chaînes, de nombres ou de dates représentés dans un format texte.

La longueur maximale de la chaîne est de 268 435 456 caractères Unicode (256 méga caractères) ou 536 870 912 octets.

5

datetime

Dates et heures dans une représentation date-heure acceptée.

Les dates valides sont toutes les dates postérieures au 1er janvier 1900.

6

Currency

Le type de données monétaire autorise des valeurs comprises entre 922 337 203 685 477,5808 et 922 337 203 685 477,5807 avec quatre chiffres décimaux de précision fixe.

sept

Blank

Un vide est un type de données dans DAX qui représente et remplace les valeurs NULL SQL. Vous pouvez créer un blanc à l'aide de la fonction BLANK et tester les blancs à l'aide de la fonction logique ISBLANK.

8

Table

Représente une table dans le modèle de données.

Note- Le modèle de données ne prend pas en charge l'utilisation du type de données variante utilisé dans Excel. Par conséquent, lorsque vous chargez ou importez des données, assurez-vous que les données de chaque colonne d'une table sont d'un type de données cohérent.

Les fonctions DAX fonctionnent avec les types de données suivants -

  • Valeurs scalaires, y compris les chaînes.
  • Nombres, entiers et réels.
  • Dates et heures.

Les fonctions DAX renvoient une erreur en cas d'incompatibilité de type de données. Assurez-vous que le type de données de chaque colonne d'une table est tel que requis. Sinon, vous pouvez définir explicitement le type de données à partir du ruban dans la fenêtre Power Pivot.

Vous pouvez en savoir plus sur les types de données requis pour chaque fonction DAX dans le didacticiel - Fonctions DAX de cette bibliothèque de didacticiels.

Conversion de type de données implicite dans les formules DAX

Vous n'avez pas besoin de convertir, de convertir ou de spécifier le type de données d'une colonne ou d'une valeur que vous utilisez dans une formule DAX. Lorsque vous utilisez des données dans une formule DAX, DAX identifie automatiquement les types de données dans les colonnes référencées et des valeurs que vous saisissez et effectue des conversions implicites si nécessaire pour terminer l'opération spécifiée.

Cependant, il existe certaines limitations sur les valeurs qui peuvent être converties avec succès. Si une valeur ou une colonne a un type de données incompatible avec l'opération en cours, DAX renvoie une erreur.

Example of implicit data conversion in DAX- Supposons que vous ayez une formule DAX dans laquelle vous ajoutez un nombre à une date. DAX l'interprète dans le contexte de la fonction utilisée. Les deux arguments sont convertis en un type de données commun et le résultat est renvoyé dans le type de données prévu.

Le type de conversion qui est effectué est déterminé par l'opérateur, qui jette les valeurs dont il a besoin avant d'effectuer l'opération demandée. Dans les sections suivantes, vous pouvez trouver les tables de conversions de données implicites pour les opérateurs suivants -

  • Ajout (+)
  • Soustraction (-)
  • Multiplication (*)
  • Division (/)
  • Opérateurs de comparaison

Chacune des tables répertorie les opérateurs et indique la conversion qui est effectuée sur chaque type de données dans la colonne lorsqu'il est associé au type de données dans la ligne d'intersection.

Table de conversion de données implicite pour addition (+)

Opérateur (+) ENTIER DEVISE RÉEL DATETIME
INTEGER ENTIER DEVISE RÉEL DATETIME
CURRENCY DEVISE DEVISE RÉEL DATETIME
REAL RÉEL RÉEL RÉEL DATETIME
DATETIME DATETIME DATETIME DATETIME DATETIME

Par exemple, si A est de type de données Currency et B est un type de données Real, alors lors du calcul de A + B, DAX convertit A en Real et l'ajoute à B. Le résultat sera un type de données Real.

Table de conversion de données implicite pour la soustraction (-)

L'en-tête de ligne est le minuend (côté gauche) et l'en-tête de colonne est le subtrahend (côté droit).

Opérateur (-) ENTIER DEVISE RÉEL DATETIME
INTEGER ENTIER DEVISE RÉEL RÉEL
CURRENCY DEVISE DEVISE RÉEL RÉEL
REAL RÉEL RÉEL RÉEL RÉEL
DATETIME DATETIME DATETIME DATETIME DATETIME

Par exemple, si A est de type de données Integer et B est de type de données Real, alors lors du calcul de AB, DAX convertit A en Real et soustrait B de A. Le résultat sera un type de données Real.

Note - Le modèle de données prend également en charge l'opérateur unaire, - (négatif), mais cet opérateur ne modifie pas le type de données de l'opérande.

Table de conversion de données implicite pour la multiplication (*)

Opérateur (*) ENTIER DEVISE RÉEL DATETIME
INTEGER ENTIER DEVISE RÉEL ENTIER
CURRENCY DEVISE RÉEL DEVISE DEVISE
REAL RÉEL DEVISE RÉEL RÉEL

Par exemple, si A est de type de données Réel et B est de type de données Devise, puis pour calculer A * B, DAX convertit A en type de données Devise et multiplie A par B. Le résultat sera un type de données Devise.

Table de conversion implicite des données pour la division (/)

Opérateur (/) ENTIER DEVISE RÉEL DATETIME
INTEGER RÉEL DEVISE RÉEL RÉEL
CURRENCY RÉEL DEVISE RÉEL RÉEL
REAL RÉEL RÉEL RÉEL RÉEL
DATETIME RÉEL RÉEL RÉEL RÉEL

Par exemple, si A est le type de données Devise et B est le type de données Réel, alors lors du calcul de A / B, DAX convertit A en nombre réel et effectue la division. Le résultat sera un type de données réel.

Table de conversion de données implicite pour les opérateurs de comparaison

Dans les expressions de comparaison, DAX suit les règles mentionnées ci-dessous -

  • Les valeurs booléennes sont considérées comme supérieures aux valeurs de chaîne.

  • Les valeurs de chaîne sont considérées comme supérieures aux valeurs numériques ou datetime.

  • Les nombres et les valeurs datetime sont considérés comme ayant le même rang.

  • Aucune conversion de données implicite n'est effectuée pour les valeurs booléennes ou de chaîne.

  • BLANK ou une valeur vide est convertie en 0 / "" / false selon le type de données de l'autre valeur comparée.

  • Pour les types numériques ou datetime, les conversions de données sont effectuées implicitement comme indiqué dans le tableau suivant -

Opérateur de comparaison ENTIER DEVISE RÉEL DATETIME
INTEGER ENTIER DEVISE RÉEL RÉEL
CURRENCY DEVISE DEVISE RÉEL RÉEL
REAL RÉEL RÉEL RÉEL RÉEL
DATETIME RÉEL RÉEL RÉEL DATETIME

Comment DAX gère les blancs, les chaînes vides et les valeurs zéro?

Dans DAX, un nul, une valeur vide, une cellule vide ou une valeur manquante sont tous représentés par la même valeur spéciale, un BLANK.

  • Vous pouvez générer un BLANK avec la fonction DAX BLANK.
  • Vous pouvez tester un BLANK en utilisant la fonction DAX ISBLANK.

La façon dont DAX gère les espaces vides dans les formules DAX ou les fonctions DAX dépend de l'opération individuelle telle que l'ajout ou la concaténation ou de la fonction DAX spécifique.

Exemples

Formule DAX Résultat
BLANC + BLANC VIDE
BLANC + 5 5
VIDE * 5 VIDE
5 / VIDE Infini
0 / VIDE NaN
VIDE / VIDE VIDE
FAUX OU VIDE FAUX
FAUX ET VIDE FAUX
VRAI OU VIDE VRAI
VRAI ET VIDE FAUX
VIDE OU VIDE VIDE
BLANK ET BLANK VIDE