Excel DAX - Utilisation du texte et des dates

DAX peut être utilisé dans les scénarios impliquant l'utilisation de texte, l'extraction et la composition de valeurs de date et d'heure ou la création de valeurs basées sur une condition. Vous pouvez effectuer les opérations suivantes avec DAX -

  • Créez une colonne clé dans une table par concaténation.
  • Composez une date en fonction des parties de date extraites d'une date de texte.
  • Définissez un format de date personnalisé.
  • Modifiez les types de données à l'aide d'une formule.
    • Convertissez les nombres réels en nombres entiers.
    • Convertissez des nombres réels, des entiers ou des dates en chaînes.
    • Convertissez les chaînes en nombres réels ou en dates.

Création d'une colonne clé par concaténation

Le modèle de données dans PowerPivot n'autorise qu'une seule colonne de clé. Il ne prend pas en charge les clés composites que vous pourriez trouver dans les sources de données externes. Par conséquent, si des clés composites existent dans une table de la source de données, vous devez les combiner en une seule colonne de clé pour la table dans le modèle de données.

Vous pouvez utiliser la fonction DAX CONCATENER pour combiner deux colonnes en une seule colonne dans une table du modèle de données. La fonction DAX CONCATENATE joint deux chaînes de texte en une seule chaîne de texte. Les éléments joints peuvent être du texte, des nombres ou des valeurs booléennes représentées sous forme de texte ou d'une combinaison de ces éléments. Vous pouvez également utiliser une référence de colonne si la colonne contient les valeurs appropriées.

= CONCATENATE ([Column1], [Column2])

La fonction DAX CONCATENATE n'accepte que deux arguments. Si l'un des arguments n'est pas de type de données texte, il sera converti en texte. La fonction DAX CONCATENATE renvoie la chaîne concaténée.

Date basée sur les parties de date extraites d'une date texte

Le modèle de données dans Power Pivot prend en charge un type de données datetime pour les valeurs de date et d'heure. Les fonctions DAX qui fonctionnent sur les valeurs de date et / ou d'heure nécessitent le type de données datetime pour les arguments.

Si votre source de données contient des dates d'un format différent, vous devez d'abord extraire les parties de date à l'aide d'une formule DAX et combiner ces parties pour constituer un type de données datetime DAX valide.

Vous pouvez utiliser les fonctions DAX suivantes pour extraire et composer des dates -

DATE - Renvoie la date spécifiée au format datetime.

DATEVALUE - Convertit une date sous forme de texte en une date au format datetime.

TIMEVALUE - Convertit une heure au format texte en une heure au format datetime.

Définition d'un format de date personnalisé

Supposons que les dates de votre source de données ne soient pas représentées par un format standard. Vous pouvez définir un format de date personnalisé pour vous assurer que les valeurs sont gérées correctement. La fonction DAX FORMAT vous permet de convertir une valeur en texte selon le format spécifié.

FORMAT (<value>, <format_string>)

La fonction FORMAT renvoie une chaîne contenant une valeur formatée comme définie par format_string.

Vous pouvez soit utiliser des formats de date et d'heure prédéfinis, soit créer des formats de date et d'heure définis par l'utilisateur pour l'argument format_string de la fonction FORMAT.

Voici les noms de format de date et d'heure prédéfinis. Si vous utilisez des chaînes autres que ces chaînes prédéfinies, elles seront interprétées comme un format de date et d'heure personnalisé.

S. Non. Format_String & Description
1

"General Date"

Affiche une date et / ou une heure. Par exemple, 2/10/2015 10:10:32 AM

2

"Long Date" or "Medium Date"

Affiche une date selon le format de date longue. Par exemple, mercredi 7 mars 2016

3

"Short Date"

Affiche une date au format de date courte. Par exemple, 2/03/2016

4

"Long Time"

Affiche une heure au format longue durée.

Inclut généralement les heures, les minutes et les secondes.

Par exemple, 10:10:32 AM

5

"Medium Time"

Affiche une heure au format 12 heures.

Par exemple, 21h30

6

"Short Time"

