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 Power BI charge des données, il tente de convertir les types de données des colonnes sources en types de données qui prennent en charge le stockage, les calculs et la 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. Dans de nombreux cas, DAX convertit implicitement les types de données, mais parfois ce n’est pas 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’utiliser les types de données appropriés pour les colonnes.

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, dans la vue Données ou Rapport :

  • Dans l’éditeur Power Query, sélectionnez la colonne, puis cliquez sur Type de données dans le groupe Transformer du ruban.

    Screenshot of the Power Query Editor, showing the Data type dropdown selection.

  • Dans les vues Données ou Rapport, sélectionnez la colonne, puis cliquez sur la flèche déroulante en regard de Type de données sous l’onglet Outils de colonne du ruban.

    Screenshot of Data View, showing the Data type dropdown selection.

La liste déroulante Type de données dans l’éditeur Power Query comporte deux types de données absents dans les vues Données ou Rapport : Date/Heure/Fuseau horaire et Durée. Lorsque vous chargez une colonne avec ces types de données dans le modèle Power BI, une colonne Date/Heure/Fuseau horaire se convertit en type de données Date/heure, et une colonne Durée se convertit en un type de données Nombre décimal.

Le type de données Binaire n’est pas pris en charge en dehors de l’éditeur Power Query. Dans l’éditeur Power Query, vous pouvez utiliser le type de données Binaire 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. La sélection Binaire 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 de nombres : Nombre décimal, Nombre décimal fixe et Nombre entier.

Vous pouvez utiliser la propriété DataType de colonne TOM (Modèle d’objet tabulaire) pour spécifier les énumérations DataType pour les types de nombres. Pour plus d’informations sur la modification programmatique des objets dans Power BI, consultez Programmation des modèles sémantiques Power BI avec le modèle d’objet tabulaire.

Nombre décimal

Le Nombre décimal est le type de nombre le plus courant. Il peut gérer des nombres avec des valeurs fractionnaires et des nombres entiers. Le Nombre décimal représente des nombres à virgule flottante 64 bits (huit octets) avec des valeurs négatives comprises entre -1,79E +308 et -2,23E-308, des valeurs positives comprises entre 2,23E et 308 et 1,79E +308 et 0. Des nombres comme 34, 34,01, et 34,000367063 sont des nombres décimaux valides.

La précision la plus élevée que le type Nombre décimal peut représenter est de 15 chiffres. Le séparateur décimal peut figurer n’importe où dans le nombre. Ce type correspond à la façon dont Excel stocke ses nombres, et le TOM spécifie ce type en tant qu’Enum DataType.Double.

Nombre décimal fixe

Le type de données 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 que le nombre décimal fixe peut représenter est positive ou négative pour 922 337 203 685 477,5807.

Le type Nombre décimal fixe est utile dans les cas où l’arrondi peut introduire des erreurs. Avec les 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.

Ce type de données correspond au format Décimal (19,4) de SQL Server ou au type de données Devise dans Analysis Services et Power Pivot dans Excel. Le TOM spécifie ce type en tant qu’Enum DataType.Decimal.

Nombre entier

Le Nombre entier représente un entier 64 bits (huit octets). S’agissant d’un entier, le Nombre entier ne comporte aucun chiffre à droite du séparateur décimal. Ce type autorise 19 chiffres de 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 donc représenter les plus grands nombres possibles des types de données numériques.

Comme le Nombre décimal fixe, le type Nombre entier peut être utile lorsque vous avez besoin de contrôler l’arrondi. Le TOM représente le type de données Nombre entier sous la forme Enum DataType.Int64.

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 Power BI 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 votre modèle de données comporte des nombres plus importants, vous pouvez réduire leur taille par le biais de calculs avant de les ajouter aux visuels.

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.

Une perte de précision, ou imprécision, peut se produire si la valeur à virgule flottante ne peut pas quantifier de manière fiable le nombre de chiffres à virgule flottante. L’imprécision peut potentiellement 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é entre des valeurs du type Nombre décimal peuvent potentiellement donner des résultats inattendus. Les comparaisons d’égalité incluent égal à =, supérieur à >, inférieur à <, supérieur ou égal à >=et inférieur ou égal à <=.

