Types de données dans les modèles de données

S’applique à
Excel pour Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Dans un modèle de données, chaque colonne est associée à un type de données qui spécifie le type de données qu’elle peut contenir : nombres entiers, nombres décimaux, texte, données monétaires, dates et heures, etc. Le type de données détermine également les types d’opérations que vous pouvez effectuer sur la colonne et la quantité de mémoire nécessaire pour stocker les valeurs dans la colonne.

Si vous utilisez le complément Power Pivot, vous pouvez modifier le type de données d’une colonne. Vous devrez peut-être effectuer cette opération si une colonne de date a été importée en tant que chaîne, mais que vous devez utiliser autre chose. Pour plus d’informations, voir Définir le type de données d’une colonne dans Power Pivot.

Contenu de cet article

Résumé des types de données

Le tableau suivant répertorie les types de données pris en charge dans un modèle de données. Lorsque vous importez des données ou utilisez une valeur dans une formule, même si la source de données d’origine contient un type de données différent, les données sont converties en l’un de ces types de données. Les valeurs qui résultent des formules utilisent également ces types de données.

Type de données dans Excel Type de données dans DAX Description
Nombre entier Valeur entière 1, 2 de 64 bits (huit octets) Nombre sans décimale. Les 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).
Nombre décimal Un nombre réel 1, 2 de 64 bits (huit octets) Les nombres réels sont des nombres qui peuvent avoir des décimales. Les nombres réels couvrent un large éventail de valeurs :
Valeurs négatives de -1,79E +308 à -2,23E -308
Zéro
Valeurs positives de 2,23E -308 à 1,79E + 308
Toutefois, le nombre de chiffres significatifs est limité à 15 décimales.
VRAI/FAUX Booléen Valeur True ou False.
Texte String Chaîne de données de caractère 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égacaractères) ou 536 870 912 octets.
Date Date/heure Dates et heures dans une représentation de date-heure acceptée.
Les dates valides sont toutes les dates postérieures au 1er janvier 1900.
Devise Devise 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 décimales de précision fixe.
N/A Vide Un vide est un type de données dans DAX qui représente et remplace les valeurs SQL. Vous pouvez créer un blanc à l’aide de la fonction VIDE et tester les blancs à l’aide de la fonction logique ESTVIDE.

1 Les formules DAX ne prennent pas en charge les types de données plus petits que ceux répertoriés dans le tableau.

2 Si vous essayez d’importer des données contenant de très grandes valeurs numériques, l’importation peut échouer avec l’erreur suivante :

Erreur de base de données mémoire : la colonne «< nom> de colonne » de la table «< nom> de la table » contient une valeur, « 1,7976931348623157e+308 », qui n’est pas prise en charge. L’opération a été annulée.

Cette erreur se produit parce que Power Pivot utilise cette valeur pour représenter des valeurs NULL. Les valeurs figurant dans la liste suivante sont synonymes de la valeur Null :

Valeur
9223372036854775807
-9223372036854775808
1,7976931348623158e+308
Réf. 2.2250738585072014e-308

Supprimez la valeur de vos données et essayez à nouveau d’importer.

Type de données de table

DAX utilise un type de données de table dans de nombreuses fonctions, telles que les agrégations et les calculs Time Intelligence. Certaines fonctions nécessitent une référence à une table ; D’autres fonctions renvoient une table qui peut ensuite être utilisée comme entrée pour d’autres fonctions. Dans certaines fonctions qui nécessitent une table en entrée, vous pouvez spécifier une expression dont le résultat est une table ; Pour certaines fonctions, une référence à une table de base est nécessaire. Pour plus d’informations sur la configuration requise pour des fonctions spécifiques, consultez Référence des fonctions DAX.

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

Chaque fonction DAX a des exigences spécifiques quant aux types de données utilisées comme entrées et sorties. Par exemple, certaines fonctions nécessitent des nombres entiers pour certains arguments et des dates pour d’autres ; D’autres fonctions nécessitent du texte ou des tableaux.

Si les données de la colonne que vous spécifiez comme argument sont incompatibles avec le type de données requis par la fonction, DAX renvoie souvent une erreur. Toutefois, dans la mesure du possible, DAX tente de convertir implicitement les données en type de données requis. Par exemple :

  • Vous pouvez taper une date sous la forme d’une chaîne, et DAX analysera la chaîne et tentera de la convertir comme l’un des formats de date et d’heure Windows.
  • Vous pouvez additionner VRAI + 1 et obtenir le résultat 2, car VRAI est implicitement converti en nombre 1 et l’opération 1+1 est effectuée.
  • Si vous additionnez des valeurs dans deux colonnes et qu’une valeur est représentée par du texte (« 12 ») et l’autre par un nombre (12), DAX convertit implicitement la chaîne en nombre, puis effectue l’addition pour obtenir un résultat numérique. L’expression suivante renvoie 44 : = « 22 » + 22
  • Si vous tentez de concaténer deux nombres, Excel les présentera sous forme de chaînes, puis les concaténera. L’expression suivante renvoie « 1234 » : = 12 & 34

