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

Rencontres QGIS 2025

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

#1 Thu 16 February 2023 14:22

NMonteix
Participant occasionnel
Date d'inscription: 7 Jan 2020
Messages: 11

QGIS 3.22: Erreur Impossible de calculer Sum sur les valeurs String

Bonjour,
Je cherche à connaître la surface cumulée d'un nombre de polygones d'une couche A ayant la valeur v dans un champ C qui intersecte une couche B.
La surface a été calculée dans un champ C2 de la couche A:

Code:

round($area,1)

J'ai déployé cette expression:

Code:

aggregate(
layer:='couche_A',
aggregate:='sum',
expression:='champ_C2',
filter:=intersects($geometry, geometry(@parent)) AND "Champ_C"='valeur_v'
 )

Le résultat est ce message d'erreur:

Erreur d'évaluation: Impossible de calculer l’agrégat pour : 'champ_C2' (Impossible de calculer sum sur les valeurs string)


J'ai tout essayé pour faire passer la surface, calculée par QGis, en nombre réel, y compris l'ajout d'une colonne dans la couche A en déployant to_real(
Merci par avance de toute explication sur ce qui (me) semble passablement irrationnel...

Hors ligne

 

#2 Thu 16 February 2023 14:43

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

Re: QGIS 3.22: Erreur Impossible de calculer Sum sur les valeurs String

Bonjour,
QGIS essaye de calculer l'aggregat "somme" pour la chaine de caractère 'champ_C2' --> il renvoi naturellement une erreur
il faut dire à qgis de faire l'aggregat sur un attribut --> il faut utiliser " à la place de ' --> "champ_C2"

PS :
Une formule plus compact pour votre opération :

Code:

array_sum(
overlay_intersects(
layer := 'couche_A',
expression :=  round($area,1),
filter := "Champ_C"='valeur_v'
)

Dernière modification par shirosaki (Thu 16 February 2023 14:45)


Paul QUESNOT

Hors ligne

 

#3 Thu 16 February 2023 15:02

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3945

Re: QGIS 3.22: Erreur Impossible de calculer Sum sur les valeurs String

il faut utiliser " à la place de ' --> "champ_C2"


Je peux faire mon "je te l'avais bien dit" ici? big_smile

Hors ligne

 

#4 Thu 16 February 2023 15:18

NMonteix
Participant occasionnel
Date d'inscription: 7 Jan 2020
Messages: 11

Re: QGIS 3.22: Erreur Impossible de calculer Sum sur les valeurs String

@shirosaki, merci pour la formule compacte qui fonctionne parfaitement
@Santanna, dont acte... J'ai déjà copié sur 100 post-it "tu encadreras les champs avec des guillemets"...

Dernière modification par NMonteix (Thu 16 February 2023 15:19)

Hors ligne

 

Pied de page des forums

Powered by FluxBB