[QGIS-it-user] Tabella attributi - Calcolatore campi

Federico Gianoli gianoli.federico a gmail.com
Mer 2 Mar 2022 03:30:39 PST


Grazie Totò,
effettivamente si risparmia parecchio tempo così.

Fede

Il giorno mer 2 mar 2022 alle ore 12:24 Totò Fiandaca <
pigrecoinfinito a gmail.com> ha scritto:

> Ciao, se i due campi seguissero la logica da te spiegata: a 01 →100,
> 02→200 e 03→300 ... 10→1000 ...
>
> ti consiglio la seguente espressione:
>
> to_int("stringa")*100
>
> saluti
>
>
> Il giorno mer 2 mar 2022 alle ore 12:03 Federico Gianoli <
> gianoli.federico a gmail.com> ha scritto:
>
>> puoi mettere tutti i casi in un unico comando, in questo caso replica
>> WHEN  *"stringa"='AA' *THEN '*aa*' le N volte che ti serve tipo così:
>>
>> CASE WHEN  *"stringa"='02' *THEN '200' WHEN  *"stringa"='01' *THEN '100'
>> WHEN  *"stringa"='03' *T HEN '300' WHEN  *"stringa"='04' *THEN
>> '400'  ELSE NULL END
>>
>> Il giorno mer 2 mar 2022 alle ore 12:00 Franco Cazzola <
>> franco.cazzola a idroambiente.it> ha scritto:
>>
>>> Grazie Federico per la pronta risposta
>>>
>>> Purtroppo ho circa 30 casi.
>>>
>>> Spero che la lunghezza della istruzione CASE non sia limitata nel numero
>>> di caratteri
>>>
>>> Ci sono altre soluzioni ?
>>>
>>> Franco
>>>
>>>
>>>
>>> *Da:* Federico Gianoli <gianoli.federico a gmail.com>
>>> *Inviato:* mercoledì 2 marzo 2022 11:20
>>> *A:* Franco Cazzola <franco.cazzola a idroambiente.it>
>>> *Cc:* qgis-it-user a lists.osgeo.org
>>> *Oggetto:* Re: [QGIS-it-user] Tabella attributi - Calcolatore campi
>>>
>>>
>>>
>>> Ciao,
>>>
>>>
>>>
>>> Dalla documentazione: CASE è usato per valutare una serie di condizioni
>>> e restituisce un risultato per la prima condizione incontrata. Le
>>> condizioni sono valutate sequenzialmente, e se una condizione è vera, la
>>> valutazione si ferma, e il corrispondente risultato è restituito. Se
>>> nessuna delle condizioni è vera, è restituito il valore nella clausola ELSE.
>>>
>>>
>>>
>>> prova con:
>>>
>>>
>>>
>>> CASE WHEN  *"stringa"='02' *THEN '200' WHEN  *"stringa"='01' *THEN
>>> '100' ELSE NULL END
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Il giorno mer 2 mar 2022 alle ore 11:07 Franco Cazzola <
>>> franco.cazzola a idroambiente.it> ha scritto:
>>>
>>> Buongiorno
>>>
>>> Non riesco a capire perché non funziona la seguente sequenza di
>>> operazioni.
>>>
>>> Devo aggiornare il campo unita in base ai valori del campo stringa.
>>>
>>> Esempio: aggiorno il campo unita con valore 200 se il campo stringa=02
>>>
>>> Uso la seguente sequenza:
>>>
>>> Nella tabella attributi apro il Calcolatore di campi
>>>
>>> *Flag* su Aggiorna campo esistente, scelgo il campo *unita* e nella
>>> espressione inserisco*:*
>>>
>>> *CASE WHEN "unita" IS NULL AND "stringa"='01' THEN '100' END*
>>>
>>> e ottengo quanto sotto riportato
>>>
>>>
>>>
>>> Ora se eseguo la stessa sequenza con
>>>
>>> *CASE WHEN "unita" IS NULL AND "stringa"='02' THEN '200' END*
>>>
>>> Mi aggiorna il campo unita con 200 ma sostituisce anche i precedenti
>>> valori.
>>>
>>> Perché ?
>>>
>>>
>>>
>>> Ho provato a sostituire il campo NULL di unita con un valore qualsiasi e
>>> ripetere la sequenza ma non cambia
>>>
>>>
>>>
>>> Grazie per ogni contributo
>>>
>>> Franco Cazzola
>>>
>>> _______________________________________________
>>> QGIS-it-user mailing list
>>> QGIS-it-user a lists.osgeo.org
>>> https://lists.osgeo.org/mailman/listinfo/qgis-it-user
>>>
>>> _______________________________________________
>> QGIS-it-user mailing list
>> QGIS-it-user a lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/qgis-it-user
>>
>
>
> --
> *Ing. Salvatore Fiandaca*
> *mobile*.:+39 327.493.8955
> *m*: *pigrecoinfinito a gmail.com <pigrecoinfinito a gmail.com>*
> *C.F*.: FNDSVT71E29Z103G
> *P.IVA*: 06597870820
> *membro QGIS Italia - http://qgis.it/ <http://qgis.it/>*
> *socio GFOSS.it - *http://gfoss.it/
> *blog:*
> * https://pigrecoinfinito.com/ <https://pigrecoinfinito.com/> FB: Co-admin
> - https://www.facebook.com/qgis.it/ <https://www.facebook.com/qgis.it/>**
> <https://www.facebook.com/qgis.it/> *
> *TW:  <http://goog_95411464>**https://twitter.com/totofiandaca
> <https://twitter.com/totofiandaca>*
>
> 43°51'0.54"N  10°34'27.62"E - EPSG:4326
>
> “Se la conoscenza deve essere aperta a tutti,
> perchè mai limitarne l’accesso?”
> R. Stallman
>
> Questo documento, allegati inclusi, contiene informazioni di proprietà di
> FIANDACA SALVATORE e deve essere utilizzato esclusivamente dal destinatario
> in relazione alle finalità per le quali è stato ricevuto. E' vietata
> qualsiasi forma di riproduzione o divulgazione senza l'esplicito consenso
> di FIANDACA SALVATORE. Qualora fosse stato ricevuto per errore si prega
> di informare tempestivamente il mittente e distruggere la copia in proprio
> possesso.
>
>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.osgeo.org/pipermail/qgis-it-user/attachments/20220302/b2f273f5/attachment-0001.html>
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        image001.png
Tipo:        image/png
Dimensione:  14149 bytes
Descrizione: non disponibile
URL:         <http://lists.osgeo.org/pipermail/qgis-it-user/attachments/20220302/b2f273f5/attachment-0002.png>
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        image002.png
Tipo:        image/png
Dimensione:  5543 bytes
Descrizione: non disponibile
URL:         <http://lists.osgeo.org/pipermail/qgis-it-user/attachments/20220302/b2f273f5/attachment-0003.png>


Maggiori informazioni sulla lista QGIS-it-user