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

Remarque :  Nous faisons de notre mieux pour vous fournir le contenu d’aide le plus récent aussi rapidement que possible dans votre langue. Cette page a été traduite automatiquement et peut donc contenir des erreurs grammaticales ou des imprécisions. Notre objectif est de faire en sorte que ce contenu vous soit utile. Pouvez-vous nous indiquer en bas de page si ces informations vous ont aidé ? Voici l’article en anglais à des fins de référence aisée.

Dans un modèle de données, à chaque colonne correspond 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, devises, dates et heures et ainsi de suite. 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 qu'elle contient.

Si vous utilisez le complément Power Pivot, vous pouvez modifier le type de données d’une colonne. Vous devrez peut-être procéder ainsi si une colonne de dates ont été importée sous forme de chaîne, mais vous avez besoin d’utiliser un autre élément. 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

Type de données de tableau

Conversion de type de données implicites et explicites dans les formules DAX

Table des Conversions de données implicites

Addition (+)

Soustraction (-)

Multiplication (*)

Division (/)

Opérateurs de comparaison

Gestion des valeurs vides, des chaînes vides et des valeurs zéro

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 dans l'un de ces types de données. Les valeurs issues 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 de 64 bits (huit octets) 1, 2

Nombres qui n'ont pas de décimales. Les entiers peuvent être des nombres positifs ou négatifs, mais doivent être 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

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 une large gamme 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 bits significatifs est limité à 15 chiffres décimaux.

VRAI/FAUX

Booléen

Valeur Vrai ou valeur Faux.

Texte

Chaîne

Chaîne de données caractères au format Unicode. Il peut s'agir de chaînes, de nombres ou de dates représentés dans un format texte.

La longueur maximale de chaîne est de 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 autorise des valeurs entre -922 337 203 685 477,5808 et 922 337 203 685 477,5807 avec quatre chiffres décimaux à précision fixe.

N/A

Vide

Le type de données Vide (Blank) de DAX représente et remplace les valeurs Null SQL. Vous pouvez créer une valeur vide à l'aide de la fonction BLANK et tester les valeurs 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 importez des données ayant de très grandes valeurs numériques, l'importation peut échouer en raison de l'erreur suivante :

Erreur de base de données en mémoire : la colonne '<nom de colonne>' de la table '<nom de 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 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éessayer d'importer.

Type de données table

DAX utilise un type de données de tableau dans de nombreuses fonctions, telles que les agrégations calculs et d’heure 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 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 la configuration requise de certaines fonctions, voir Référence des fonctions DAX.

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

Chaque fonction DAX a des exigences spécifiques en ce qui concerne les types des données utilisés comme entrées et sorties. Par exemple, certaines fonctions requièrent des entiers pour certains arguments et des dates pour les autres ; d'autres fonctions requièrent du texte ou des tables.

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, dans de nombreux cas, retourne une erreur. Toutefois, DAX essaie chaque fois que possible de convertir implicitement les données dans le type de données requis. Par exemple :

  • Vous pouvez taper une date sous forme de chaîne, que DAX analysera et tentera de convertir dans l'un des formats de date et heure Windows.

  • Vous pouvez ajouter TRUE + 1 et obtenir le résultat 2, parce que TRUE est converti implicitement en nombre 1 et que l'opération 1+1 est effectuée.

  • Si vous additionnez les valeurs de deux colonnes, et qu'une valeur se trouve être représentée par du texte ("12") alors que l'autre est un nombre (12), DAX convertit implicitement la chaîne en nombre, puis fait l'addition pour produire un résultat numérique. L'expression suivante retourne 44 : = "22" + 22

  • Si vous essayez de concaténer deux nombres, Excel les présentera comme des chaînes, puis effectuera la concaténation. L'expression suivante retourne « 1234 » : = 12 & 34

Le tableau suivant résume les conversions de types de données implicites effectuées dans les formules. En règle générale, Excel effectue des conversions implicites chaque fois que cela est possible, comme requis par l'opération spécifiée.

Tableau de conversions de données implicites

Le type de conversion effectué est déterminé par l'opérateur, qui convertit les valeurs dont il a besoin 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 couplé avec le type de données de la ligne d'intersection.

Remarque : Les types de données textuels ne sont pas inclus dans ces tableaux. Lorsqu'un nombre est représenté dans un format texte, Power Pivot tente dans certains cas de déterminer le type de nombre dont il s'agit et de le représenter comme un 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 association avec des données de devise, les deux valeurs sont converties en REAL, et le résultat retourné est de type REAL.

Soustraction (-)

Dans le tableau suivant l'en-tête de ligne est le diminuende (côté gauche) et l'en-tête de colonne est le diminuteur (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 change 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 de type 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 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 expression de comparaison, les valeurs booléennes d'expressions sont considérées comme supérieures aux valeurs de chaîne et les valeurs de chaîne sont considérées supérieures aux valeurs numériques ou aux valeurs de date/heure ; les nombres et les valeurs de date/heure sont considérées avoir le même rang. Aucune conversion implicite n'est effectuée pour les valeurs booléennes ou les valeurs de chaîne ; 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 est vraie », « Expression est fausse »), renvoie « Expression est vraie »

= IF("12">12,"Expression is true", "Expression is false"), renvoie « Expression est vraie ».

= IF("12"=12,"Expression is true", "Expression is false"), renvoie « Des expressions est fausse »

Les conversions sont effectuées implicitement pour les types numérique 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 valeurs vides, des chaînes vides et des valeurs zéro

Dans DAX, les valeurs NULL, les valeurs vides, les cellules vides ou les valeurs manquantes sont toutes représentées par le même nouveau type de valeur, BLANK. Vous pouvez également générer des valeurs vides à l'aide de la fonction BLANK ou les tester à l'aide de la fonction ISBLANK.

La façon dont les valeurs de ce type sont gérées dans des opérations telles que l'addition ou la concaténation dépend de la fonction en question. Le tableau suivant résume les différences entre les formules DAX et Microsoft Excel quant à la façon dont les valeurs vides (blank) sont gérées.

Expression

DAX

Excel

BLANK + BLANK

BLANK

0 (zéro)

BLANK +5

5

5

BLANK * 5

BLANK

0 (zéro)

5/BLANK

Infini

Erreur

0/BLANK

NaN

Erreur

BLANK/BLANK

BLANK

Erreur

FALSE OR BLANK

FALSE

FALSE

FALSE AND BLANK

FALSE

FALSE

TRUE OR BLANK

TRUE

TRUE

TRUE AND BLANK

FALSE

TRUE

BLANK OR BLANK

BLANK

Erreur

BLANK AND BLANK

BLANK

Erreur

Pour plus d’informations sur la façon dont une fonction particulière ou un opérateur gère les valeurs vides, consultez la rubrique fonction DAX concernée dans la section Référence des fonctions DAX.

Haut de la Page

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×