#1 Thu 26 September 2024 17:32
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
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: 404
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: 401
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: 44
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: 3944
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: 401
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