Le tableau suivant récapitule les conversions de type de données implicites effectuées dans les formules. Excel effectue des conversions implicites chaque fois que cela est possible, conformément aux exigences de l’opération spécifiée.

Tableau des conversions implicites de données

Le type de conversion effectué est déterminé par l’opérateur, qui convertit les valeurs nécessaires avant d’effectuer l’opération demandée. Ces tableaux répertorient les opérateurs et indiquent la conversion 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.

Remarque

Les types de données Texte ne sont pas inclus dans ces tables. Lorsqu’un nombre est représenté sous la forme d’un format texte, dans certains cas, Power Pivot tente de déterminer le type de nombre et de le représenter sous forme de nombre.

Addition (+)

Opérateur (+) INTEGER CURRENCY REAL Date/heure
INTEGER INTEGER CURRENCY REAL Date/heure
CURRENCY CURRENCY CURRENCY REAL Date/heure
REAL REAL REAL REAL Date/heure
Date/heure Date/heure Date/heure Date/heure Date/heure

Par exemple, si un nombre réel est utilisé dans une opération d’addition en combinaison avec des données monétaires, les deux valeurs sont converties en RÉEL et le résultat est renvoyé en tant que RÉEL.

Soustraction (-)

Dans le tableau suivant, 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 (-) INTEGER CURRENCY REAL Date/heure
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Date/heure Date/heure Date/heure Date/heure Date/heure

Par exemple, si une date est utilisée dans une opération de soustraction avec tout autre type de données, les deux valeurs sont converties en dates et la valeur de retour est également une date.

Remarque

Les modèles de données prennent é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.

Multiplication (*)

Opérateur (*) INTEGER CURRENCY REAL Date/heure
INTEGER INTEGER CURRENCY REAL INTEGER
CURRENCY CURRENCY REAL CURRENCY CURRENCY
REAL REAL CURRENCY REAL REAL

Par exemple, si un nombre entier est combiné avec un nombre réel dans une opération de multiplication, les deux nombres sont convertis en nombres réels et la valeur de retour est également REAL.

Division (/)

Dans le tableau suivant, l’en-tête de ligne est le numérateur et l’en-tête de colonne est le dénominateur.

Opérateur (/)
(Ligne/Colonne)
INTEGER CURRENCY REAL Date/heure
INTEGER REAL CURRENCY REAL REAL
CURRENCY CURRENCY REAL CURRENCY REAL
REAL REAL REAL REAL REAL
Date/heure REAL REAL REAL REAL

Par exemple, si un nombre entier est combiné avec une valeur monétaire dans une opération de division, les deux valeurs sont converties en nombres réels et le résultat est également un nombre réel.

Opérateurs de comparaison

Dans les expressions de comparaison, les valeurs booléennes sont considérées comme supérieures aux valeurs de chaîne et les valeurs de chaîne sont considérées comme supérieures aux valeurs numériques ou de date/heure ; Les nombres et les valeurs date/heure sont considérés comme ayant le même rang. Aucune conversion implicite n’est effectuée pour les valeurs booléennes ou de chaîne ; VIDE ou une valeur vide est convertie en 0/""/faux en fonction du type de données de l’autre valeur comparée.

Les expressions DAX suivantes illustrent ce comportement :

=SI(FAUX()>"vrai »,"L’expression est vraie », « L’expression est fausse »), retourne « L’expression est vraie »

=SI(« 12"12,>"L’expression est vraie », « L’expression est fausse »), retourne « L’expression est vraie ».

=SI(« 12"=12,"L’expression est vraie », « L’expression est fausse »), retourne « L’expression est fausse »

Les conversions sont effectuées implicitement pour les types numériques ou de date/heure, comme décrit dans le tableau suivant :

Opérateur de comparaison INTEGER CURRENCY REAL Date/heure
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Date/heure REAL REAL REAL Date/heure

Haut de la page

Gestion des vides, des chaînes vides et des valeurs nulles

Dans DAX, une valeur null, vide, cellule vide ou valeur manquante sont tous représentés par le même nouveau type de valeur, un VIDE. Vous pouvez également générer des blancs à l’aide de la fonction VIDE ou tester les blancs à l’aide de la fonction ESTVIDE.

La façon dont les blancs sont gérés dans des opérations, telles que l’addition ou la concaténation, dépend de la fonction individuelle. Le tableau suivant résume les différences entre les formules DAX et Microsoft Excel, en ce qui concerne la manière dont les espaces sont gérés.

Expression DAX Excel
VIDE + VIDE VIDE 0 (zéro)
VIDE +5 5 5
VIDE * 5 VIDE 0 (zéro)
5/VIDE Infinity Erreur
0/VIDE NaN Erreur
VIDE VIDE Erreur
FAUX OU VIDE FAUX FAUX
FAUX ET VIDE FAUX FAUX
VRAI OU VIDE TRUE TRUE
TRUE AND BLANK FAUX VRAI
VIDE OU VIDE VIDE Erreur
VIDES ET VIDES VIDE Erreur

Pour plus d’informations sur la façon dont une fonction ou un opérateur particulier gère les vides, consultez les rubriques individuelles pour chaque fonction DAX, dans la section Référence des fonctions DAX.

Haut de la page