ondata / guida-api-istat

Guida all'uso delle API REST di ISTAT
https://ondata.github.io/guida-api-istat
Creative Commons Attribution Share Alike 4.0 International
28 stars 4 forks source link

Aggiungere su nota sugli availableconstraint #3

Closed aborruso closed 4 years ago

aborruso commented 4 years ago

Fare presente che le liste dei valori possibili cambiano per dataflow

Ad esempio http://sdmx.istat.it/SDMXWS/rest/availableconstraint/41_983

angelogulina commented 4 years ago

Salve, intanto grazie MILLE per questa guida: è utilissima! Invece di aprire una nuova Issue ho pensato chiedere qua.

Nell'esempio sull'uso della dimensione ITTER107, la guida dice è quello del codice comunale ISTAT. Banalmente quindi, ho utilizzato il codice di Palermo presente in guida per la ricerca in un altro dataflow (ref: 22_289, Resident population on 1st January). Il webservice restituiva un 404

Provando manualmente e riprovando, scaricando poi il CSV, ho notato che a Palermo era assegnato il valore ITG12. Una volta inserito questo, il webservice restituiva 202.

Magari è opportuno introdurre questa nota e/o rendere più esplicito che bisogna sempre verificare quale sia il valore da usare per filtrare una data dimensione (che non è quindi sempre coerente tra diversi dataflow)?

Se mi date l'OK, posso ovviamente creare una PR anche io.

Grazie!

aborruso commented 4 years ago

Ciao @AngeloGulina e grazie.

Nella guida c'è il paragrafo Quali codici/valori sono disponibili per filtrare un determinato dataflow per dimensione.

Se estraggo i valori disponibili per 22_289 con

curl "http://sdmx.istat.it/SDMXWS/rest/availableconstraint/22_289" >22_289_availableconstraint.xml

leggo che ci sono i vari codici ISTAT territoriali, tra cui anche i codici ISTAT dei comuni.

Se infatti lancio

curl -kL -H "Accept: application/vnd.sdmx.data+csv;version=1.0.0" "http://sdmx.istat.it/SDMXWS/rest/data/22_289/..082053..." >filtro_esempio01.csv

ottengo i dati per Palermo (sotto un estratto).

+-----------------+------+-------+----------+-------+-----------+-------------+-------------+-----------+-------+-------------+---------------+------------+----------+-----------+-----------+-------------+-------------+
| DATAFLOW        | FREQ | ETA   | ITTER107 | SESSO | STATO_CIV | TIPO_INDDEM | TIME_PERIOD | OBS_VALUE | BREAK | CONF_STATUS | OBS_PRE_BREAK | OBS_STATUS | BASE_PER | UNIT_MEAS | UNIT_MULT | METADATA_EN | METADATA_IT |
+-----------------+------+-------+----------+-------+-----------+-------------+-------------+-----------+-------+-------------+---------------+------------+----------+-----------+-----------+-------------+-------------+
| IT1:22_289(1.4) | A    | TOTAL | 082053   | 1     | 1         | JAN         | 2012        | 145813    | -     | -           | -             | -          | -        | -         | -         | -           | -           |
| IT1:22_289(1.4) | A    | TOTAL | 082053   | 1     | 1         | JAN         | 2013        | 145394    | -     | -           | -             | -          | -        | -         | -         | -           | -           |
| IT1:22_289(1.4) | A    | TOTAL | 082053   | 1     | 1         | JAN         | 2014        | 152969    | -     | -           | -             | -          | -        | -         | -         | -           | -           |
| IT1:22_289(1.4) | A    | TOTAL | 082053   | 1     | 1         | JAN         | 2015        | 151208    | -     | -           | -             | -          | -        | -         | -         | -           | -           |
| IT1:22_289(1.4) | A    | TOTAL | 082053   | 1     | 1         | JAN         | 2016        | 150281    | -     | -           | -             | -          | -        | -         | -         | -           | -           |
| IT1:22_289(1.4) | A    | TOTAL | 082053   | 1     | 1         | JAN         | 2017        | 149312    | -     | -           | -             | -          | -        | -         | -         | -           | -           |
| IT1:22_289(1.4) | A    | TOTAL | 082053   | 1     | 1         | JAN         | 2018        | 147686    | -     | -           | -             | -          | -        | -         | -         | -           | -           |
| IT1:22_289(1.4) | A    | TOTAL | 082053   | 1     | 1         | JAN         | 2019        | 146461    | -     | -           | -             | p          | -        | -         | -         | -           | -           |
| IT1:22_289(1.4) | A    | TOTAL | 082053   | 1     | 15        | JAN         | 2018        | 81        | -     | -           | -             | -          | -        | -         | -         | -           | -           |
| IT1:22_289(1.4) | A    | TOTAL | 082053   | 1     | 15        | JAN         | 2019        | 112       | -     | -           | -             | p          | -        | -         | -         | -           | -           |
+-----------------+------+-------+----------+-------+-----------+-------------+-------------+-----------+-------+-------------+---------------+------------+----------+-----------+-----------+-------------+-------------+

Non vorrei però aver compreso male

angelogulina commented 4 years ago

Ciao @aborruso, grazie mille per la risposta! Adesso mi sento un po' imbecille 😅 il tuo esempio non fa una piega ma giuro che non riuscivo a filtrare con il valore 082053, dovevo usare ITG12.

Interrogando gli availableconstraint, tutto più semplice! Sto lavorando a delle ricerche personali ma vorrei nel frattempo lavorare su un piccolo tool in JS/TS che mi renda facile la vita.

Grazie ancora, davvero utilissimo!

aborruso commented 4 years ago

Ciao Angelo questa guida nasce per definire gli elementi propedutici e di base, per accedere a dati preziosi.

Che sia di supporto a un progetto come quello a cui fai cenno (in JS), è un piacere, ed è uno dei veri obiettivi.

Se metti in piedi qualcosa di utile, che vuoi/puoi condividere, facci un fischio ;)