#1 Mon 20 February 2023 12:41
- Oliv38
- Participant actif
- Date d'inscription: 21 Dec 2011
- Messages: 140
QGIS: Etiquettes liees à des relations
Bonjour,
J'ai un projet QGIS dans lequel j'ai défini des relations entre tables dans les propriétés.
Je n'arrive cependant pas à utiliser cette relation pour faire apparaître des étiquettes calculées qui font appel à des champs des tables liées, alors que dans l'interface de "formule" j'ai bien accès à l'identifiant de la relation.
De la même manière, j'ai voulu essayer de réaliser une symbologie à partir de relations mais je m'oppose à la même difficulté.
S'il était possible de m'indiquer si une syntaxe permet cela, je suis preneur.
Je vous remercie par avance pour votre temps, Oliv
Hors ligne
#2 Mon 20 February 2023 13:55
- shirosaki
- Participant actif
- Lieu: Lyon
- Date d'inscription: 30 Mar 2018
- Messages: 125
Re: QGIS: Etiquettes liees à des relations
Bonjour,
Pour faire appel à des attributs issus d'une relation, vous devez faire appel à la formule "relation_aggregate".
Exemple :
Disons que vous avez une relation entre une couche polygone (parente) et une couche point (enfant) --> la couche point a un attribut "donnees"
voici la syntaxe pour afficher la somme de l'attribut "données" pour les polygones (couche parent)
Code:
relation_aggregate( relation := 'nom_de_la_relation', aggregate := 'sum' expression := "donnees")
Dernière modification par shirosaki (Mon 20 February 2023 14:09)
Paul QUESNOT
Hors ligne
#3 Mon 20 February 2023 15:37
- Oliv38
- Participant actif
- Date d'inscription: 21 Dec 2011
- Messages: 140
Re: QGIS: Etiquettes liees à des relations
Bonjour,
merci pour ces précisions.
Il semblerait cependant que je ne parvienne pas, pour l'instant avec cette méthode, à aller chercher un autre champ de la couche enfant que celui qui permet la jointure...
Je m'y prends surement mal.
Oliv
Hors ligne
#4 Mon 20 February 2023 15:42
- Oliv38
- Participant actif
- Date d'inscription: 21 Dec 2011
- Messages: 140
Re: QGIS: Etiquettes liees à des relations
Au temps pour moi, j'ai tapé la formule dans la mauvaise case.
Ca semble bien fonctionner.
Merci beaucoup.
Hors ligne