[QGIS-it-user] Modifica formato data

Ho eseguito un Join tra uno shapefile e una tabella XLSX. Quindi ho salvato il tutto in un nuovo shapefile per rendere permanente il join. Fin qui tutto ok.
Sono passato poi a modificare, per le mie esigenze, alcuni dei Campi “importati”, con lo Join, dalla Tabella XLXS nello shapefile.
Ho cominciato dapprima nel trasformare (creandomi prima un nuovo campo apposito in formato testo e usando la funzione “to_string”) i numeri interi contenuti in un campo in formato numerico in “cifre” in formato testo contenute nel campo formato testo appositamente creato. Fin qui di nuovo tutto bene.
Infine, volevo trasformare, (creandomi prima un nuovo campo apposito in formato data e usando la funzione “format_date”) il formato delle date espresse come anno-mese-giorno (tipo: 1996-11-07) contenuti in uno dei campi “importati” con lo Join, in un formato più leggibile, espresso come giorno-mese-anno (tipo: 07-11-1996).
Il campo “sorgente” contenente le date espresse come anno-mese-giorno si chiama “DAY”.
Il campo “destinazione”, creato appositamente in formato data, che vorrei popolare con le date espresse nel nuovo formato, si chiama “GGMMAA”.
Con Calcolatore di Campi ho selezionato “Aggiorna campo esistente”, quindi ho selezionato il campo “GGMMAA” e, nel pannello delle espressioni ho scritto la funzione: format_date( “DAY”, ‘dd.MM.yyyy’).
Credo sia importante specificare che, una volta scritta la funzione, in Anteprima (posta alla base del pannello per le funzioni) mi appariva, come anteprima, la data correttamente espressa nel nuovo formato da me desiderato e, quindi, ciò mi fa pensare che la funzione sia stata scritta correttamente.
Malgrado ciò, quando però poi vado a cliccare su OK, il Campo “GGMMAA” mi si popola di deludenti “NULL”.
Ho fatto altre operazioni, sulla stessa Tabella attributi, con altre funzioni di Calcolatore di campi e tutto funziona bene.
Mi viene quindi da pensare che il problema sia solo nella funzione ‘format_date’.
Potreste fare dei test anche voi?
Grazie

…Forse potrebbe esservi di aiuto specificare che, nell’originaria tabella XLSX il Campo “DAY” (o meglio, trattandosi di foglio elettronico, la Colonna “DAY”) è formattata (a parte la prima riga del titolo) come Data e precisamente come data in stile Italiano, ossia giorno/mese/anno, o più genericamente DD/MM/YYYY.
Dopo aver eseguito il Join però, il Campo “DAY” della Tabella attributi (corrispondente alla Colonna “DAY” del foglio elettronico) è formattata si sempre come Data (ho controllato in Proprietà del Layer) ma con il formato anno-mese-giorno, ossia più genericamente YYYY-MM-DD

Il giorno ven 22 feb 2019 alle ore 21:53 Marco Spaziani <spaziani.marco@gmail.com> ha scritto:

