From dfc8152b12b796efaa1e45c1aefe83eab8a24ffb Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Thu, 2 Jan 2025 15:34:31 +0530 Subject: [PATCH] Filter data added in kpi api : GWM --- kpi_files/divorces.json | 2312 +++++++++++++++++++++++++++++++++++++++ kpi_files/total.json | 100 ++ main.go | 238 ++-- pb_data/data.db | Bin 143360 -> 143360 bytes pb_data/logs.db | Bin 770048 -> 770048 bytes 5 files changed, 2572 insertions(+), 78 deletions(-) create mode 100644 kpi_files/divorces.json create mode 100644 kpi_files/total.json diff --git a/kpi_files/divorces.json b/kpi_files/divorces.json new file mode 100644 index 0000000..f56129a --- /dev/null +++ b/kpi_files/divorces.json @@ -0,0 +1,2312 @@ +[ + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1484" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1321" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1308" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1868" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "10" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "12" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "10" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "3" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "55" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "76" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "67" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "61" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "181" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "176" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "182" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "175" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2021", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "199" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "81" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "97" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "77" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "56" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "44" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "41" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "42" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "57" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "64" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "93" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "69" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "75" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "91" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "82" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "90" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "74" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "20" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "19" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "16" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "17" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "520" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "602" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "644" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "391" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "879" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "887" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "829" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1251" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "15" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "25" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "14" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "16" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "358" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "376" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "375" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "238" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "46" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "36" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "47" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "47" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "766" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "766" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "728" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "618" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2021", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "816" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "187" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "130" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "132" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "172" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "10" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "15" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "12" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "13" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "140" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "139" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "138" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "80" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "81" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "98" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "117" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "74" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "110" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "85" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "105" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "94" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "372" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "269" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "300" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "358" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "4403" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "4506" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "4554" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "4213" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2021", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "5450" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "5" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "5" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "8" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "6" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1739" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1844" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1845" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1897" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2021", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "2272" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "186" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "164" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "187" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "184" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1717" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1720" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1799" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1523" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2021", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "2163" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "46" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "35" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "47" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-DU", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "87" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "310" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "420" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "406" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "376" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1859" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "2025" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "2086" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1351" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "399" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "415" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "395" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "279" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "4" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "2" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "5" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "13" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "11" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "13" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEW_NEF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "11" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "111" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "102" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "104" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "63" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "29" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "32" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "39" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-UQ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "27" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "76" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "53" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "73" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "66" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "870" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "945" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "963" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-AZ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "659" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "168" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "167" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "170" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-SH", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "140" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "158" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "213" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "212" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_EM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "216" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "7" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "16" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "8" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-RK", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "11" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "1" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "2" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "3" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_NEM_EF", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE-FJ", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "0" + } + } +] \ No newline at end of file diff --git a/kpi_files/total.json b/kpi_files/total.json new file mode 100644 index 0000000..761cd64 --- /dev/null +++ b/kpi_files/total.json @@ -0,0 +1,100 @@ +[ + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2015", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "4913" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2016", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "4599" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2017", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "4403" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2018", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "4506" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2019", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "4554" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2020", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "4213" + } + }, + { + "ObsKey": { + "DV_TYPE": "D_TOT", + "FREQ": "A", + "MEASURE": "D", + "REF_AREA": "AE", + "SOURCE_DETAIL": "FCSAMD", + "TIME_PERIOD": "2021", + "UNIT_MEASURE": "NUMBER" + }, + "ObsValue": { + "Value": "5450" + } + } +] \ No newline at end of file diff --git a/main.go b/main.go index 64840dc..009415c 100644 --- a/main.go +++ b/main.go @@ -69,7 +69,7 @@ func removeNamespace(xmlBytes []byte) string { } // Function to fetch XML from an API and convert it to JSON -func fetchAndConvertXMLToJSON(apiURL string, kpiName string, saveToFile bool) ([]map[string]interface{}, error) { +func fetchAndConvertXMLToJSON(apiURL string, kpiName string, chartId string) ([]map[string]interface{}, error) { // Call the API and get the XML response resp, err := http.Get(apiURL) if err != nil { @@ -110,18 +110,27 @@ func fetchAndConvertXMLToJSON(apiURL string, kpiName string, saveToFile bool) ([ } // Save the JSON data to a file if required - if saveToFile { - // Ensure the folder exists - outputDir := "kpi_files" - if err := os.MkdirAll(outputDir, os.ModePerm); err != nil { - return nil, err - } - // Save the file with a timestamped filename - fileName := fmt.Sprintf("%s/%s.json", outputDir, kpiName) - if err := ioutil.WriteFile(fileName, jsonData, 0644); err != nil { - return nil, err - } + // Ensure the folder exists + outputDir := "kpi_files" + if err := os.MkdirAll(outputDir, os.ModePerm); err != nil { + return nil, err + } + + // Save the file with a timestamped filename + fileName := fmt.Sprintf("%s/%s.json", outputDir, kpiName) + if err := ioutil.WriteFile(fileName, jsonData, 0644); err != nil { + return nil, err + } + + // Find the charts record + record, err := app.Dao().FindRecordById("charts", chartId) + if err != nil { + // return c.JSON(500, map[string]interface{}{"code": 500,"message": "Error finding user.",}) + } + record.Set("file_status", true) + if err := app.Dao().SaveRecord(record); err != nil { + // return c.JSON(500, map[string]interface{}{"code": 500,"message": "Failed to verify user.",}) } return response, nil @@ -147,6 +156,61 @@ func readJSONFromFile(kpiName string) ([]map[string]interface{}, error) { return jsonResponse, nil } +type ResponseItem struct { + ObsKey map[string]string `json:"ObsKey"` + ObsValue map[string]string `json:"ObsValue"` +} + +type FilterGroup struct { + FilterKey string `json:"filter_key"` + FilterData []interface{} `json:"filter_data"` +} + +func generateFilters(responseRaw []map[string]interface{}, filterKeys []string) ([]FilterGroup, error) { + // Transform responseRaw to []ResponseItem + var response []ResponseItem + responseBytes, err := json.Marshal(responseRaw) // Marshal raw data to JSON + if err != nil { + log.Printf("Failed to marshal raw response: %v", err) + return nil, err + } + + if err := json.Unmarshal(responseBytes, &response); err != nil { // Unmarshal to []ResponseItem + log.Printf("Failed to unmarshal response: %v", err) + return nil, err + } + + // Create a map to hold unique filter data + filterMap := make(map[string]map[string]struct{}) + for _, key := range filterKeys { + filterMap[key] = make(map[string]struct{}) + } + + // Populate filter data dynamically + for _, item := range response { + for _, key := range filterKeys { + if value, exists := item.ObsKey[key]; exists { + filterMap[key][value] = struct{}{} + } + } + } + + // Convert filter map to the desired structure + var filters []FilterGroup + for key, values := range filterMap { + filterData := make([]interface{}, 0, len(values)) + for value := range values { + filterData = append(filterData, value) + } + filters = append(filters, FilterGroup{ + FilterKey: key, + FilterData: filterData, + }) + } + + return filters, nil +} + var app *pocketbase.PocketBase func main() { @@ -191,17 +255,17 @@ func main() { // Email body body := fmt.Sprintf(` - - -

Dear %s,

-

Thank you for registering. Please click the link below to verify your email address:

-

- Verify Email -

-

If you did not register for this account, please ignore this email.

- - -`, name, verificationURL) + + +

Dear %s,

+

Thank you for registering. Please click the link below to verify your email address:

+

+ Verify Email +

+

If you did not register for this account, please ignore this email.

+ + + `, name, verificationURL) // Create the email message message := &mailer.Message{ @@ -255,50 +319,50 @@ func main() { // Check if the email is already verified if record.GetBool("reviewed") { return c.HTML(http.StatusOK, ` - - - - - -
-
-

