#1 Thu 26 September 2024 17:32
- cyrille
 - Participant assidu
 - Date d'inscription: 7 Feb 2006
 - Messages: 403
 
QGIS: Somme recursive ?
Bonjour,
J'ai besoin de faire ceci sous QGIS : cf image jointe.
J'ai une colonne A et une colonne B.
A contient des valeurs numériques. Je souhaite calculer dans B les valeurs cumulatives de A. 
En B1 = valeur de A1
En B2 = valeur de B1+A2
EN B3 =valeur de B2+A3
etc..
important la colonne A est classée par ordre de valeurs descendante
Si possible dans la calculatrice .
Merci
Dernière modification par cyrille (Thu 26 September 2024 17:41)
Hors ligne
#2 Thu 26 September 2024 19:37
- laurent00
 - Participant assidu
 - Date d'inscription: 6 Aug 2007
 - Messages: 432
 
Re: QGIS: Somme recursive ?
bonsoir
peut-être ici https://georezo.net/forum/viewtopic.php?id=124606
LJ
Hors ligne
#3 Fri 27 September 2024 09:26
- cyrille
 - Participant assidu
 - Date d'inscription: 7 Feb 2006
 - Messages: 403
 
Re: QGIS: Somme recursive ?
Bonjour, merci de votre post mais j'avais déja testé et ca ne fonctionne pas. Contrairement à la personne je n'ai pas de champ pour trier autre que celui sur lequel je veux faire la somme.
Hors ligne
#4 Mon 30 September 2024 16:16
- LPlante
 - Participant occasionnel
 - Date d'inscription: 17 Nov 2021
 - Messages: 48
 
Re: QGIS: Somme recursive ?
Bonjour 
Piste de réflexion en plaçant cette commande en valeur par defaut sur la colonne B en cochant appliquer la valeur sur la mise à jour 
Code:
"a"+aggregate(
  layer:='cumulative',
  aggregate:='max',
  expression:="b",
  filter:=
      "a" > attribute(@parent,'a'),
order_by := "a" 
      )La valeur désirée semble correctement calculée.
Par contre j'imagine qu'il faut recalculer l'ensemble des valeurs avec A inférieur à la nouvelle valeur.
Je sais pas comment tu comptes renseigner les nouvelles valeurs
EDIT modération: mise en forme de code
Hors ligne
#5 Mon 30 September 2024 16:23
- SANTANNA
 - Moderateur
 - Lieu: Angers
 - Date d'inscription: 18 Jan 2008
 - Messages: 4139
 
Re: QGIS: Somme recursive ?
Bonjour,
merci de votre post mais j'avais déja testé et ca ne fonctionne pas.
La première ou la seconde suggestion de code?
Hors ligne
#6 Tue 01 October 2024 14:18
- cyrille
 - Participant assidu
 - Date d'inscription: 7 Feb 2006
 - Messages: 403
 
Re: QGIS: Somme recursive ?
Merci de vos reponses. Je suis parvenu à mes fins avec la première suggestion.
1 j'ajoute une colonne avec les points à la cellule. Outil Vecteur | Outil d’analyse | Compter les points dans les polygones
2 Je calcule un champ avec le Pourcentage de points par cellule / total de points. La formule à utiliser est la suivante ("NUMPOINTS" / sum("NUMPOINTS")) * 100 dans la calculatrice.
3 Création d’un champ intermédiaire numérotant les cellules de 1 à N. avant je trie par ordre decroissant la cellule des pourcentages. 
Code:
count ("id") - ( array_find(
           array_agg($id,
                     order_by:="POURCENTAG"),
           $id))ou ID est un champ avec ID unique
4 (4)    Calcul de la somme récursive du champ %.     
Code:
array_sum( with_variable( 'id_current', "NUM", array_agg( expression:="NUMCLI",order_by:="NUM", filter:="NUM"<=@id_current) ) )
J'arrive bien a ma legende avec les 25 % des effectifs en 4 classes et avec de plus en plus de grilles pour arriver à 25 %.
La cellule la plus peuplée contient 4.5 % des points, si nous ajoutons la deuxième la plus peuplée qui contient 3.5 % des points, nous arrivons à 8 % et ainsi de suite jusque 25 % des effectifs pour 8 cellules. Il faut ensuite 15 cellules toujours pour arriver à 25 % des effectifs puis 24 cellules pour arriver à 25 % des effectifs avec des cellules de moins en moins peuplées.
Dernière modification par cyrille (Tue 01 October 2024 14:21)
Hors ligne