Ho eseguito un Join tra uno shapefile e una tabella XLSX. Quindi ho salvato il tutto in un nuovo shapefile per rendere permanente il join. Fin qui tutto ok.
Sono passato poi a modificare, per le mie esigenze, alcuni dei Campi “importati”, con lo Join, dalla Tabella XLXS nello shapefile.
Ho cominciato dapprima nel trasformare (creandomi prima un nuovo campo apposito in formato testo e usando la funzione “to_string”) i numeri interi contenuti in un campo in formato numerico in “cifre” in formato testo contenute nel campo formato testo appositamente creato. Fin qui di nuovo tutto bene.
Infine, volevo trasformare, (creandomi prima un nuovo campo apposito in formato data e usando la funzione “format_date”) il formato delle date espresse come anno-mese-giorno (tipo: 1996-11-07) contenuti in uno dei campi “importati” con lo Join, in un formato più leggibile, espresso come giorno-mese-anno (tipo: 07-11-1996).
Il campo “sorgente” contenente le date espresse come anno-mese-giorno si chiama “DAY”.
Il campo “destinazione”, creato appositamente in formato data, che vorrei popolare con le date espresse nel nuovo formato, si chiama “GGMMAA”.
Con Calcolatore di Campi ho selezionato “Aggiorna campo esistente”, quindi ho selezionato il campo “GGMMAA” e, nel pannello delle espressioni ho scritto la funzione: format_date( “DAY”, ‘dd.MM.yyyy’).
Credo sia importante specificare che, una volta scritta la funzione, in Anteprima (posta alla base del pannello per le funzioni) mi appariva, come anteprima, la data correttamente espressa nel nuovo formato da me desiderato e, quindi, ciò mi fa pensare che la funzione sia stata scritta correttamente.
Malgrado ciò, quando però poi vado a cliccare su OK, il Campo “GGMMAA” mi si popola di deludenti “NULL”.
Ho fatto altre operazioni, sulla stessa Tabella attributi, con altre funzioni di Calcolatore di campi e tutto funziona bene.
Mi viene quindi da pensare che il problema sia solo nella funzione ‘format_date’.
Potreste fare dei test anche voi?
Grazie

ciao,
quale versione di QGIS e sistema operativo

puoi allegare i dati??

saluti

-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Hai ragione.
QGIS 3.4 e Windows 8.
Prima di allegare i dati voglio fare qualche altra prova, cioè voglio verificare se il problema si presenta anche su Tabelle e Campi in formato Data creati ad hoc, a prescindere dal Join, in modo da capire se è un problema che riguarda la funzione “format_data” in generale o se riguarda la funzione “format_data” solo per i Campi in formato Data generati da un Join.

Il giorno sab 23 feb 2019 alle ore 09:46 Totò <pigrecoinfinito@gmail.com> ha scritto:

ciao,
quale versione di QGIS e sistema operativo

puoi allegare i dati??

saluti


https://pigrecoinfinito.wordpress.com/

Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

Non va.
Ho creato uno shape file di punti ad hoc (e senza operare alcun Join, così non ci sono dubbi). Nella Tabella attributi ho creato due Campi in formato Data, chiamandoli rispetivamente “data1” e “data2”. Ho aggiunto 3 punti e, per ognuno dei tre punti, nel Campo “data1” ho inserito una data casuale dal calendarietto. Il sistema mi restituisce di default queste data nel formato anno-mese-giorno (yyyy-mm-dd). Il Campo “data2” l’ho lasciato volutamente vuoto. Quindi con Calcolatore di Campi ho selezionato ho optato per “Aggiorna un campo esistente” e, dal menù a tendina ho selezionato il Campo “data2”. Quindi nel pannello per la scrittura delle funzioni ho scritto:
format_date( “data1” ,‘dd.MM.yyyy’)
l’Anteprima mi fa vedere una data scritta proprio come da me desiderato, ossia in formato giorno-mese-anno (dd-mm-yyyy).
A questo punto cliccando su OK mi aspetterei che il Campo “data2” si popoli delle stesse date del Campo “data1” ma nel formato giorno-mese-anno …e invece no …si riempie solo di NULL.
E’ inutile che vi mandi i dati che ho usato, tanto “l’esperimento” su descritto è facilmente e rapidamente ripetibile da chiunque.
A questo punto direi che il Join esce dalla lista dei presunti colpevoli e che forse il problema sta proprio nella funzione “format_date”.

Il giorno sab 23 feb 2019 alle ore 10:53 Marco Spaziani <spaziani.marco@gmail.com> ha scritto:

Hai ragione.
QGIS 3.4 e Windows 8.
Prima di allegare i dati voglio fare qualche altra prova, cioè voglio verificare se il problema si presenta anche su Tabelle e Campi in formato Data creati ad hoc, a prescindere dal Join, in modo da capire se è un problema che riguarda la funzione “format_data” in generale o se riguarda la funzione “format_data” solo per i Campi in formato Data generati da un Join.

