Types de données dans Power BI Desktop

Cet article décrit les types de données pris en charge dans Power BI Desktop et Data Analysis Expressions (DAX).

Lorsque vous chargez des données dans Power BI Desktop, celui-ci tente de convertir le type de données de la colonne source en un type de données qui prend mieux en charge un stockage, des calculs et une visualisation des données plus efficaces. Par exemple, si une colonne de valeurs que vous importez à partir d’Excel ne contient aucune valeur fractionnaire, Power BI Desktop convertit toute la colonne de données en type de données Nombre entier, qui convient davantage au stockage des nombres entiers.

Ce concept est important, car certaines fonctions DAX ont des exigences particulières en matière de type de données. Même si très souvent DAX convertit implicitement un type de données pour vous, cela n’est pas toujours le cas. Par exemple, si une fonction DAX nécessite un type de données Date et que le type de données de votre colonne est Texte, la fonction DAX ne fonctionnera pas correctement. Il est donc important et utile d’obtenir le type de données correct pour une colonne. Les conversions implicites sont décrites plus loin dans cet article.

Déterminer et spécifier le type de données d’une colonne

Dans Power BI Desktop, vous pouvez déterminer et spécifier le type de données d’une colonne dans l’Éditeur Power Query ou dans la vue Données ou Rapport :

Types de données dans l’Éditeur Power Query

Capture d’écran du ruban Type de données dans l’éditeur de requête.

Types de données dans la vue Données ou Rapport

Capture d’écran du ruban Type de données dans la vue Données.

La liste déroulante Type de données dans l’Éditeur Power Query comporte deux types de données actuellement absents dans la vue Données ou Rapport : Date/Heure/Fuseau horaire et Durée. Quand une colonne avec ces types de données est chargée dans le modèle et affichée dans la vue Données ou Rapport, une colonne avec le type de données Date/Heure/Fuseau horaire est convertie au format Date/Heure et une colonne avec le type de données Durée est convertie au format Nombre décimal.

Le type de données Binaire n’est pas pris en charge actuellement en dehors de l’Éditeur Power Query. Dans l’Éditeur Power Query, vous pouvez l’utiliser lors du chargement de fichiers binaires si vous le convertissez en d’autres types de données avant de le charger dans le modèle Power BI. Il existe dans les menus Vue de données et Vue de rapport pour des raisons de compatibilité, mais si vous essayez de charger des colonnes binaires dans le modèle Power BI, vous pouvez rencontrer des erreurs.

Types numériques

Power BI Desktop prend en charge trois types numériques :

Nombre décimal : représente un nombre à virgule flottante 64 bits (huit octets). C’est le type numérique le plus courant. Il correspond aux nombres tels qu’on se les représente habituellement. Bien que conçu pour gérer les nombres avec des valeurs fractionnelles, il gère également les nombres entiers. Le type Nombre décimal peut gérer des valeurs négatives comprises entre -1,79E +308 et -2,23E -308, 0, et des valeurs positives comprises entre 2,23E -308 et 1,79E +308. Par exemple, des nombres comme 34, 34,01 et 34,000367063 sont des nombres décimaux valides. La précision maximale qui peut être représentée dans un type Nombre décimal a une longueur de 15 chiffres. Le séparateur décimal peut figurer n’importe où dans le nombre. Le type Nombre décimal correspond à la manière dont Excel stocke les nombres. Le type de données Nombre décimal est spécifié dans le modèle d’objet tabulaire (TOM) comme DataType.Double Enum type 1.

