Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Printemps des cartes 2024

#1 Fri 30 July 2021 18:42

Will987
Participant occasionnel
Date d'inscription: 23 Jul 2021
Messages: 12

QGIS: Somme recursif (Somme cumulee)

Bonjour,

Quelqu'un sait comment faire une somme récursive sur QGIS ( La somme entre le champ présent et son précédent) avec la calculatrice de champ ou avec l'éditeur de fonction en python ?

Exemple ci-joint avec la colonne I-lum comme référence, et I-Res-P1 comme colonne résultante.

Je remercie d'avance, ceux qui pourront m'aider.

Dernière modification par Will987 (Fri 30 July 2021 18:43)


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

Hors ligne

 

#2 Tue 10 August 2021 10:29

shirosaki
Participant actif
Lieu: Lyon
Date d'inscription: 30 Mar 2018
Messages: 124

Re: QGIS: Somme recursif (Somme cumulee)

Bonjour, avec la version 3.20 de QGIS vous pouvez utiliser la formule suivante :

array_sum(
with_variable(
'id_current',
"id",
array_agg(
expression:="length",order_by:="id", filter:="id"<=@id_current)
)
)


https://zupimages.net/viewer.php?id=21/32/0y4b.png

Si vous n'avez pas cette version de QGIS, vous pouvez installer l'extension "array_plus" qui rajoutera des formules pour les array

Dernière modification par shirosaki (Tue 10 August 2021 10:29)


Paul QUESNOT

Hors ligne

 

#3 Wed 25 August 2021 22:27

Will987
Participant occasionnel
Date d'inscription: 23 Jul 2021
Messages: 12

Re: QGIS: Somme recursif (Somme cumulee)

Bonjour,
merci pour votre réponse, cela m'a beaucoup aidé . Jusqu'à aujourd'hui, je n'avais remarqué qu'on m'avait répondu.

J'aurai une dernière question : Si j'ai besoin de réaliser une somme cumulée regroupé par rapport a la valeur d'un autre attribut

exemple :

Attribut A    | Attribut B | Cumul

  22A                10              10

  22A                20              30 

  22B                22              22

Dans cet exemple je réalise une somme cumulée de l'attribut B regroupé par la valeur de l'attribut A

Si c'est possible, comment je dois m'y prendre ?

Hors ligne

 

#4 Thu 26 August 2021 08:58

shirosaki
Participant actif
Lieu: Lyon
Date d'inscription: 30 Mar 2018
Messages: 124

Re: QGIS: Somme recursif (Somme cumulee)

Bonjour,
Dans ce cas là,
il faut rajouter un argument "group_by" à la formule :

Code:

array_sum(
with_variable(
'id_current',
"id",
array_agg(
expression:="length",order_by:="id", filter:="id"<=@id_current, group_by:="group")
)
)

https://zupimages.net/viewer.php?id=21/34/osnz.png

Dernière modification par shirosaki (Thu 26 August 2021 09:00)


Paul QUESNOT

Hors ligne

 

Pied de page des forums

Powered by FluxBB