Il giorno sab 23 feb 2019 alle ore 09:46 Totò <pigrecoinfinito@gmail.com> ha scritto:

ciao,
quale versione di QGIS e sistema operativo

puoi allegare i dati??

saluti


https://pigrecoinfinito.wordpress.com/

Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

Ciao,

la spiegazione della funzione format_data() dice:
Format a date type or string into a custom string format. Uses Qt date/time format strings. See QDateTime::toString.

Mi sembra di capire che la funzione format_data() trasformi un input di tipo DATA in un output di tipo STRINGA, quindi in anteprima la stringa risultante viene mostrata correttamente ma quando dovrebbe essere scritta in un campo di tipo DATA non viene riconosciuta e di conseguenza restituisce NULL.

Per avere una data formattata in modo personalizzato si deve creare un campo di tipo stringa oppure nelle “Proprietà vettore” > “Attribute form” con “Tipo widget”: Data/ora si può indicare un “Field format” personalizzato.

Alessandro

···

Il 23/02/2019 12:08, Marco Spaziani ha scritto:

Non va.
Ho creato uno shape file di punti ad hoc (e senza operare alcun Join, così non ci sono dubbi). Nella Tabella attributi ho creato due Campi in formato Data, chiamandoli rispetivamente “data1” e “data2”. Ho aggiunto 3 punti e, per ognuno dei tre punti, nel Campo “data1” ho inserito una data casuale dal calendarietto. Il sistema mi restituisce di default queste data nel formato anno-mese-giorno (yyyy-mm-dd). Il Campo “data2” l’ho lasciato volutamente vuoto. Quindi con Calcolatore di Campi ho selezionato ho optato per “Aggiorna un campo esistente” e, dal menù a tendina ho selezionato il Campo “data2”. Quindi nel pannello per la scrittura delle funzioni ho scritto:
format_date( “data1” ,‘dd.MM.yyyy’)
l’Anteprima mi fa vedere una data scritta proprio come da me desiderato, ossia in formato giorno-mese-anno (dd-mm-yyyy).
A questo punto cliccando su OK mi aspetterei che il Campo “data2” si popoli delle stesse date del Campo “data1” ma nel formato giorno-mese-anno …e invece no …si riempie solo di NULL.
E’ inutile che vi mandi i dati che ho usato, tanto “l’esperimento” su descritto è facilmente e rapidamente ripetibile da chiunque.
A questo punto direi che il Join esce dalla lista dei presunti colpevoli e che forse il problema sta proprio nella funzione “format_date”.

Il giorno sab 23 feb 2019 alle ore 10:53 Marco Spaziani <spaziani.marco@gmail.com> ha scritto:

Hai ragione.
QGIS 3.4 e Windows 8.
Prima di allegare i dati voglio fare qualche altra prova, cioè voglio verificare se il problema si presenta anche su Tabelle e Campi in formato Data creati ad hoc, a prescindere dal Join, in modo da capire se è un problema che riguarda la funzione “format_data” in generale o se riguarda la funzione “format_data” solo per i Campi in formato Data generati da un Join.

Il giorno sab 23 feb 2019 alle ore 09:46 Totò <pigrecoinfinito@gmail.com> ha scritto:

ciao,
quale versione di QGIS e sistema operativo

puoi allegare i dati??

saluti


https://pigrecoinfinito.wordpress.com/

Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

