#1 Tue 24 June 2025 11:10
- Vincent Vauchey
- Participant assidu
- Lieu: saint jean de braye
- Date d'inscription: 24 Jan 2006
- Messages: 297
QGIS: recupere valeur depuis table de lien
Bonjour
J'ai 2 tables , une table de point (sondage) avec un champ ''NUM_SONDAGE'' et une table sans géométrie (horizons) avec un champ ''NUM_SONDAGE''
qui et la base de la relation.
Pour le sondage 1 j'ai 5 horizons
Pour le sondage 2 j'ai 2 horizons
je voudrais dans ma mise en page (fiche sondage) récupérer les valeurs de mes horizons en fonction des sondages.
Dans la mise en page j'ai un atlas depuis la couche ''SONDAGE'' sur la valeur du champ ''NUM_SONDAGE'' je récupère les valeurs des horizons avec un tableau sans problème.
Par contre j'ai un graphique avec des bloques de couleur qui change en fonction des données des horizons, j'utilise la fonction ''
Code:
attribute( get_feature('BASE_SAISIE_TERRAIN — HORIZON SONDAGE V3','NUM_HORIZON',1 ),'PROF_HORIZON') ''
pour récupérer la profondeur, mon problème est que je ne peux avoir que la première valeur de la table ''horizon'' même quand je passe sur le sondage 2.
Je cherche à avoir la valeur 'PROF_HORIZON' de mon 'NUM_HORIZON' 'x' pour le ''NUM_SONDAGE'' 'x'
Je sais qu'il me manque juste une variable spécifier la valeur sondage, mais je ne trouve pas.
Par avance merci pour votre aide.
Cordialement
Dernière modification par Vincent Vauchey (Tue 24 June 2025 13:04)
Hors ligne
#2 Tue 24 June 2025 13:04
- Vincent Vauchey
- Participant assidu
- Lieu: saint jean de braye
- Date d'inscription: 24 Jan 2006
- Messages: 297
Re: QGIS: recupere valeur depuis table de lien
J'ai mis à jour ma demande
Hors ligne
#3 Tue 24 June 2025 14:20
- Al3+
- Participant actif
- Lieu: Fécamp
- Date d'inscription: 5 Sep 2005
- Messages: 70
Re: QGIS: recupere valeur depuis table de lien
Pas sûr d'avoir tout bien compris mais si la question est de savoir comment appliquer une recherche sur plusieurs critères pour la fonction get_feature, alors voici une piste avec la fonction map [map(key1,value1,key2,value2…)].
Ca donnerait quelque chose comme ça :
Code:
attribute( get_feature('BASE_SAISIE_TERRAIN — HORIZON SONDAGE V3',map('NUM_HORIZON',1,'NUM_SONDAGE',X) ),'PROF_HORIZON')
Où X est probablement dépendant de l'entité courante avec une valeur du genre attributes(@atlas_feature)['NUM_SONDAGE']
Hors ligne
#4 Tue 24 June 2025 14:43
- Vincent Vauchey
- Participant assidu
- Lieu: saint jean de braye
- Date d'inscription: 24 Jan 2006
- Messages: 297
Re: QGIS: recupere valeur depuis table de lien
c'est l'idée,
Code:
'Horizon 1 : 0 - '|| attribute( get_feature('BASE_SAISIE_TERRAIN — HORIZON SONDAGE V3',map('NUM_HORIZON',1,'NUM_PROFIL',(@atlas_feature)['NUM_PROFIL']) ),'PROF_HORIZON') || ' cm'
mais j'ai une erreur : Erreur d'évaluation: [] can only be used with map or array values, not QgsFeatur
Par avance merci
Hors ligne
#5 Tue 24 June 2025 14:46
- Vincent Vauchey
- Participant assidu
- Lieu: saint jean de braye
- Date d'inscription: 24 Jan 2006
- Messages: 297
Re: QGIS: recupere valeur depuis table de lien
si je force la valeur X cela fonctionne
Code:
'Horizon 1 : 0 - '|| attribute( get_feature('BASE_SAISIE_TERRAIN — HORIZON SONDAGE V3',map('NUM_HORIZON',1,'NUM_PROFIL',1) ),'PROF_HORIZON') || ' cm'
Je voudrais juste que X égal valeur courante atlas sur NUM_PROFIL
Hors ligne
#6 Tue 24 June 2025 14:52
- Vincent Vauchey
- Participant assidu
- Lieu: saint jean de braye
- Date d'inscription: 24 Jan 2006
- Messages: 297
Re: QGIS: recupere valeur depuis table de lien
J'ai trouvé !!!!!
Code:
'Horizon 1 : 0 - '|| attribute( get_feature('BASE_SAISIE_TERRAIN — HORIZON SONDAGE V3',map('NUM_HORIZON',1,'NUM_PROFIL',attributes(@feature)['NUM_PROFIL']) ),'PROF_HORIZON') || ' cm'
Merci Al3+ pour la voie ++
Hors ligne