Qlik Community

Groupe des Utilisateurs Francophones

Vous êtes francophone? Ce groupe est pour vous. Venez découvrir comment démarrer avec Qlik Sense et QlikView, poser vos questions et partager vos tutos et astuces avec les membres de notre communauté.

Highlighted
Not applicable

Ordre de tri par expression - Ne pas trier par état

Bonjour.

Lorsque je trie par expression, qlikview considère quand même le trie par état.

Dans le document joint, on voit en haut à droite la liste des jours de la semaine correctement triée quand rien n'est sélectionné. En revanche, si nous effectuons une sélection sur un des jours, l'ordre de trie de la liste change et le jour sélectionné s'affiche en bas de liste. J'aimerai que rien ne bouge.

Cordialement,

Tags (1)
1 Solution

Accepted Solutions
sfatoux72
Valued Contributor

Re: Ordre de tri par expression - Ne pas trier par état

Salut,

Tu n'as pas besoin de créer des dual car tes champs "Jour de semaine de ..." sont déjà des Dual, car ils ont été créé avec la fonction WeekDay().

Tu n'as donc pas besoin de trier en fonction d'une expression, mais simplement en fonction de valeur numérique croissant.

Dès que tu auras fait ça tu verras que le premier jour est le mardi, car la variable d'environnement FirstWeekDay est configurée à 1 (mardi) alors qu'elle devrait être définie à 0 (lundi)  ==> voir FirstWeekDay ‒ QlikView

Un rechargement et tout sera en ordre.

2 Replies
lcloatre
Contributor III

Re: Ordre de tri par expression - Ne pas trier par état

Bertrand,

Je pense que tu devrais passer par la fonction DUAL. Voir ci-dessous.

Dual

dual( s , x )

Association forcée d'une représentation de chaîne arbitraire s à une représentation numérique donnée x. Dans

QlikView, lorsque plusieurs éléments de données lus dans un champ ont différentes représentations de

chaîne mais la même représentation numérique valide, ils partagent tous la première représentation de chaîne

rencontrée. La fonction dual est généralement utilisée au début du script, avant que d'autres données ne

soient lues dans le champ concerné, afin de créer cette première représentation de chaîne qui sera affichée

dans les listes de sélection, etc.

Exemple :

load dual ( string,numrep ) as JourSemaine inline

[ string,numrep

Lundi,0

Mardi,1

Mercredi,2

Jeudi,3

Vendredi,4

Samedi,5

Dimanche,6 ];

load Date, weekday(Date) as JourSemaine from unfichier.csv;

Cet exemple de script génère un champ JourSemaine avec les jours de la semaine écrits en toutes lettres.

QlikView considérera toujours ce champ comme un champ numérique.

sfatoux72
Valued Contributor

Re: Ordre de tri par expression - Ne pas trier par état

Salut,

Tu n'as pas besoin de créer des dual car tes champs "Jour de semaine de ..." sont déjà des Dual, car ils ont été créé avec la fonction WeekDay().

Tu n'as donc pas besoin de trier en fonction d'une expression, mais simplement en fonction de valeur numérique croissant.

Dès que tu auras fait ça tu verras que le premier jour est le mardi, car la variable d'environnement FirstWeekDay est configurée à 1 (mardi) alors qu'elle devrait être définie à 0 (lundi)  ==> voir FirstWeekDay ‒ QlikView

Un rechargement et tout sera en ordre.