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 a un type de données associé qui spécifie le type de données que la colonne 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 le faire si une colonne de date a été importée en tant que chaîne, mais que vous avez besoin qu’elle soit autre chose. Pour plus d’informations, consultez 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 de formules utilisent également ces types de données.

Type de données dans Excel Type de données dans DAX Description
Nombre entier Une valeur entière 64 bits (huit octets) 1, 2 Nombres sans décimales. 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 64 bits (huit octets) 1, 2 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 comprises entre -1,79E +308 et -2,23E -308
Zéro
Valeurs positives comprises entre 2,23E et 308 et 1,79E + 308
Toutefois, le nombre de chiffres significatifs est limité à 15 chiffres décimaux.
VRAI/FAUX Booléen Valeur True ou False.
Text (Texte) String Chaîne de données caractère Unicode. Il peut s’agir de chaînes, de nombres ou de dates représentées dans un format texte.
La longueur maximale de la chaîne est de 268 435 456 caractères Unicode (256 méga) ou 536 870 912 octets.
Date Date/heure Dates et heures dans une représentation 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 chiffres décimaux de précision fixe.
N/A Vide Un vide est un type de données dans DAX qui représente et remplace les valeurs NULL SQL. Vous pouvez créer un vide à l’aide de la fonction BLANK et tester les vides à l’aide de la fonction logique ISBLANK.

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 qui ont des valeurs numériques très volumineuses, l’importation peut échouer avec l’erreur suivante :

Erreur de base de données en 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 car Power Pivot utilise cette valeur pour représenter les valeurs Null. Les valeurs de la liste suivante sont des synonymes de la valeur null :

Valeur
9223372036854775807
-9223372036854775808
1,7976931348623158e+308
2.2250738585072014e-308

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

Type de données de table

DAX utilise un type de données 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 retournent une table qui peut ensuite être utilisée comme entrée pour d’autres fonctions. Dans certaines fonctions qui nécessitent une table comme entrée, vous pouvez spécifier une expression qui prend la valeur d’une table ; pour certaines fonctions, une référence à une table de base est requise. Pour plus d’informations sur les exigences de 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 concernant les types de données qui sont utilisés comme entrées et sorties. Par exemple, certaines fonctions nécessitent des 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 en tant qu’argument ne sont pas compatibles avec le type de données requis par la fonction, DAX retourne 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 forme de chaîne, et DAX analyse la chaîne et tente de la convertir en un des formats de date et d’heure Windows.
  • Vous pouvez ajouter TRUE + 1 et obtenir le résultat 2, car TRUE est implicitement converti en nombre 1 et l’opération 1+1 est effectuée.
  • Si vous ajoutez des valeurs dans deux colonnes et qu’une valeur est représentée sous forme de texte (« 12 ») et l’autre en tant que nombre (12), DAX convertit implicitement la chaîne en nombre, puis effectue l’ajout d’un résultat numérique. L’expression suivante retourne 44 : = « 22 » + 22
  • Si vous essayez de concaténer deux nombres, Excel les présente sous forme de chaînes, puis les concatène. L’expression suivante retourne « 1234 » : = 12 & 34

Le tableau suivant récapitule les conversions de types de données implicites effectuées dans les formules. Excel effectue des conversions implicites dans la mesure du possible, comme l’exige l’opération spécifiée.

Tableau des conversions de données implicites

Le type de conversion qui est effectué est déterminé par l’opérateur , qui caste les valeurs dont il a besoin avant d’effectuer l’opération demandée. Ces tables répertorient les opérateurs et indiquent la conversion effectuée sur chaque type de données de la colonne lorsqu’il est associé au type de données dans la ligne croisée.

Remarque

Les types de données texte ne sont pas inclus dans ces tables. Lorsqu’un nombre est représenté comme dans 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.

Ajout (+)

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 REAL, et le résultat est retourné au format REAL.

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 sous-paragraphe (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 un 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 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 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 de 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înes ; BLANK ou une valeur vide est convertie en 0/""/false en fonction du type de données de l’autre valeur comparée.

Les expressions DAX suivantes illustrent ce comportement :

=IF(FALSE()>"true »,"Expression is true », « Expression is false »), retourne « Expression is true »

=SI(« 12">12,"Expression is true », « Expression is false »), retourne « Expression is true ».

=IF(« 12"=12,"Expression is true », « Expression is false »), retourne « Expression is false »

Les conversions sont effectuées implicitement pour les types numériques ou 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 zéro

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

La façon dont les espaces sont gérés dans les opérations, telles que l’ajout ou la concaténation, dépend de la fonction individuelle. Le tableau suivant récapitule les différences entre les formules DAX et Microsoft Excel, de la façon dont les vides sont gérés.

Expression DAX Excel
VIDE + VIDE BLANC 0 (zéro)
VIDE +5 5 5
BLANK * 5 BLANC 0 (zéro)
5/VIDE Infinity Erreur
0/BLANK Nan Erreur
VIDE/VIDE BLANC Erreur
FALSE OU BLANK FAUX FAUX
FAUX ET VIDE FAUX FAUX
TRUE OU BLANK TRUE TRUE
TRUE ET BLANK FAUX VRAI
VIDE OU VIDE BLANC Erreur
VIDE ET VIDE BLANC Erreur

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

Haut de la page