Nombre décimal fixe : possède un emplacement fixe pour le séparateur décimal. Le séparateur décimal a toujours quatre chiffres à sa droite et autorise 19 chiffres de précision. La plus grande valeur, qu’il peut représenter est 922 337 203 685 477,5807 (positif ou négatif). Le type Nombre décimal fixe est utile dans les cas où l’arrondi peut introduire des erreurs. Si vous utilisez beaucoup de nombres ayant de petites valeurs fractionnelles, il y a un risque de cumul qui peut entraîner une légère imprécision. Les valeurs situées après les quatre chiffres à droite du séparateur décimal étant tronquées, le type Nombre décimal fixe peut vous aider à éviter ces genres d’erreurs. Si vous connaissez SQL Server, ce type de données correspond au format Décimal de SQL Server (19.4) ou au type de données Devise dans Analysis Services et Power Pivot dans Excel. Le type de données Nombre décimal fixe est spécifié dans TOM comme DataType.Decimal Enum type 1.

Nombre entier : représente un entier 64 bits (huit octets). S’agissant d’un entier, il ne comporte aucun chiffre à droite du séparateur décimal. Il autorise 19 chiffres ; les nombres entiers positifs ou négatifs compris entre -9 223 372 036 854 775 807 (-2^63+1) et 9 223 372 036 854 775 806 (2^63-2). Il peut représenter la plus grande précision possible parmi les divers types de données numériques. Comme Nombre décimal fixe, le type Nombre entier peut être utile dans les cas où vous avez besoin de contrôler l’arrondi. Le type de données Nombre entier est spécifié dans TOM comme DataType.Int64 Enum type 1.

Notes

Le modèle de données Power BI Desktop prend en charge les valeurs d’entier 64 bits, mais le plus grand nombre de visuels pouvant être exprimé de façon sûre est 9,007,199,254,740,991 (2^53-1) en raison des limitations de JavaScript. Si vous travaillez avec des chiffres supérieurs dans votre modèle de données, vous pouvez réduire la taille par le biais de calculs avant de les ajouter à un visuel.

1 - DataType Les enums sont spécifiés dans la colonne tabulaire DataTypeproperty. Pour en savoir plus sur la modification programmatique des objets dans Power BI, consultez Programmation des jeux de données Power BI avec le modèle d’objet tabulaire.

Assurer l’exactitude des calculs de type numérique

Les valeurs de colonne du type de données Nombre décimal sont stockées comme des types de données approximatifs selon la norme IEEE 754 pour les nombres à virgule flottante. Les types de données approximatifs ont des limites inhérentes à leur précision, car au lieu de stocker la valeur exacte d’un nombre, ils peuvent être stockés sous la forme d’une approximation extrêmement proche, ou arrondie, de cette valeur. Cela signifie qu’il est possible qu’une perte de précision, ou imprécision, se produise si le nombre de chiffres en virgule flottante ne peut être quantifié de manière fiable dans la valeur en virgule flottante. Le potentiel d’imprécision peut se manifester par des résultats de calcul inattendus ou inexacts dans certains scénarios de rapport.

Les calculs effectuant des comparaisons liées à l’égalité (=, <>, >= et <=) entre des valeurs du type Nombre décimal peuvent potentiellement donner des résultats inattendus. Cela est particulièrement évident lorsque l’on utilise la fonction RANKX dans une expression DAX où le résultat est calculé deux fois, ce qui donne des chiffres légèrement différents. La différence entre les deux chiffres n’est pas perceptible par l’utilisateur du rapport, mais le résultat du classement peut être sensiblement inexact. Pour éviter les résultats inattendus, vous pouvez changer le type de données de la colonne Nombre décimal à Nombre décimal fixe ou Nombre entier, ou effectuer un arrondi forcé en utilisant ROUND. Le type de données Nombre décimal fixe a une plus grande précision, car le séparateur décimal a toujours quatre chiffres à sa droite.