Affiche une heure au format 24 heures.

Par exemple, 14:15

Vous pouvez également utiliser les caractères du tableau suivant pour créer des formats de date / heure définis par l'utilisateur.

S. Non. Caractère et description
1

:

Séparateur de temps.

Séparateur de temps. Sépare les heures, les minutes et les secondes lorsque les valeurs d'heure sont formatées.

2

/

Séparateur de date.

Sépare le jour, le mois et l'année de mise en forme des valeurs de date.

3

%

Utilisé pour indiquer que le caractère suivant doit être lu comme un format à une seule lettre sans tenir compte des lettres de fin. Également utilisé pour indiquer qu'un format à une seule lettre est lu comme un format défini par l'utilisateur.

Voici les détails des différents personnages.

  • %d - Affiche le jour sous forme de nombre sans zéro non significatif (par exemple 5).

  • %dd - Affiche le jour sous la forme d'un nombre avec un zéro non significatif (par exemple 05).

  • %ddd - Affiche le jour sous forme d'abréviation (par exemple Soleil).

  • %dddd - Affiche le jour sous forme de nom complet (par exemple dimanche).

  • %M - Affiche le mois sous forme de nombre sans zéro non significatif (par exemple, janvier est représenté par 1).

  • %MM - Affiche le mois sous la forme d'un nombre avec un zéro non significatif (par exemple, janvier est représenté par 01).

  • %MMM - Affiche le mois sous forme d'abréviation (par exemple, janvier est représenté par janvier).

  • %MMMM - Affiche le mois sous forme de nom de mois complet (par exemple, janvier).

  • %gg - Affiche la chaîne période / ère (par exemple AD).

  • %h- Affiche l'heure sous forme de nombre sans zéros non significatifs en utilisant l'horloge sur 12 heures (par exemple 13:15:15). Utilisation%h s'il s'agit du seul caractère de votre format numérique défini par l'utilisateur.

  • %hh - Affiche l'heure sous forme de nombre avec des zéros non significatifs en utilisant l'horloge de 12 heures (par exemple 13:15:15 PM).

  • %H- Affiche l'heure sous forme de nombre sans zéros non significatifs en utilisant l'horloge de 24 heures (par exemple 13:15:15, 1:15:15). Utilisez% H s'il s'agit du seul caractère de votre format numérique défini par l'utilisateur.

  • %HH - Affiche l'heure sous forme de nombre avec des zéros non significatifs en utilisant l'horloge de 24 heures (par exemple 13:15:15, 1:15:15).

  • %m- Affiche les minutes sous forme de nombre sans zéros non significatifs (par exemple 2: 1: 15). Utilisez% m s'il s'agit du seul caractère de votre format numérique défini par l'utilisateur.

  • %mm - Affiche les minutes sous la forme d'un nombre avec des zéros non significatifs (par exemple 2:01:15).

  • %s- Affiche la seconde sous forme de nombre sans zéros non significatifs (par exemple 2: 15: 5). Utilisez% s s'il s'agit du seul caractère de votre format numérique défini par l'utilisateur.

  • %ss - Affiche la seconde sous forme de nombre avec des zéros non significatifs (par exemple 2:15:05).

  • %f- Affiche des fractions de secondes. Pour par exempleff affiche des centièmes de secondes, alors que ffffaffiche dix millièmes de secondes. Vous pouvez utiliser jusqu'à septfsymboles dans votre format défini par l'utilisateur. Utilisation%f s'il s'agit du seul caractère de votre format numérique défini par l'utilisateur.

  • %t- Utilise l'horloge de 12 heures et affiche un A majuscule pour toute heure avant midi; affiche un P majuscule pour toute heure entre midi et 23 h 59. Utilisez% t s'il s'agit du seul caractère de votre format numérique défini par l'utilisateur.

  • %tt- Pour les paramètres régionaux qui utilisent une horloge de 12 heures, affiche un AM majuscule avec une heure avant midi; affiche un PM majuscule avec n'importe quelle heure entre midi et 23 h 59. Pour les paramètres régionaux utilisant une horloge de 24 heures, n'affiche rien.

  • %y- Affiche le numéro de l'année (0-9) sans zéros non significatifs. Utilisation%y s'il s'agit du seul caractère de votre format numérique défini par l'utilisateur.

  • %yy - Affiche l'année au format numérique à deux chiffres avec un zéro non significatif, le cas échéant.

  • %yyy - Affiche l'année au format numérique à quatre chiffres.

  • %yyyy - Affiche l'année au format numérique à quatre chiffres.

  • %z- Affiche le décalage du fuseau horaire sans zéro non significatif (par exemple -8). Utilisation%z s'il s'agit du seul caractère de votre format numérique défini par l'utilisateur.

  • %zz- Affiche le. décalage du fuseau horaire avec un zéro non significatif (par exemple -08)

  • %zzz - Affiche le décalage complet du fuseau horaire (par exemple -08: 00).

