#1 Thu 26 September 2019 14:10
- SEVIN Benoit
- Participant occasionnel
- Date d'inscription: 28 Dec 2018
- Messages: 44
QGIS 3: Calcul "date"+ "nbre de jours"
Bonjour,
J'aurais besoin de vos lumière concernant les calculs avec des champs au format date.
Je souhaite tout simplement ajouter un nombre de jours à une date.
Je bloque en vain sur l'expression à utiliser. (Et peut-être sur le format des champs à utiliser)
Cordialement,
Hors ligne
#2 Thu 26 September 2019 17:11
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3945
Re: QGIS 3: Calcul "date"+ "nbre de jours"
Bonjour,
Vu la diversité des formats d'affichage possible de date, je pense qu'un peu plus de détails sur ce que vous avez comme données en entrée et ce que vous souhaitez obtenir en sortie sera nécessaire. Autrement, les opérations classiques sont possibles pourvu que fassiez attention au format de ce que vous essayez de combiner (et le message d'erreur de la fenêtre calculatrice peut grandement aiguiller).
Hors ligne
#3 Thu 26 September 2019 17:25
- SEVIN Benoit
- Participant occasionnel
- Date d'inscription: 28 Dec 2018
- Messages: 44
Re: QGIS 3: Calcul "date"+ "nbre de jours"
Bonjour ,
Merci de votre réactivité
En entrée, j'ai le champ "DEBUT" au format date yyyy-MM-dd
Je souhaite y ajouter le nombre n de jour figurant dans le champ "DUREE" (j'ai essayé différent format pour celui ci mais sans succès)
En Sortie je souhaite le champ "FIN" au format date yyyy-MM-dd
Hors ligne
#4 Fri 27 September 2019 09:00
- SEVIN Benoit
- Participant occasionnel
- Date d'inscription: 28 Dec 2018
- Messages: 44
Re: QGIS 3: Calcul "date"+ "nbre de jours"
Bonjour,
Cette exemple fonctionne :
to_datetime("DEBUT")+ to_interval( '10 day')
mais ça ne fonctionne plus si je cherche à remplacer la valeur "10" par le champ "DUREE"(en format nombre) :
to_datetime("DEBUT")+ to_interval( ' "DUREE" day')
ou
to_datetime("DEBUT")+ to_interval( "DUREE" || 'day')
Cela ne doit pourtant pas être bien compliqué !
Hors ligne
#5 Fri 27 September 2019 10:38
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3945
Re: QGIS 3: Calcul "date"+ "nbre de jours"
Bonjour,
Code:
to_datetime("DEBUT")+ to_interval( "DUREE" || 'day')
Bizarre que celui-là ne marche pas. Il m'a l'air syntaxiquement correct et n'ayant pas les champs adéquats, une expression du genre
Code:
to_datetime($now)+ to_interval( 10 || 'day')
(vous pouvez l'essayer?) me renvoie bien un résultat espéré de type date heure sur le 07/10. Vous pouvez aussi juste essaye?r
Code:
to_interval( "DUREE" || 'day') -- en passant, day peut être remplacé par jours, ça fonctionne
Quel est donc le message d'erreur que vous avez? le champ DUREE est-il renseigné pour toutes les entités mises à jour (je suppose que c'est un champ numérique)? Quels sont le type de champ de FIN et le type de couche de stockage?
Hors ligne
#6 Mon 30 September 2019 10:34
- SEVIN Benoit
- Participant occasionnel
- Date d'inscription: 28 Dec 2018
- Messages: 44
Re: QGIS 3: Calcul "date"+ "nbre de jours"
Bonjour,
Je n'arrive pas à comprendre pourquoi ça ne fonctionne pas.
J'ai essayé soit en créant un champ de date "FIN" en champ virtuel soit en champ classique avec la formule renseigné dans valeur par défaut.
Au mieux il me renvoie la date "DEBUT" sans ajouter la "DUREE".
J'ai essayé avec le champ DUREE" en décimal ou entier
Initialement, J'ai prévu la couche comme un fichier dbf seul, mais pour tester j'ai également essayé avec un fichier SHP.
C'est bon de commencer la semaine avec les problèmes qui n'ont pas pu être réglé le vendredi
Cordialement
Hors ligne
#7 Mon 30 September 2019 11:03
- SEVIN Benoit
- Participant occasionnel
- Date d'inscription: 28 Dec 2018
- Messages: 44
Re: QGIS 3: Calcul "date"+ "nbre de jours"
Je viens de comprendre et ça fonctionne
il ne faut pas oublier l'espace avant ' day'
Beaucoup de temps pour si peu, mais le principal c'est que ça fonctionne.
Merci
Hors ligne