Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
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,

1 Solution

Accepted Solutions
sfatoux72
Partner - Specialist
Partner - Specialist

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.

View solution in original post

2 Replies
lcloatre
Partner - Creator III
Partner - Creator III

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
Partner - Specialist
Partner - Specialist

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.