Ce problème 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. Les utilisateurs du rapport peuvent ne pas percevoir la différence entre les deux chiffres, 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. Ce résultat est plus probable avec les colonnes qui ont à la fois une grande quantité de nombres positifs et 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 additionne la plupart des nombres positifs avant d’additionner la plupart des nombres négatifs, la grande somme partielle positive au début peut potentiellement fausser les résultats. Si le calcul se produit pour ajouter des nombres positifs et négatifs équilibrés, la requête conserve plus de précision et retourne donc des résultats 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 l’éditeur Power Query. Les éléments Date/Heure/Fuseau horaire et Durée sont convertis pendant le chargement dans le modèle de données Power BI Desktop. Le modèle prend en charge Date/Heure. Sinon, vous pouvez mettre en forme les valeurs en tant que Date ou Heure indépendamment.

  • Date/Heure représente une valeur de date et d’heure. La valeur Date/Heure sous-jacente est stockée sous la forme d’un type Nombre décimal. Vous pouvez donc effectuer une conversion entre les deux types. La partie Heure est stockée sous forme de fraction de multiples entiers de 1/300 seconde (3,33 ms). Le type de données prend en charge les dates comprises entre les années 1900 et 9999.

  • Date représente seulement une date (aucune partie heure). Une valeur de Date se convertit dans le modèle en une valeur de Date/Heure avec une valeur fractionnelle égale à zéro.

  • Heure représente simplement une heure sans date. Une valeur Heure se convertit dans le modèle en une valeur de Date/Heure sans aucun chiffre à gauche du séparateur décimal.

  • Date/Heure/Fuseau horaire représente une date/heure UTC avec un décalage de fuseau horaire et se convertit en Date/Heure lors du 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, qui est convertie en type Nombre décimal lors du chargement dans le modèle. En tant que type Nombre décimal, vous pouvez ajouter ou soustraire les valeurs des valeurs Date/Heure avec des résultats corrects, et utiliser facilement les valeurs dans les visualisations qui montrent l’ampleur.

Type Texte

Le type de données Texte est une chaîne de données de caractère Unicode. Il peut s’agir de lettres, de chiffres ou de dates représentés dans un format texte. La limite maximale pratique pour la longueur de chaîne est d’environ 32 000 caractères Unicode, en fonction du moteur Power Query sous-jacent de Power BI et de ses limites concernant les longueurs du type de données texte. Les types de données texte au-delà de la limite maximale pratique peuvent occasionner des erreurs.

La façon dont Power BI stocke les données de texte peut faire en sorte que les données s’affichent différemment dans certaines situations. Les sections suivantes décrivent les situations courantes qui peuvent entraîner une légère modification de l’apparence des données Texte entre l’interrogation des données dans l’éditeur Power Query et leur chargement dans Power BI.

Respect de la casse

Le moteur qui stocke et interroge les données dans Power BI ne respecte pas la casse et traite les différentes majuscules des lettres comme la même valeur. « A » est égal à « a ». Toutefois, Power Query respecte la casse, où « A » n’est pas identique à « a ». La différence de respect de la casse peut entraîner des situations où les données de texte changent de mise en majuscule apparemment inexplicablement après le chargement dans Power BI.

L’exemple suivant montre les données de commande : une colonne Numéro de commande unique pour chaque commande et une colonne Destinataire qui affiche le nom du destinataire entré manuellement au moment de la commande. L’éditeur Power Query affiche plusieurs commandes avec les mêmes noms de Destinataires entrés dans le système avec des majuscules variables.

Screenshot of textual data with various capitalizations in Power Query

Une fois que Power BI a chargé les données, la mise en majuscules des noms en double dans l’onglet Données passe de l’entrée d’origine à l’une des variantes de mise en majuscules.

Screenshot that shows the textual data with changed capitalization after loading into Power BI.

Cette modification se produit parce que l’éditeur Power Query respecte la casse. Il affiche donc les données exactement comme elles sont stockées dans le système source. Le moteur qui stocke des données dans Power BI ne respecte pas la casse. Il traite donc les versions minuscules et majuscules d’un caractère comme identiques. Les données Power Query chargées dans le moteur Power BI peuvent changer en conséquence.

Le moteur Power BI évalue chaque ligne individuellement lorsqu’il charge des données, en commençant par le haut. Pour chaque colonne de texte (par exemple, Destinataire), le moteur stocke un dictionnaire de valeurs uniques pour améliorer la performance via la compression des données. Le moteur voit les trois premières valeurs de la colonne Destinataire comme uniques et les stocke dans le dictionnaire. Après cela, comme le moteur ne respecte pas la casse, il évalue les noms comme identiques.

Le moteur voit le nom « Taina Hasu » comme identique à « TAINA HASU » et « Taina HASU », de sorte qu’il ne stocke pas ces variantes, mais fait référence à la première variante qu’il a stockée. Le nom « MURALI DAS » apparaît en majuscules, car c’est ainsi que le nom est apparu la première fois que le moteur l’a évalué lors du chargement des données de haut en bas.

Cette image illustre le processus d’évaluation :

Diagram that shows the data load process and mapping text values to a dictionary of unique values.