Bien que rares, les calculs qui additionnent les valeurs d’une colonne de type Nombre décimal peuvent potentiellement renvoyer des résultats inattendus. Cela est plus probable avec les colonnes qui ont à la fois une grande quantité de nombres positifs et une grande quantité de nombres négatifs. Le résultat de la somme est affecté par la distribution des valeurs entre les lignes de la colonne. Si le calcul nécessaire pour renvoyer le résultat d’une requête additionne la plupart des nombres positifs avant d’additionner la plupart des nombres négatifs, la somme partielle au début peut potentiellement perdre en précision, car elle peut être faussée par la grande somme partielle positive. En revanche, si une requête consiste à additionner des nombres positifs et négatifs équilibrés, la somme conservera plus de précision et les résultats renvoyés seront donc plus précis. Pour éviter les résultats inattendus, vous pouvez changer le type de données de la colonne de Nombre décimal à Nombre décimal fixe ou Nombre entier.

Types Date/Heure

Power BI Desktop prend en charge cinq types de données Date/Heure dans la vue Requête. Les types Date/Heure/Fuseau horaire et Durée sont convertis pendant le chargement dans le modèle. Le modèle de données Power BI Desktop prend en charge uniquement la date et l’heure, mais il peut être mis en forme sous forme de dates ou d’heures de manière indépendante.

Date/Heure : représente une valeur de date et d’heure. Dans les coulisses, la valeur Date/Heure est stockée au format Nombre décimal. Vous pouvez donc effectuer une conversion entre les deux. La partie heure d’une date est stockée sous forme de fraction de multiples entiers de 1/300 de seconde (3,33 ms). Les dates comprises entre les années 1900 et 9999 sont prises en charge.

Date : représente seulement une date (aucune partie heure). En cas de conversion dans le modèle, une valeur de Date est identique à une valeur de Date/Heure avec une valeur fractionnelle égale à zéro.

Heure : représente seulement une heure (aucune partie date). En cas de conversion dans le modèle, une valeur d’Heure est identique à une valeur de Date/Heure sans aucun chiffre à gauche du séparateur décimal.

Date/Heure/Fuseau horaire : représente une Date/Heure au format UTC avec un décalage de fuseau horaire. Ce format est converti en Date/Heure pendant le chargement dans le modèle. Le modèle Power BI n’ajuste pas le fuseau horaire en fonction de la localisation ou des paramètres régionaux d’un utilisateur. Si la valeur 09:00 est chargée dans le modèle aux États-Unis, elle s’affiche au format 09:00 chaque fois que le rapport est ouvert ou consulté.

Durée : représente une durée. Ce format est converti au format Nombre décimal lors du chargement dans le modèle. En tant que type Nombre décimal, il peut être ajouté ou soustrait d’un champ Date/Heure avec des résultats corrects. S’agissant d’un type Nombre décimal, vous pouvez facilement l’utiliser dans des visualisations qui indiquent un ordre de grandeur.

Type Texte

Texte : 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 de chaîne maximale est de 268 435 456 caractères Unicode (256 méga caractères) ou de 536 870 912 octets.

Power BI stocke les données de manière à pouvoir afficher les données différemment dans certaines situations. Cette section décrit des situations courantes où l’apparence des données de texte peut changer légèrement entre l’interrogation de données à l’aide de Power Query, puis après le chargement des données.

Sensibilité ou non à la casse

Le moteur qui stocke les données et les requêtes dans Power BI ne respecte pas la casse, ce qui signifie qu’il traite des lettres majuscules et minuscules de façon identique : a est égal à A. Toutefois, Power Query respecte la casse : a n’est pas égal à A. Cette différence de respect de la casse provoque des situations où les données de texte sont chargées dans Power BI et change ensuite de casse, apparemment de façon inexplicable. Dans l’exemple simple suivant, nous avons chargé des données de commandes : une colonne OrderNo (numéro de commande) unique pour chaque commande et une colonne Addressee qui contient le nom du destinataire, lequel est entré manuellement au moment de la commande. Dans Power Query, ces données apparaissent comme suit :

Données de texte avec différents emplois des majuscules dans Power Query

Notez que plusieurs commandes ont le même nom de destinataire, bien qu’entré dans le système de façons légèrement différentes.

Lorsque vous accédez à l’onglet Données dans Power BI après avoir chargé les données, la même table ressemble à la table suivante.

