#1 Wed 24 April 2019 19:22
- tiyan34
- Participant assidu
- Lieu: Montpellier
- Date d'inscription: 3 Mar 2006
- Messages: 158
QGIS 3.4.4: Expressions automatiques
Bonjour tout le monde,
je débute sur QGis depuis quelques jours apres un passage sur Mapinfo pendant X années, et j'ai découvert que l'on pouvait appliquer des expressions automatiques sur les champs des couches pour avoir des calculs automatiques lors de mises à jours de champs.
Mais je bloque car je ne suis pas familier avec le code...
Ce que j'essaye de faire :
je dois mettre à jour très régulièrement des champs d'une couche, pour celà j'utilise des jointures via un fichier excel
Contrairement à Mapinfo (si je ne me trompe pas) , Qgis ne met pas à jour automatiquement les champs existants d'une couche mais crée un nouveau champ temporaire (qu'on peut ensuite enregistrer dans le projet).
Apres avoir réalisé ma jointure, pour mon Champ nommé "NCS_max" que je veux mettre à jour, il est simple en utilisant la calculatrice d'ecrire "NCS_max = champ temporaire", en gros.
J'ai tout d'abord rencontré le problème des valeurs NULL au lieu de 0, ce qui m’embêtait car j'utilise une analyse thématique sur ce champ A, et que les valeurs NULL ne sont pas prises en compte par l'analyse thématique.
J'ai donc utilisé l'expression If("NCS_max" is null, 0, "NCS_max")
Ceci m'a dc permis de transformer les Null en 0
Mais je ne sais pas pourquoi, cette expression, m'efface toutes les autres données non nulles
J'essaye donc de trouver une expression automatique équivalente en code à : "if champ temporaire is null alors champ temporaire = 0 ; si champ temporaire non null alors champ temporaire garde sa valeur non null; et apres avoir fait ceci, champ NCS_max = champ temporaire"
Voilà, j'ai tenté d'expliquer ma situation, c'est surement un peu brouillon mais j’espère que quelqu'un qui a l'habitude de ce genre d'expression automatiques (et dc que l'on n'a pas à refaire à chaque fois, voir en Fichier joint l'expression automatique que j'avais écrite au départ dans les options de la couche, dans Formulaire d'attribut, et donc pour mon champ NCS_max) et pourra m'aider à trouver la bonne formule
Merci Beaucoup et bonne soirée
Yannick
Hors ligne
#2 Thu 25 April 2019 13:26
- sylvain poupard
- Participant assidu
- Date d'inscription: 19 Mar 2009
- Messages: 362
Re: QGIS 3.4.4: Expressions automatiques
Bonjour,
Si l'intérêt est de rendre l'analyse thématique possible sur les valeurs null je suis étonné que ça ne fonctionne pas.
Pouvez-vous faire un imprim' écran de votre symbologie?
Sinon êtes vous sûr que la case est bien vide? (ex:espace résiduel)
Sinon ajouter une occurrence dans l'AT sans remplir de valeur.
Sinon...
Pour le calcul automatique il faut peut-être regarder du côté des plugin (autofields?) ou passer par postgre.
Bon courage
Hors ligne