Dans l’exemple précédent, le moteur Power BI charge la première ligne de données, crée le dictionnaire Destinataires et y ajoute Taina Hasu. Le moteur ajoute également une référence à cette valeur dans la colonne Destinataire de la table qu’il charge. Le moteur fait de même pour les deuxième et troisième lignes, car ces noms ne sont pas équivalents aux autres lorsque vous ignorez la casse.

Pour la quatrième ligne, le moteur compare la valeur aux noms du dictionnaire et recherche le nom. Étant donné que le moteur ne respecte pas la casse, « TAINA HASU » et « Taina Hasu » sont identiques. Le moteur n’ajoute pas de nouveau nom au dictionnaire, mais se réfère au nom existant. Le même processus se produit pour les lignes restantes.

Notes

Étant donné que le moteur qui stocke et interroge les données dans Power BI ne respecte pas la casse, faites particulièrement attention lorsque vous travaillez en mode DirectQuery avec une source respectant la casse. Power BI suppose que la source a éliminé les lignes en double. Étant donné que Power BI ne respecte pas la casse, il traite deux valeurs qui diffèrent uniquement par casse comme dupliquées, alors que la source peut ne pas les traiter comme telles. Dans ce cas, le résultat final est indéfini.

Pour éviter cette situation, si vous utilisez le mode DirectQuery avec une source de données respectant la casse, normalisez la casse dans la requête source ou dans l’éditeur Power Query.

Espaces de début et de fin

Le moteur Power BI supprime automatiquement toutes les espaces de fin qui suivent les données texte, mais ne supprime pas les espaces de début qui précèdent les données. Pour éviter toute confusion, 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 des espaces au début ou à la fin du texte. Si vous ne supprimez pas d’espaces de début, une relation peut ne pas être créée en raison de valeurs dupliquées, ou des visuels peuvent retourner des résultats inattendus.

L’exemple suivant montre 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. Les noms s’affichent entre guillemets pour plus de clarté. 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. Ces variations peuvent se produire avec la saisie manuelle des données au fil du temps.

Ligne Espace de début Espace de fin Nom Index Longueur du texte
1 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

Dans l’éditeur Power Query, les données obtenues s’affichent comme suit.

Screenshot of textual data with various leading and trailing spaces in Power Query Editor.

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, avec le même nombre de lignes qu’auparavant.

Screenshot of the same textual data after loading into Power BI returns the same number of rows as before.

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

Screenshot of a table visual based on the same data returning just two lines of data.

Dans l’image précédente, la première ligne a une valeur totale de 60 pour le champ Index. La première ligne du visuel représente donc les deux dernières lignes des données chargées. La deuxième ligne avec la valeur Index total de 11 représente les deux premières lignes. La différence dans le nombre de lignes entre le visuel et la table de données est due au fait que le moteur supprime automatiquement les espaces de fin, mais pas ceux de début. Ainsi, le moteur évalue les première et deuxième lignes, et les troisième et quatrième lignes, comme identiques, et le visuel retourne ces résultats.

Ce comportement peut causer 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 :

Screenshot of an error message about duplicate values.

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.

Screenshot of the relationship dialog showing a 'the cardinality you selected isn't valid for this relationship' error, which is related to duplicate values being detected.

Vous pouvez effectuer le suivi de ces erreurs dans les espaces de début ou de fin, et les résoudre à l’aide de Text.Trim ou de Trim sous Transformer pour supprimer les espaces dans l’éditeur Power Query.

Type True/false

Le type de données True/false est une valeur booléenne True ou False. 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.

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.

Dans cet exemple, vous chargez des données indiquant si vos clients se sont inscrits à votre newsletter. Une valeur TRUE indique que le client s’est abonné à la newsletter, et une valeur FALSE qu’il n’est pas abonné.

Toutefois, lorsque vous publiez le rapport dans le service Power BI, la colonne indiquant le suivi de l’état d’inscription à la newsletter affiche 0 et -1 au lieu des valeurs attendues TRUE et FALSE. Les étapes suivantes décrivent comment cette conversion se produit et comment l’empêcher.

La requête simplifiée pour cette table est illustrée dans l’image suivante :

Screenshot that shows columns set to Boolean.

Le type de données de la colonne Abonné à la newsletter est défini sur Tout et, par conséquent, Power BI charge les données dans le modèle en tant que Texte.

Screenshot showing the data loaded into Power BI.

Quand vous ajoutez 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.

Screenshot of a visual that shows the data appearing as expected.

Toutefois, lorsque vous actualisez le modèle sémantique dans le service Power BI, la colonne Abonné à la newsletter dans les visuels affiche les valeurs -1 et 0 au lieu des valeurs TRUE et FALSE :

Screenshot of a visual that shows data appearing in an unexpected format after refresh.

Si vous republiez le rapport à partir de Power BI Desktop, la colonne Abonné à la 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.

Pour éviter ce problème, il faut définir toutes les colonnes booléennes sur le type True/False dans Power BI Desktop et republier votre rapport.

