Dans un modèle de données, un type de données associé est associé à chaque colonne, qui spécifie le type de données que la colonne peut contenir : des nombres entiers, des nombres décimaux, du texte, des données monétaires, des dates et des heures, etc. Le type de données détermine également les types d’opérations que vous pouvez faire sur la colonne et la quantité de mémoire dont il faut pour stocker les valeurs dans la colonne.
Si vous utilisez le Power Pivot, vous pouvez modifier le type de données d’une colonne. Vous devrez peut-être faire ceci si une colonne de date a été importée en tant que chaîne, mais vous avez besoin qu’il s’agit d’une autre chose. Pour plus d’informations, voir Définir le type de données d’une colonne dans Power Pivot.
Contenu de cet article
Synthèse 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 autre type de données, les données sont converties en l’un de ces types de données. Les valeurs résultant de formules utilisent également ces types de données.
Type de données dans Excel |
Type de données dans DAX |
Description |
---|---|---|
Nombre entier |
Un octet de 64 bits (huit octets) d’un octet dont la valeur est 1, 2 |
Nombres sans décimale. Les entiers peuvent être des nombres positifs ou négatifs, mais doivent être des nombres entiers 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 de 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 vaste éventail de valeurs : Valeurs négatives de -1,79E+308 à -2,23E -308 Zéro Valeurs positives entre 2,23E -308 et 1,79E + 308 Toutefois, le nombre de chiffres significatifs est limité à 15 décimales. |
VRAI/FAUX |
Booléen |
Valeur Vrai ou Faux. |
Texte |
String |
Chaîne de données de caractère Unicode. Peut être des chaînes, des nombres ou des dates représentées dans un format de texte. La longueur maximale d’une chaîne est 268 435 456 caractères Unicode (256 méga caractères) 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 après le 1er janvier 1900. |
Devise |
Devise |
Le type de données Devise permet de choisir 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 |
Une valeur vide est un type de données dans DAX qui représente et remplace SQL Null. Vous pouvez créer un vide à l’aide de la fonction BLANK et tester les espaces vides à l’aide de la fonction logique ESTBLANK. |
1 les formules DAX ne prend pas en charge les types de données plus petits que ceux répertoriés dans la table.
2 Si vous tentez d’importer des données qui ont des valeurs numériques très importantes, l’importation peut échouer avec l’erreur suivante :
Erreur de base de données en mémoire : la colonne « <column name> » de la table « <table name> » contient la valeur « 1,7976931348623157e+308 » (non prise en charge). L’opération a été annulée.
Cette erreur se produit parce Power Pivot utilise cette valeur pour représenter les valeurs Null. Les valeurs de la liste suivante sont des synonymes de la valeur Null :
Value (Valeur) |
|
---|---|
9223372036854775807 |
|
-9223372036854775808 |
|
1,7976931348623158e+308 |
|
2,2250738585072014e-308 |
Supprimez la valeur de vos données et retentez l’importation.
Type de données de tableau
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 retournent une table qui peut ensuite être utilisée comme entrée d’autres fonctions. Dans certaines fonctions qui requièrent une table comme entrée, vous pouvez spécifier une expression qui se base sur 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 la référence des fonctions DAX.
Conversion implicite et explicite des types de données 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 requièrent des intéreurs pour certains arguments et 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 sont incompatibles avec le type de données requis par la fonction, DAX retourne dans de nombreux cas une erreur. Toutefois, autant que possible, DAX tentera 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 pour que DAX puisse l’utiliser comme format de date et d’heure Windows’une seule fois.
-
Vous pouvez ajouter VRAI + 1 et obtenir le résultat 2, car VRAI est converti implicitement 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 sous forme de nombre (12), DAX convertit implicitement la chaîne en nombre, puis ajoute cette valeur à un résultat numérique. L’expression suivante renvoie 44: = « 22 » + 22
-
Si vous tentez de concaténer deux nombres, Excel les présenter sous forme de chaînes, puis concaténer. L’expression suivante renvoie « 1234 » : = 12 & 34
Le tableau suivant récapitule les conversions implicites de types de données effectuées dans les formules. Excel effectuez dès que possible des conversions implicites, comme requis par l’opération spécifiée.
Table de conversions de données implicites
Le type de conversion effectué est déterminé par l’opérateur, qui distribution les valeurs requises avant d’effectuer l’opération demandée. Ces tableaux indiquent 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 tableaux. Lorsqu’un nombre est représenté sous forme de texte, dans certains cas, Power Pivot tente de déterminer le type de nombre et de le représenter en tant que 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 combinée à des données monétaires, les deux valeurs sont converties en VRAI et le résultat est retourné comme 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 soustrahend (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 prend également en charge l’opérateur unary ( - (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 total est combiné à 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 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 est combiné avec une valeur de devise 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éques sont considérées comme étant plus grandes que des valeurs de chaîne, et les valeurs de chaîne sont considérées comme étant plus grandes que des valeurs numériques ou de date/heure . les nombres et les valeurs de date/heure sont considérés comme avoir le même rang. Aucune conversion implicite n’est effectuée pour des valeurs de chaîne ou de booléen ; Blank ou une valeur vide est convertie en 0/""/false selon le type de données de l’autre valeur comparée.
Les expressions DAX suivantes illustrent ce comportement :
=SI(FAUX()>"vrai »;"L’expression est vraie », « Expression est fausse »),renvoie « L’expression est vraie »
=SI(« 12">12;"L’expression est vraie », « L’expression est fausse »),renvoie « L’expression est vraie ».
=SI(« 12"=12;"L’expression est vraie », « Expression est fausse »),renvoie « 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 |
Gérer les espaces vides, les chaînes vides et les valeurs zéro
Dans DAX, une valeur null, vide, cellule vide ou valeur manquante sont toutes représentées par le même nouveau type de valeur, une valeur BLANK. Vous pouvez également générer des blancs à l’aide de la fonction BLANK, ou tester les espaces vides à l’aide de la fonction ESTBLANK.
La manière dont les espaces vides sont gérés dans les opérations, telles que l’addition ou la concatenation, dépend de la fonction individuelle. Le tableau suivant récapitule les différences entre les formules DAX et Microsoft Excel, dans la façon dont les blancs sont gérés.
Expression |
DAX |
Excel |
---|---|---|
BLANK + BLANK |
BLANK |
0 (zéro) |
BLANK +5 |
5 |
5 |
VIDE * 5 |
BLANK |
0 (zéro) |
5/BLANK |
Infini |
Erreur |
0/BLANK |
NaN |
Erreur |
BLANK/BLANK |
BLANK |
Erreur |
FAUX OU VIDE |
FAUX |
FAUX |
FAUX ET VIDE |
FAUX |
FAUX |
VRAI OU VIDE |
TRUE |
TRUE |
VRAI ET VIDE |
FAUX |
VRAI |
VIDE OU VIDE |
BLANK |
Erreur |
VIDE ET VIDE |
BLANK |
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 de chaque fonction DAX, dans la section référence des fonctions DAX.