Mêmes données de texte après que leur chargement dans Power BI a modifié l’emploi des majuscules

Notez que l’emploi des majuscules dans certains noms a changé par rapport aux données initialement entrées. Cette modification est due au fait que le moteur qui stocke les données dans Power BI ne respecte pas la casse et traite les versions en minuscules et en majuscules des caractères comme identiques. Power Query est sensible à la casse et fait donc cette distinction et affiche par conséquent les données exactement telles qu’elles ont été stockées dans le système source. Toutefois, les données figurant dans la deuxième capture d’écran ont été chargées dans le moteur de Power BI et ont donc changé.

Lors du chargement des données, le moteur évalue chaque ligne, une par une, en commençant par le haut. Pour chaque colonne de texte (par exemple, Addressee), le moteur stocke un dictionnaire de valeurs uniques pour améliorer la performance via la compression des données. Lors du traitement de la colonne Addressee, les trois premières valeurs rencontrées par le moteur sont uniques et sont stockées dans le dictionnaire. Toutefois, à partir du quatrième nom (commande 1004), comme le moteur ne respecte pas la casse, les noms sont considérés comme identiques : Taina Hasu est identique à TAINA HASU et à Taina HASU. Par conséquent, le moteur ne stocke pas ce nom, mais se réfère au premier nom qu’il a rencontré. Cela explique également pourquoi le nom MURALI DAS est également écrit en majuscules, car il s’agit simplement de la façon dont le nom a été écrit quand le moteur l’a évalué pour la première fois, lors du chargement des données de haut en bas.

Cette image explique ce processus : Représentation du processus de chargement des données et mappage des valeurs de texte à un dictionnaire de valeurs uniques

Dans l’exemple ci-dessus, le moteur charge la première ligne de données, crée le dictionnaire Addressee (de destinataires) et y ajoute Taina Hasu. Il ajoute également une référence à cette valeur dans la colonne Addressee de la table qu’il a chargée. Il effectue cette opération pour la deuxième et la troisième ligne également, car ces deux noms ne sont pas équivalents aux autres lorsqu’ils sont comparés en ignorant la casse.

Le destinataire (Addressee) de la quatrième ligne est comparé aux noms du dictionnaire et est trouvé : comme le moteur ne respecte pas la casse, TAINA HASU et Taina Hasu sont identiques. Par conséquent, le moteur n’ajoute pas de nouveau nom au dictionnaire Addressee, mais il fait référence à la place au nom existant. La même chose se produit pour les lignes restantes.

Notes

Étant donné que le moteur qui stocke et interroge les données dans Power BI n’est pas sensible à la casse vous devez faire particulièrement attention en mode DirectQuery avec une source qui est sensible à la casse. Power BI suppose que la source a éliminé les lignes en double ; comme Power BI n’est pas sensible à la casse, deux valeurs qui ne diffèrent que par la casse sont traitées comme des doublons, alors que la source pourrait ne pas les traiter ainsi. Dans ce cas, le résultat final est indéfini, ce qui doit être évité. Si vous utilisez le mode DirectQuery et que votre source de données est sensible à la casse, vous devez normaliser la casse dans la requête source ou dans Power Query.

Espaces de fin

Lorsque vous travaillez avec des données qui contiennent des espaces de début ou de fin, vous devez utiliser la fonction Text.Trim pour supprimer les espaces au début ou à la fin du texte afin d’éviter toute confusion, car le moteur Power BI supprime automatiquement les espaces de fin mais pas ceux de début. Si vous ne supprimez pas les espaces de début ou de fin, vous risquez de ne pas réussir à créer une relation, parce que des valeurs en double sont détectées ou que des visuels renvoient des résultats inattendus. À titre d’exemple simple, nous avons chargé des données sur les clients : une colonne Nom qui contient le nom du client et une colonne Index qui est unique pour chaque entrée. Remarquez que le nom du client est répété quatre fois, mais chaque fois avec des combinaisons différentes d’espaces de début et de fin :