Screenshot of changing the data type of the column to True/False.

Lorsque vous effectuez la modification, la visualisation affiche les valeurs de la colonne Abonné à la newsletter légèrement différemment. Au lieu que le texte soit en majuscules comme entré dans la table, seule la première lettre est en majuscule. Cette modification est l’une des conséquences de la modification du type de données de la colonne.

Screenshot of values appearing differently when you change the data type.

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.

Screenshot that shows true or false values that use the True/false data type appear as expected after refresh.

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

Vide est un type de données 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.

Binary, type

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 utiliser ce type de données 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. La sélection Binaire 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 la 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 retournent une table que vous pouvez ensuite utiliser comme entrée dans d’autres fonctions.

Dans certaines fonctions qui nécessitent une table comme entrée, vous pouvez spécifier une expression qui correspond à une table. Certaines fonctions nécessitent une référence à une table de base. Pour plus d’informations sur les exigences relatives à des fonctions spécifiques, consultez Référence des fonctions DAX.

Conversions de types de données implicites et explicites

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, 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 :

  • Si vous tapez 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 TRUE + 1 et obtenir le résultat 2, car DAX convertit implicitement TRUE en nombre 1 et l’opération 1 + 1 est effectuée.
  • Si vous additionnez des valeurs dans 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 = « 22 » + 22 retourne « 44 ».
  • Si vous essayez de concaténer deux nombres, DAX les présente sous forme de chaînes, puis concatène. L’expression = 12 & 34 retourne« 1234 ».

Tables des conversions de données implicites

L’opérateur détermine le type de conversion que DAX effectue en faisant un cast des valeurs dont il a besoin avant d’effectuer l’opération demandée. Les tables suivantes répertorient les opérateurs et la conversion que DAX effectue sur chaque type de données lorsqu’il est associé au type de données dans la cellule d’intersection.

Notes

Ces tables n’incluent pas le type de données Texte. Quand un nombre est représenté 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 (+)

ENTIER DEVISE RÉEL Date/Heure
INTEGER ENTIER DEVISE RÉEL Date/Heure
CURRENCY DEVISE DEVISE RÉEL Date/Heure
REAL RÉEL RÉEL RÉEL Date/Heure
Date/Heure Date/Heure Date/Heure Date/Heure Date/Heure

Par exemple, si une addition utilise un nombre réel en combinaison avec des données de devise, DAX convertit les deux valeurs en REAL et renvoie le résultat en 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).

ENTIER DEVISE RÉEL Date/Heure
INTEGER ENTIER DEVISE REAL RÉEL
CURRENCY DEVISE DEVISE REAL RÉEL
REAL RÉEL RÉEL RÉEL RÉEL
Date/Heure Date/Heure Date/Heure Date/Heure Date/Heure

Par exemple, si une soustraction utilise une date avec un autre type de données, DAX convertit les deux caleurs en dates et la valeur de retour est également une date.

Notes

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

ENTIER DEVISE RÉEL Date/Heure
INTEGER ENTIER DEVISE RÉEL ENTIER
CURRENCY DEVISE RÉEL DEVISE DEVISE
REAL RÉEL DEVISE REAL RÉEL

Par exemple, si une multiplication associe un nombre entier avec un nombre réel, DAX convertit les deux nombres 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.

ENTIER DEVISE RÉEL Date/Heure
INTEGER RÉEL DEVISE REAL RÉEL
CURRENCY DEVISE RÉEL DEVISE REAL
REAL RÉEL RÉEL RÉEL RÉEL
Date/Heure real RÉEL RÉEL RÉEL

Par exemple, si une division associe un nombre entier avec une valeur monétaire, DAX convertit les deux valeurs en nombres réels, et le résultat est également un nombre réel.

Opérateurs de comparaison

Dans les expressions de comparaison, DAX considère les valeurs booléennes supérieures aux valeurs de chaîne et les valeurs de chaîne supérieures aux valeurs numériques ou de date/heure. Les nombres et les valeurs date/heure ont le même rang.

DAX n’effectue pas de conversions implicites pour les valeurs booléennes ou de chaîne. VIDE (ou valeur vide) est convertie en 0, «», ou False, selon le 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 ».

  • =IF("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 ».

DAX effectue des conversions implicites pour les types numériques ou de date/heure, comme décrit dans la table suivante :

Comparaison
Opérateur
ENTIER DEVISE RÉEL Date/Heure
INTEGER ENTIER DEVISE REAL RÉEL
CURRENCY DEVISE DEVISE REAL RÉEL
REAL RÉEL RÉEL RÉEL RÉEL
Date/Heure real RÉEL RÉEL Date/heure

Vides, chaînes vides et 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. La table suivante 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

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