Ho notato un comportamente strano su questa espressione:
array_to_string(
array_filter(map_avals(attributes()), @element NOT IN (“fid”))
)
in particolare nella funzione ‘array_filter’, che NON filtra in modo corretto se nella tabella attributi ci fossero due campi (con nomi diversi) ma con identici valori, sotto un esempio:
in questa espressione: array_filter(map_avals(attributes()), @element NOT IN (“fid”)) mi aspetterei un array con tutti i valori, per ogni riga, tranne per il campo “fid”;
esempio (vedi screen),
riga 1:
nel campo ‘lista’ non c’è traccia né del campo ‘fid’ né del campo ‘id’ (comportamente errato);
riga 2:
nel campo ‘lista’ non c’è traccia, come mi aspetterei, solo del campo ‘fid’;
noto che questo comportamento si presenta solo se ‘fid’ e ‘id’ hanno stessi valori; per dimostrare quanto appena detto, ho modificato i valori del campo ‘id’, ecco il risultato:
l’espressione funziona correttamente.
secondo voi faccio un uso errato della funzione array_filter?
oppure segnalo anomalia nel repo di QGIS?
OSGeo4W v2 Network Installer, Win 10 Pro
test effettuati su: QGIS 3.16.14 e 3.22.1
···
Ing. Salvatore Fiandaca
mobile.:+39 327.493.8955
m: pigrecoinfinito@gmail.com
C.F.: FNDSVT71E29Z103G
P.IVA: 06597870820
membro QGIS Italia - http://qgis.it/
socio GFOSS.it - http://gfoss.it/
blog:**** https://pigrecoinfinito.com/
FB: Co-admin - https://www.facebook.com/qgis.it/****
TW: ****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.