Je ne comprends pas pourquoi mon SET ANALYSIS ne marche pas dans ces cas là
Parce que vous essayez de faire une somme dans une expression sensée sortir une liste de sélection.
La version avec un "if" s'écrit comme ça :
=if(aggr(count(distinct id_RUM), id_RSA) >= 2, id_RSA)
"si, quand on compte le nombre de RUM par RSA, on obtient un chiffre supérieur ou égal à 2, alors on prend le RSA"
La version avec un set analysis s'écrit comme ça :
=aggr(only({$ <id_RSA={'=count(distinct id_RUM) >= 2'}>} id_RSA), id_RSA)
"on fait la liste des RSA qui répondent à la condition "count(RUM) >= 2""
Une autre solution consiste à rajouter une expression "nombre de RUM" dans la liste des "RSA" et trier la liste par nombre de RUM décroissant.
Voire même trier par
rangemin(count(distinct id_RUM), 2)
ce qui fait que tous ceux qui ont 2 RUM et plus seront en haut de la liste, et les autres en bas.
Si vous mettez en plus une autre condition de tri (ordre alphabétique), celle-ci sera conservée car on aura au maximum "2" pour toutes les valeurs de RSA qui ont 2 et plus.
A voir à l'utilisation ce qui est le plus rapide.
Partager