← Toutes les astuces

Dual() : afficher « Septembre » tout en triant comme le mois 9

Dual() associe une représentation texte à une valeur numérique. Parfait pour les mois, statuts ordonnés et libellés métier.

Deux valeurs en une

Dual() conserve simultanément un texte visible et une valeur numérique. L’utilisateur voit « Septembre », tandis que Qlik peut utiliser 9 pour le tri. On sépare ainsi présentation et ordre logique.

Le problème

Un tri alphabétique des mois donne Avril, Août, Décembre… au lieu de l’ordre chronologique.

À surveiller
// Forcer un libellé purement textuel peut
// conduire à un tri alphabétique :
Text(Month(DateCommande)) AS Mois
Écriture conseillée
// Month() est déjà dual :
Month(DateCommande) AS Mois

// Pour personnaliser explicitement le texte :
Dual(
    Date(DateCommande, 'MMMM'),
    Month(DateCommande)
) AS Mois

Month() renvoie déjà un dual : libellé du mois et numéro de 1 à 12. Dual() devient utile pour personnaliser le texte affiché sans perdre la valeur numérique de tri. Attention : une dimension limitée au mois regroupe plusieurs années si elles sont présentes.