Message posté par : SANTANNA
----------------------------------------
Bonjour,
Je regarde la pièce jointe et ne sais pas trop quoi en déduire; y_2 est carrément vide
donc à quoi correspondent les 2eme et 3eme plus grandes valeurs auxquelles vous faites
référence ?
Si je comprends votre code, l'idée c'est de classer les valeurs de y_2, et
comparer y à celles-ci. Selon le rang obtenu, on assigne la valeur AUTO qui décroît. Or la
valeur AUTO part de 4 et vous avez plus que 4 entités. Que se passe-t-il si y_2(6)< y
< y_2(5)? Et comment gerez-vous l'égalité (soit entre y et y_2 ou si y_2 a
plusieurs valeurs identiques), les valeurs nulles? Bref, il y a peut-être encore quelques
points à ajuster dans le concept.
Toutefois, pour ce qui est du comment, (pas testé mais...) les fonctions array
(
https://docs.qgis.org/3.16/fr/docs/user_manual/expressions/functions_list.h…)
peuvent permettre de créer une liste des valeurs de y_2, y ajouter la valeur y en cours,
trier et renvoyer l'index de la valeur y (donc son classement) dans cette liste
triée.
Une autre option (peut-être plus facile), utiliser la fonction aggregate (count) pour
compter le nombre de valeurs y_2 supérieures à y et déduire la position donc AUTO.
Attention aux doublons y_2...
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=348010#p348010
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net