Ligne Espace de début Espace de fin Nom (entre guillemets pour plus de clarté) Index Longueur du texte
1 Non Non "Dylan Williams" 1 14
2 Non Oui "Dylan Williams " 10 15
3 Oui Non " Dylan Williams" 20 15
4 Oui Oui " Dylan Williams " 40 16

Ces variations peuvent se produire avec la saisie manuelle des données au fil du temps. Dans Power Query, les données résultantes sont présentées comme suit.

Capture d’écran de données textuelles avec divers espaces de début et de fin dans Power Query

Lorsque vous accédez à l’onglet Données dans Power BI après avoir chargé les données, la même table ressemble à l’image suivante.

Une capture d’écran des mêmes données textuelles après chargement dans Power BI renvoyant le même nombre de lignes que précédemment.

Cependant, un visuel basé sur ces données ne renvoie que deux lignes.

Une capture d’écran d’un visuel de table basé sur les mêmes données ne renvoie que deux lignes de données : la première ligne a un indice total de 60 et la deuxième ligne a un indice total de 11.

Comme le montre l’image ci-dessus, la première ligne a une valeur totale de ’60’ pour le champ Index, ce qui permet de conclure que la première ligne du visuel représente les deux dernières lignes des données chargées précédemment, tandis que la deuxième ligne avec une valeur totale de ’11’ pour Index représente les deux premières lignes. La différence entre le nombre de lignes entre le visuel et le tableau de données est due au fait que le moteur supprime automatiquement les espaces de fin, mais pas ceux de début. Ainsi, les première et deuxième lignes et les troisième et quatrième lignes sont considérées comme identiques et le visuel renvoie donc ces résultats.

Ce comportement peut se produire lorsque vous travaillez avec des visuels, et aussi avec des messages d’erreur liés aux relations, car des valeurs dupliquées sont détectées. Par exemple, selon la configuration de vos relations, vous pouvez voir une erreur similaire à l’image suivante.

Capture d’écran d’un message d’erreur indiquant : La colonne ’Name’ de la table ’Customers’ contient une valeur en double ’Dylan Williams’, ce qui n’est pas autorisé pour les colonnes situées d’un côté d’une relation multiple ou pour les colonnes utilisées comme clé primaire d’une table.

Dans d’autres situations, il se peut que vous ne puissiez pas créer une relation plusieurs-à-un ou un-à-un parce que des valeurs en double sont détectées.

Capture d’écran de la boîte de dialogue de relation montrant une erreur « la cardinalité que vous avez sélectionnée n’est pas valide pour cette relation », qui est liée à la détection de valeurs en double.

Ces erreurs sont dues à des espaces de début ou de fin et peuvent être résolues en utilisant la fonction Text.Trim pour supprimer ces espaces dans la fenêtre de transformation des données.

Type True/false

Vrai/Faux : valeur booléenne Vrai ou Faux.

Power BI convertit et affiche les données différemment dans certaines situations. Cette section décrit les cas courants de conversion de valeurs booléennes et comment traiter les conversions qui créent des résultats inattendus dans Power BI.

Pour obtenir les résultats les plus performants et les plus cohérents, lors du chargement d’une colonne qui contient des informations booléennes (true/false) dans Power BI, affectez au type de colonne la valeur True/False, comme décrit et expliqué dans l’exemple suivant.

Dans cet exemple, nous avons chargé des données indiquant si nos clients se sont inscrits à notre bulletin d’informations : la valeur TRUE indique que le client s’est inscrit au bulletin d’informations, alors que la valeur FALSE indique que le client ne s’est pas inscrit. Toutefois, lorsque nous publions le rapport dans le service Power BI, nous constatons que la colonne indiquant le suivi de l’état d’inscription au bulletin d’informations affiche 0 et -1 au lieu des valeurs attendues TRUE et FALSE. Les collections suivantes d’étapes impliquant l’interrogation, la publication et l’actualisation des données décrivent comment les conversions se produisent et comment les traiter.