_______________________________________________
QGIS-it-user mailing list
[QGIS-it-user@lists.osgeo.org](mailto:QGIS-it-user@lists.osgeo.org)
[https://lists.osgeo.org/mailman/listinfo/qgis-it-user](https://lists.osgeo.org/mailman/listinfo/qgis-it-user)

Marco wrote

volevo trasformare, (creandomi prima un nuovo campo apposito in formato
data e usando la funzione "format_date")
[...]
Il campo "sorgente" contenente le date espresse come anno-mese-giorno si
chiama "DAY".
Il campo "destinazione", creato appositamente in formato data, che vorrei
popolare con le date espresse nel nuovo formato, si chiama "GGMMAA".

Ciao Marco,
un campo in formato "data" contiene sostanzialmente un numero (di giorni a
partire da una certa data).
L'output della funzione format_data è invece in formato "stringa", quindi
non può essere utilizzato per immettere valori in un campo "data".
Per questo, nel calcolatore di campi vedrai correttamente l'anteprima
dell'output della funzione, ma risulterà impossibile immettere la stringa
nel campo in formato "data" che quindi diventerà di valore NULL.
Funzionerà invece correttamente utilizzando un campo "stringa".

Andrea

--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Grazie !!!

Il giorno sab 23 feb 2019 alle ore 14:36 Alessandro Perego <alsper78@gmail.com> ha scritto:

Ciao,

la spiegazione della funzione format_data() dice:
Format a date type or string into a custom string format. Uses Qt date/time format strings. See QDateTime::toString.

Mi sembra di capire che la funzione format_data() trasformi un input di tipo DATA in un output di tipo STRINGA, quindi in anteprima la stringa risultante viene mostrata correttamente ma quando dovrebbe essere scritta in un campo di tipo DATA non viene riconosciuta e di conseguenza restituisce NULL.

Per avere una data formattata in modo personalizzato si deve creare un campo di tipo stringa oppure nelle “Proprietà vettore” > “Attribute form” con “Tipo widget”: Data/ora si può indicare un “Field format” personalizzato.

Alessandro

Il 23/02/2019 12:08, Marco Spaziani ha scritto:

Non va.
Ho creato uno shape file di punti ad hoc (e senza operare alcun Join, così non ci sono dubbi). Nella Tabella attributi ho creato due Campi in formato Data, chiamandoli rispetivamente “data1” e “data2”. Ho aggiunto 3 punti e, per ognuno dei tre punti, nel Campo “data1” ho inserito una data casuale dal calendarietto. Il sistema mi restituisce di default queste data nel formato anno-mese-giorno (yyyy-mm-dd). Il Campo “data2” l’ho lasciato volutamente vuoto. Quindi con Calcolatore di Campi ho selezionato ho optato per “Aggiorna un campo esistente” e, dal menù a tendina ho selezionato il Campo “data2”. Quindi nel pannello per la scrittura delle funzioni ho scritto:
format_date( “data1” ,‘dd.MM.yyyy’)
l’Anteprima mi fa vedere una data scritta proprio come da me desiderato, ossia in formato giorno-mese-anno (dd-mm-yyyy).
A questo punto cliccando su OK mi aspetterei che il Campo “data2” si popoli delle stesse date del Campo “data1” ma nel formato giorno-mese-anno …e invece no …si riempie solo di NULL.
E’ inutile che vi mandi i dati che ho usato, tanto “l’esperimento” su descritto è facilmente e rapidamente ripetibile da chiunque.
A questo punto direi che il Join esce dalla lista dei presunti colpevoli e che forse il problema sta proprio nella funzione “format_date”.

Il giorno sab 23 feb 2019 alle ore 10:53 Marco Spaziani <spaziani.marco@gmail.com> ha scritto:

Hai ragione.
QGIS 3.4 e Windows 8.
Prima di allegare i dati voglio fare qualche altra prova, cioè voglio verificare se il problema si presenta anche su Tabelle e Campi in formato Data creati ad hoc, a prescindere dal Join, in modo da capire se è un problema che riguarda la funzione “format_data” in generale o se riguarda la funzione “format_data” solo per i Campi in formato Data generati da un Join.

Il giorno sab 23 feb 2019 alle ore 09:46 Totò <pigrecoinfinito@gmail.com> ha scritto:

ciao,
quale versione di QGIS e sistema operativo

puoi allegare i dati??

saluti


https://pigrecoinfinito.wordpress.com/

Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

_______________________________________________
QGIS-it-user mailing list
[QGIS-it-user@lists.osgeo.org](mailto:QGIS-it-user@lists.osgeo.org)
[https://lists.osgeo.org/mailman/listinfo/qgis-it-user](https://lists.osgeo.org/mailman/listinfo/qgis-it-user)


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

Grazie !!!

Il giorno sab 23 feb 2019 alle ore 14:44 andreaerdna <andreaerdna@libero.it> ha scritto:

Marco wrote

volevo trasformare, (creandomi prima un nuovo campo apposito in formato
data e usando la funzione “format_date”)
[…]
Il campo “sorgente” contenente le date espresse come anno-mese-giorno si
chiama “DAY”.
Il campo “destinazione”, creato appositamente in formato data, che vorrei
popolare con le date espresse nel nuovo formato, si chiama “GGMMAA”.

Ciao Marco,
un campo in formato “data” contiene sostanzialmente un numero (di giorni a
partire da una certa data).
L’output della funzione format_data è invece in formato “stringa”, quindi
non può essere utilizzato per immettere valori in un campo “data”.
Per questo, nel calcolatore di campi vedrai correttamente l’anteprima
dell’output della funzione, ma risulterà impossibile immettere la stringa
nel campo in formato “data” che quindi diventerà di valore NULL.
Funzionerà invece correttamente utilizzando un campo “stringa”.

Andrea


Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

salve marco,
hai provato a fare un campo virtuale utilizzando la stessa funzione ?
Saluti
Leonardo

Il 23/02/2019 12:08, Marco Spaziani ha scritto:

Non va.
Ho creato uno shape file di punti ad hoc (e senza operare alcun Join, così non ci sono dubbi). Nella Tabella attributi ho creato due Campi in formato Data, chiamandoli rispetivamente "data1" e "data2". Ho aggiunto 3 punti e, per ognuno dei tre punti, nel Campo "data1" ho inserito una data casuale dal calendarietto. Il sistema mi restituisce di default queste data nel formato anno-mese-giorno (yyyy-mm-dd). Il Campo "data2" l'ho lasciato volutamente vuoto. Quindi con Calcolatore di Campi ho selezionato ho optato per "Aggiorna un campo esistente" e, dal menù a tendina ho selezionato il Campo "data2". Quindi nel pannello per la scrittura delle funzioni ho scritto:
format_date( "data1" ,'dd.MM.yyyy')
l'Anteprima mi fa vedere una data scritta proprio come da me desiderato, ossia in formato giorno-mese-anno (dd-mm-yyyy).
A questo punto cliccando su OK mi aspetterei che il Campo "data2" si popoli delle stesse date del Campo "data1" ma nel formato giorno-mese-anno ...e invece no ...si riempie solo di NULL.
E' inutile che vi mandi i dati che ho usato, tanto "l'esperimento" su descritto è facilmente e rapidamente ripetibile da chiunque.
A questo punto direi che il Join esce dalla lista dei presunti colpevoli e che forse il problema sta proprio nella funzione "format_date".

Il giorno sab 23 feb 2019 alle ore 10:53 Marco Spaziani <spaziani.marco@gmail.com <mailto:spaziani.marco@gmail.com>> ha scritto:

    Hai ragione.
    QGIS 3.4 e Windows 8.
    Prima di allegare i dati voglio fare qualche altra prova, cioè
    voglio verificare se il problema si presenta anche su Tabelle e
    Campi in formato Data creati ad hoc, a prescindere dal Join, in
    modo da capire se è un problema che riguarda la funzione
    "format_data" in generale o se riguarda la funzione "format_data"
    solo per i Campi in formato Data generati da un Join.

    Il giorno sab 23 feb 2019 alle ore 09:46 Totò
    <pigrecoinfinito@gmail.com <mailto:pigrecoinfinito@gmail.com>> ha
    scritto:

        ciao,
        quale versione di QGIS e sistema operativo

        puoi allegare i dati??

        saluti

        -----
        https://pigrecoinfinito.wordpress.com/
        --
        Sent from:
        http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
        _______________________________________________
        QGIS-it-user mailing list
        QGIS-it-user@lists.osgeo.org <mailto:QGIS-it-user@lists.osgeo.org>
        https://lists.osgeo.org/mailman/listinfo/qgis-it-user

_______________________________________________
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus

No ma ho risolto all’istante con i suggerimenti convergenti di Michele Gaspari (che mi ha risposto in privato) di Alessandro Perego e di Andrea Erdna.

Il giorno sab 23 feb 2019 alle ore 17:00 Leonardo Donnini <ldonnini@bonibit.com> ha scritto:

salve marco,
hai provato a fare un campo virtuale utilizzando la stessa funzione ?
Saluti
Leonardo

Il 23/02/2019 12:08, Marco Spaziani ha scritto:

Non va.
Ho creato uno shape file di punti ad hoc (e senza operare alcun Join, così non ci sono dubbi). Nella Tabella attributi ho creato due Campi in formato Data, chiamandoli rispetivamente “data1” e “data2”. Ho aggiunto 3 punti e, per ognuno dei tre punti, nel Campo “data1” ho inserito una data casuale dal calendarietto. Il sistema mi restituisce di default queste data nel formato anno-mese-giorno (yyyy-mm-dd). Il Campo “data2” l’ho lasciato volutamente vuoto. Quindi con Calcolatore di Campi ho selezionato ho optato per “Aggiorna un campo esistente” e, dal menù a tendina ho selezionato il Campo “data2”. Quindi nel pannello per la scrittura delle funzioni ho scritto:
format_date( “data1” ,‘dd.MM.yyyy’)
l’Anteprima mi fa vedere una data scritta proprio come da me desiderato, ossia in formato giorno-mese-anno (dd-mm-yyyy).
A questo punto cliccando su OK mi aspetterei che il Campo “data2” si popoli delle stesse date del Campo “data1” ma nel formato giorno-mese-anno …e invece no …si riempie solo di NULL.
E’ inutile che vi mandi i dati che ho usato, tanto “l’esperimento” su descritto è facilmente e rapidamente ripetibile da chiunque.
A questo punto direi che il Join esce dalla lista dei presunti colpevoli e che forse il problema sta proprio nella funzione “format_date”.

Il giorno sab 23 feb 2019 alle ore 10:53 Marco Spaziani <spaziani.marco@gmail.com> ha scritto:

Hai ragione.
QGIS 3.4 e Windows 8.
Prima di allegare i dati voglio fare qualche altra prova, cioè voglio verificare se il problema si presenta anche su Tabelle e Campi in formato Data creati ad hoc, a prescindere dal Join, in modo da capire se è un problema che riguarda la funzione “format_data” in generale o se riguarda la funzione “format_data” solo per i Campi in formato Data generati da un Join.

Il giorno sab 23 feb 2019 alle ore 09:46 Totò <pigrecoinfinito@gmail.com> ha scritto:

ciao,
quale versione di QGIS e sistema operativo

puoi allegare i dati??

saluti


https://pigrecoinfinito.wordpress.com/

Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

_______________________________________________
QGIS-it-user mailing list
[QGIS-it-user@lists.osgeo.org](mailto:QGIS-it-user@lists.osgeo.org)
[https://lists.osgeo.org/mailman/listinfo/qgis-it-user](https://lists.osgeo.org/mailman/listinfo/qgis-it-user)

Mail priva di virus. www.avast.com

Un ultimissima e breve considerazione circa questa discussione (indibbiamente fruttuosa perchè è subito giunta alla risoluzione della problematica).
In estrema sintesi sono emersi due modi per personalizzare il formato Data. O tramite “format_data” o tramite i Widget Display.
All’apparenza i due metodi di personalizzazione del formato Data sembrerebbero restituire lo stesso risultato “a schermo” ma, in realtà, come ha già chiarito chi ha contribuito alla discussione, l’uso di “format_data” restituisce una stringa in formato testo mentre l’uso di Widget Display restituisce e conserva il formato Data.
Ne consegue che se poi avessi la necessità di dover fare una selezione tramite query del tipo “selezionami tutti i punti dove sono stati fatti carotaggi dopo il 22 febbraio 2008”, avrei che con il Campo di date ottenute con i Widget Display potrei farlo, perchè il Calcolatore di Campi può interpretare la condizione "tutte le date > 22 febbraio 2008" (in quanto è conservato il formato Data), mentre con il Campo di date ottenute con “format_data” non potrei farlo perchè, essendo la data espressa come mero “testo”, il calcolatore di campi non riesce ad interpretare la condizione "tutte le date > 22 febbraio 2008".
In conclusione, personalmente preferisco personalizzare il formato Data tramite il Widget Display perchè mi conserva il formato Data e quindi mi permette di eseguire le query.

Il giorno sab 23 feb 2019 alle ore 14:36 Alessandro Perego <alsper78@gmail.com> ha scritto:

Ciao,

la spiegazione della funzione format_data() dice:
Format a date type or string into a custom string format. Uses Qt date/time format strings. See QDateTime::toString.

Mi sembra di capire che la funzione format_data() trasformi un input di tipo DATA in un output di tipo STRINGA, quindi in anteprima la stringa risultante viene mostrata correttamente ma quando dovrebbe essere scritta in un campo di tipo DATA non viene riconosciuta e di conseguenza restituisce NULL.

Per avere una data formattata in modo personalizzato si deve creare un campo di tipo stringa oppure nelle “Proprietà vettore” > “Attribute form” con “Tipo widget”: Data/ora si può indicare un “Field format” personalizzato.

Alessandro

Il 23/02/2019 12:08, Marco Spaziani ha scritto:

Non va.
Ho creato uno shape file di punti ad hoc (e senza operare alcun Join, così non ci sono dubbi). Nella Tabella attributi ho creato due Campi in formato Data, chiamandoli rispetivamente “data1” e “data2”. Ho aggiunto 3 punti e, per ognuno dei tre punti, nel Campo “data1” ho inserito una data casuale dal calendarietto. Il sistema mi restituisce di default queste data nel formato anno-mese-giorno (yyyy-mm-dd). Il Campo “data2” l’ho lasciato volutamente vuoto. Quindi con Calcolatore di Campi ho selezionato ho optato per “Aggiorna un campo esistente” e, dal menù a tendina ho selezionato il Campo “data2”. Quindi nel pannello per la scrittura delle funzioni ho scritto:
format_date( “data1” ,‘dd.MM.yyyy’)
l’Anteprima mi fa vedere una data scritta proprio come da me desiderato, ossia in formato giorno-mese-anno (dd-mm-yyyy).
A questo punto cliccando su OK mi aspetterei che il Campo “data2” si popoli delle stesse date del Campo “data1” ma nel formato giorno-mese-anno …e invece no …si riempie solo di NULL.
E’ inutile che vi mandi i dati che ho usato, tanto “l’esperimento” su descritto è facilmente e rapidamente ripetibile da chiunque.
A questo punto direi che il Join esce dalla lista dei presunti colpevoli e che forse il problema sta proprio nella funzione “format_date”.

Il giorno sab 23 feb 2019 alle ore 10:53 Marco Spaziani <spaziani.marco@gmail.com> ha scritto:

Hai ragione.
QGIS 3.4 e Windows 8.
Prima di allegare i dati voglio fare qualche altra prova, cioè voglio verificare se il problema si presenta anche su Tabelle e Campi in formato Data creati ad hoc, a prescindere dal Join, in modo da capire se è un problema che riguarda la funzione “format_data” in generale o se riguarda la funzione “format_data” solo per i Campi in formato Data generati da un Join.

Il giorno sab 23 feb 2019 alle ore 09:46 Totò <pigrecoinfinito@gmail.com> ha scritto:

ciao,
quale versione di QGIS e sistema operativo

puoi allegare i dati??

saluti


https://pigrecoinfinito.wordpress.com/

Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

_______________________________________________
QGIS-it-user mailing list
[QGIS-it-user@lists.osgeo.org](mailto:QGIS-it-user@lists.osgeo.org)
[https://lists.osgeo.org/mailman/listinfo/qgis-it-user](https://lists.osgeo.org/mailman/listinfo/qgis-it-user)


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user