Your Already Reviewed

-

You have already been reviewed. No further action is required.

-
- - -`) + + + + + +
+
+

Your Already Reviewed

+

You have already been reviewed. No further action is required.

+
+ + + `) } // Update the status @@ -745,17 +809,11 @@ func main() { }) e.Router.GET("/api/custom/apicall", func(c echo.Context) error { - // Get kpi_id from query parameters + dataset := c.QueryParam("dataset") if dataset == "" { return c.JSON(http.StatusBadRequest, map[string]string{"error": "dataset is required"}) } - apicall := c.QueryParam("apicall") - // Convert apicall string to a boolean - saveToFile := false // Default value - if apicall == "true" { - saveToFile = true - } // Fetch all matching records manually // Construct the dbx.Expression @@ -781,10 +839,14 @@ func main() { } // Fetch and convert XML to JSON - _, err := fetchAndConvertXMLToJSON(apiURL, kpi, saveToFile) - if err != nil { - log.Printf("Failed to process URL '%s': %v", apiURL, err) - continue // Skip this record and proceed with others + saveToFile := record.GetBool("file_status") + chartId := record.GetString("id") + if !saveToFile { // Check if saveToFile is false + _, err := fetchAndConvertXMLToJSON(apiURL, kpi, chartId) + if err != nil { + log.Printf("Failed to process URL '%s': %v", apiURL, err) + continue // Skip this record and proceed with others + } } // Read the JSON data from the file @@ -794,6 +856,24 @@ func main() { continue // Skip this record and proceed with others } + var filters []FilterGroup + filterKeysRaw := record.GetString("filter") + if record.GetBool("is_chart") { + + // Split the filter keys if they come as a comma-separated string + filterKeys := strings.Split(filterKeysRaw, ",") + + // Generate filters + var err error + filters, err = generateFilters(response, filterKeys) + if err != nil { + panic(err) + } + } else { + // Assign an empty filter slice + filters = []FilterGroup{} + } + // Prepare the structure with URL and its response recordResult := map[string]interface{}{ "url": apiURL, @@ -804,6 +884,8 @@ func main() { "is_chart": record.GetString("is_chart"), "chart_type": record.GetString("chart_type"), "response": response, + "filters": filters, + "group_by": record.GetString("group_by"), } // Add the result to the aggregated response diff --git a/pb_data/data.db b/pb_data/data.db index cf142b5843d5062ee14b4797c13dd879907da11b..39f0dbd2dfc4da291239dd4252341ea92dd1f52e 100644 GIT binary patch delta 1143 zcmbtTOGq0*7|u*0X4O23Sev9tBw8(IU3WGnn=B1AU`liFfk>fJ8uQqgO*Yw>-Po!v zYVcwoV98;6s(ny;QK+;f&{I#n^wJ)B@aC;hC`EcMbfd;rDOBjd4*Ly1^F985mUi?@ zJNh--DXT`K=~Tb^>U}_ZfOUE5%@laP4mBIN@iDOLG#kx7D#*NOT2an6wy#L)X0d?P z05(4XRXn%}BA9#%b_ue>l@dgSFXG)zU^VVTJ}N6Qr6l9^7obx=U6e|NXnd|#VXHcx zfiKq@h_Z$#ze47lMAN;62D4k=W_cK?zHfr>V71){UjzKH1-3V4{Mn?Ok??&3v{mjd zEZJ#xTJ*%FoQrhjV>#Z%)!6HF758k~nk$IOf}ENET~X(+EHB9Tg9&z=^Y+oGk7hb( zmZJk4@>4YHn=}}$8eOwdYam-L7{50gRdsKP#d1(G8~SMg~ubKL#mz>qaKZiFGWM+;ZO~GR6KMg zI&pO@?7BT)%FJc+X)z_wWRX9mNJ>nU-BLn`iL-+Gzn7^XD?&m(%03X_JORqb;8iE| zbLxG=BP61{6x|;RQz1%SL(z%RiHmAaipm&Y6r^O3p^>+n&nFKdgSzoo2kcrbH|Y#z zx6Y)Rb`$oR=bkWOlM^vTZSqlKoRIaXK1MFtBfc{3CPnAY8H@`T<_f!Isvb#SL(m1NNBX)BbEK zFYunZOq?yu1AN^9UlPk%(9*V7bjAr?r!PwiFUrXq2_^2C5u|LYFds+)Jm!Q5KeEGH zI`ut$#tsMkv{-J|8f)<#jEsRe;n4hb0!|Vg;=Byy^LZ!Jic*mAnyTr4=K%k7!p0_@ nX-i|;HhnW~Rn0V*GgSu7z2{rCZg8y8y4u+>`C7c)4|{$AVXRU* delta 355 zcmZp8z|ru4V}i7xI0FNNG7!Un@DU}8_LGAm5ZG@35Q$0W^?Rh*wU`D1}I ze_};&W>u<^m5~7$OkP+lx!s3{X$#}@)BH>d(=YQgiSqFB^D!{-YB2L^@JVeJG?3xt zYRqTk6}6QV)#jXTD$ArHoL8EYlTw~sl4M+%nV+3jP-U4iJy(`#ElXn|6Yq36Ii`!# zd1aa8xqx1OFKR0c)u$wuUY?6Xt0AX}sg<#%o`IR+^loV;^Xd0wnQW&2m1kn-VB){Y Uz<-nf?PfuTv;5O<>NBYW0OW*ZN&o-= diff --git a/pb_data/logs.db b/pb_data/logs.db index a9b76756f730dbf1c3d33e062bcd8a1eda03090b..e2fe1eb5a4649dedb77830ac265d640f1d58c838 100644 GIT binary patch delta 8423 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 Q*X~dr^l3xYP&+a8zj>MymjD0& delta 7792 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