La requête simplifiée pour cette table est illustrée ci-dessous.

Colonnes définies comme booléennes

Le type de données de la colonne Subscribed To Newsletter (Inscrit à la lettre d’informations) est défini sur Any (Quelconque) et, en raison de ce paramétrage, les données sont chargées en tant que texte dans le modèle Power BI :

Les données chargées dans Power BI apparaissent comme prévu

Quand nous ajoutons une visualisation simple affichant les informations détaillées par client, les données apparaissent dans le visuel comme prévu, à la fois dans Power BI Desktop et en cas de publication dans le service Power BI.

Le visuel montre les données apparaissant comme prévu

Toutefois, lorsque nous actualisons le jeu de données dans le service Power BI, la colonne Subscribed To Newsletter (Inscrit à la lettre d’informations) dans les visuels affiche les valeurs -1 et 0 au lieu des valeurs TRUE et FALSE :

Le visuel montre les données apparaissant dans un format non prévu après l’actualisation

Si nous republions le rapport à partir de Power BI Desktop, la colonne Subscribed To Newsletter affiche à nouveau TRUE ou FALSE comme prévu, mais une fois qu’une actualisation a lieu dans le service Power BI, les valeurs sont de nouveau modifiées pour afficher -1 et 0.

La solution pour s’assurer que cela ne se produise pas consiste à définir toutes les colonnes booléennes sur le type True/False dans Power BI Desktop et à republier votre rapport.

Modifier le type de données de la colonne en true/false

Lorsque la modification est apportée, la visualisation affiche les valeurs de la colonne Subscribed To Newsletter de manière légèrement différente. Au lieu que le texte soit entièrement en majuscules (comme entré dans la table), il est désormais en italique et seule la première lettre est majuscule, ce qui est le résultat de la modification du type de données de la colonne.

Les valeurs s’affichent différemment lorsque le type de données est modifié

Une fois que le type de données a été modifié et republié dans le service Power BI, et lorsqu’une actualisation se produit, les valeurs sont affichées sous la forme True ou False, comme prévu.

Lorsque les valeurs true ou false utilisent le type de données true false, les données apparaissent comme prévu après l’actualisation

En résumé, lorsque vous travaillez avec des données booléennes dans Power BI, assurez-vous que les colonnes sont définies sur le type de données True/False dans Power BI Desktop.

Type Vide/Null

Vide : type de données dans DAX qui représente et remplace les valeurs null SQL. Vous pouvez créer une valeur vide à l’aide de la fonction VIDE et vérifier la présence de valeurs vides à l’aide de la fonction logique ESTVIDE.

Type de données Binaire

Le type de données Binaire peut être utilisé pour représenter n’importe quelles autres données au format binaire. Dans l’Éditeur Power Query, vous pouvez l’utiliser lors du chargement de fichiers binaires si vous le convertissez en d’autres types de données avant de le charger dans le modèle Power BI. Les colonnes binaires ne sont pas prises en charge dans le modèle de données Power BI. Il existe dans les menus Vue de données et Vue de rapport pour des raisons de compatibilité, mais si vous essayez de charger des colonnes binaires dans le modèle Power BI, vous pouvez rencontrer des erreurs.

Notes

Si une colonne binaire se trouve dans le résultat des étapes d’une requête, une tentative d’actualisation des données via une passerelle peut provoquer des erreurs. Il est recommandé de supprimer explicitement toutes les colonnes binaires comme dernière étape dans vos requêtes.

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 retournent une table qui peut ensuite servir d’entrée pour d’autres fonctions. Dans certaines fonctions qui nécessitent une table comme entrée, vous pouvez spécifier une expression qui correspond à une table. Pour certaines fonctions, une référence à une table de base est obligatoire. Pour plus d’informations sur les exigences relatives à des fonctions spécifiques, consultez Référence des fonctions DAX.

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