Comme vous pouvez le constater, les chaînes de formatage sont sensibles à la casse. Un formatage différent peut être obtenu en utilisant un cas différent.

Modification des types de données des sorties de formule DAX

Dans les formules DAX, le type de données de la sortie est déterminé par les colonnes source et vous ne pouvez pas spécifier explicitement le type de données du résultat. Cela est dû au fait que le type de données optimal est déterminé par Power Pivot. Toutefois, vous pouvez utiliser les conversions de type de données implicites effectuées par Power Pivot pour manipuler le type de données de sortie. Sinon, vous pouvez utiliser certaines fonctions DAX pour convertir le type de données de sortie.

Using the Implicit Data Type Conversions

  • Pour convertir une date ou une chaîne de nombres en nombre, multipliez par 1,0. Par exemple, = (AUJOURD'HUI () + 5) * 1.0. Cette formule calcule la date actuelle plus 5 jours et convertit le résultat en une valeur entière.

    • Pour convertir une valeur de date, de nombre ou de devise en chaîne, concaténez la valeur avec une chaîne vide. Par exemple, = Aujourd'hui () & ""

Using the DAX Functions for Data Type Conversions

Vous pouvez utiliser les fonctions DAX pour ce qui suit -

  • Conversion de nombres réels en nombres entiers.
  • Conversion de nombres réels, entiers ou dates en chaînes.
  • Conversion de chaînes en nombres réels ou en dates.

Vous apprendrez cela dans les sections suivantes.

Conversion de nombres réels en nombres entiers

Vous pouvez utiliser les fonctions DAX suivantes pour convertir des nombres réels en entiers -

ROUND (<number>, <num_digits>) - Arrondit un nombre au nombre de chiffres spécifié et renvoie un nombre décimal.

CEILING (<number>, <significance>) - Arrondit un nombre vers le haut, à l'entier le plus proche ou au multiple de signification le plus proche et renvoie un nombre décimal.

FLOOR (<number>, <significance>) - Arrondit un nombre vers le bas, vers zéro, au multiple de signification le plus proche et renvoie un nombre décimal.

Conversion de nombres réels, d'entiers ou de dates en chaînes

Vous pouvez utiliser les fonctions DAX suivantes pour convertir des nombres réels, des entiers ou des dates en chaînes -

FIXED (<number>, [<decimals>], [<no_comma>])- Arrondit un nombre et renvoie le résultat sous forme de texte. Le nombre de chiffres à droite de la virgule décimale est 2 ou le nombre de décimales spécifié. Le résultat est avec des virgules ou éventuellement sans virgule.

FORMAT (<value>, <format_string>) - Convertit une valeur en texte selon le format spécifié.

Vous avez déjà appris à utiliser la fonction Format pour convertir des dates en chaînes.

Conversion de chaînes en nombres réels ou en dates

Vous pouvez utiliser les fonctions DAX suivantes pour convertir des chaînes en nombres réels ou en dates -

VALUE (<text>) - Convertit une chaîne de texte qui représente un nombre en nombre.

DATEVALUE (date_text) - Convertit une date sous forme de texte en une date au format datetime.

TIMEVALUE (time_text) - Convertit une heure au format texte en une heure au format datetime.