2 votes

Comment configurer un contrôle avec des noms de mois

Dans ma base de données, j'ai une colonne created_at (format date_heure). Je voudrais créer un tableau de bord analytique dans lequel il sera possible de filtrer les données par create_at en indiquant le nom du mois (un ou plusieurs - choix multiple).

J'ai ajouté un nouveau champ calculé "mois" dans l'ensemble de données avec la formule suivante :

formatDate(truncDate("MM",{created_at}),"MM" )

En conséquence, j'obtiens une nouvelle colonne avec des chaînes de caractères comme "01", "02", etc.

J'ai créé un nouveau paramètre : nom : Month Type de données : chaîne de caractères Valeurs : valeurs multiples : {01, 02, 03 ....}

J'ai créé un nouveau contrôle : nom : Mois Style : liste déroulante à sélection multiple Valeurs : Lien vers un champ de l'ensemble de données -> Ensemble de données -> Colonne Mois

J'ai créé un nouveau filtre pour les colonnes Mois, basé sur le paramètre Mois.

Mon problème est le suivant : comment obtenir le même résultat (filtrage par mois, sélection multiple) en affichant les noms des mois dans le contrôle, et non pas "01", "02", etc. Est-ce possible ?

UPDATE

Il est préférable d'avoir la formule suivante dans le champ calculé de Mois :

extract("MM",{create_at})

Mais cela ne résout pas mon problème....

4voto

MaciekR Points 38

C'est ce que j'ai fait, mais je n'aime vraiment pas cette solution car elle est trop laide...... Toute meilleure solution est la bienvenue :)

  • nouveau champ calculé month_number, avec formule :

    extract("MM",{create_at})

  • nouveau champ calculé nom_mois avec formule :

    ifelse({numéro_mois}=1, "Jan",ifelse({numéro_mois}=2, "Feb",ifelse({numéro_mois}=3, "Mar",ifelse({numéro_mois}=4, "Apr",ifelse({numéro_mois}=5, "May",ifelse({numéro_mois}=6, "Jun", ifelse({numéro_mois}=7, "Jul",ifelse({numéro_mois}=8, "Aug",ifelse({numéro_mois}=9, "Sep",ifelse({numéro_mois}=10, "Oct",ifelse({numéro_mois}=11, "Nov",ifelse({numéro_mois}=12, "Dec", "Error"))))))))))))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X