Chaque fonction DAX a des exigences spécifiques quant aux types de données 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 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, dans de nombreux cas DAX retourne une erreur. Toutefois, dans la mesure du possible DAX essaie de convertir implicitement les données vers le type de données requis. Par exemple :

  • Vous pouvez taper une date comme chaîne. DAX l’analysera et tentera d’effectuer un cast vers l’un des formats de date et d’heure de Windows.
  • 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 additionnez des valeurs de deux colonnes et que l’une d’elles est représentée en tant que texte ("12") et l’autre en tant que nombre (12), DAX convertit implicitement la chaîne en nombre, puis effectue l’addition pour obtenir 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.

Tableau des 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 quand il est couplé avec le type de données dans la ligne d’intersection.

Notes

Les types de données texte ne sont pas inclus dans ces tableaux. Quand un nombre est représenté comme dans un format texte, dans certains cas Power BI tente de déterminer le type numérique et le représente sous forme de nombre.

Addition (+)

Opérateur(+) ENTIER DEVISE RÉEL Date/Heure
ENTIER ENTIER DEVISE RÉEL Date/Heure
DEVISE DEVISE DEVISE RÉEL Date/Heure
RÉEL RÉEL RÉEL RÉEL 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 avec des données de devise, les deux valeurs sont converties en nombre réel et le résultat retourné est un nombre réel.

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(-) ENTIER DEVISE RÉEL Date/Heure
ENTIER ENTIER DEVISE RÉEL RÉEL
DEVISE DEVISE DEVISE RÉEL RÉEL
RÉEL RÉEL RÉEL RÉEL RÉEL
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.

Notes

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(*) ENTIER DEVISE RÉEL Date/Heure
ENTIER ENTIER DEVISE RÉEL ENTIER
DEVISE DEVISE RÉEL DEVISE DEVISE
RÉEL RÉEL DEVISE RÉEL RÉEL

Par exemple, si un entier 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 un nombre réel.

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érator(/) (ligne/colonne) ENTIER DEVISE RÉEL Date/Heure
ENTIER RÉEL DEVISE RÉEL RÉEL
DEVISE DEVISE RÉEL DEVISE RÉEL
RÉEL RÉEL RÉEL RÉEL RÉEL
Date/Heure RÉEL RÉEL RÉEL RÉEL

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 expressions de comparaison, les valeurs booléennes sont considérées comme supérieures aux valeurs de chaîne et celles-ci sont considérées comme supérieures aux valeurs numériques ou de date/heure. Les nombres et les valeurs de date et d’heure sont considérés comme ayant le même rang. Aucune conversion implicite n’est effectuée pour les valeurs de chaîne ou booléennes. 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 ENTIER DEVISE RÉEL Date/Heure
ENTIER ENTIER DEVISE RÉEL RÉEL
DEVISE DEVISE DEVISE RÉEL RÉEL
RÉEL RÉEL RÉEL RÉEL RÉEL
Date/Heure RÉEL RÉEL RÉEL Date/heure

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 toutes représentées par le même nouveau type de valeur, VIDE. Vous pouvez également générer des vides à l’aide de la fonction VIDE, ou vérifier la présence de vides à l’aide de la fonction ESTVIDE.

Le traitement des vides dans des opérations telles que l’addition ou la concaténation dépend de la fonction. Le tableau suivant résume les différences entre les formules DAX et Microsoft Excel, dans la façon dont les vides 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 Infini Erreur
0/VIDE NaN Erreur
VIDE/VIDE VIDE Erreur
FAUX OU VIDE FAUX FAUX
FAUX ET VIDE FAUX FAUX
VRAI OU VIDE VRAI VRAI
VRAI ET VIDE FAUX VRAI
VIDE OU VIDE VIDE Erreur
VIDE ET VIDE VIDE Erreur

Étapes suivantes

Vous pouvez effectuer toutes sortes d’opérations avec Power BI Desktop et des données. Pour plus d’informations sur ses fonctionnalités, passez en revue les ressources suivantes :