[QGIS-it-user] Tabella attributi - Calcolatore campi
Totò Fiandaca
pigrecoinfinito a gmail.com
Mer 2 Mar 2022 03:23:59 PST
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/bd4eb1a4/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/bd4eb1a4/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/bd4eb1a4/attachment-0003.png>
Maggiori informazioni sulla lista
QGIS-it-user