banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Thu 26 September 2024 19:37

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 404

Re: QGIS: Somme recursive ?

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,

cyrille a écrit:

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)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB