| project_id | partner_id | amt | start_date | end_date | country_amt_json | sector_amt_json | 
|---|---|---|---|---|---|---|
| p012277001 | 29979 | 1209600000.0 | 20231214 | 20251231 | {"R-SOUTHSAHARA": 846720000.0, "R-SOUTHAMERICA": 36288000.0, "R-MIDDLEEAST": 84672000.0, "R-ASIA": 2 ... total length 111 | {"12262": 362880000.0, "12263": 217728000.0, "13040": 628992000.0} | 
| p010807001 | 29578 | 1000000000.0 | 20220331 | 20470331 | {"IN": 210000000.0, "PH": 210000000.0, "ID": 210000000.0, "ZA": 210000000.0, "DO": 80000000.0, "MK": ... total length 112 | {"23110": 100000000.0, "23210": 900000000.0} | 
| p005247001 | 29979 | 930400000.0 | 20201216 | 20221231 | {"R-SOUTHSAHARA": 604760000.0, "R-SOUTHAMERICA": 37216000.0, "R-MIDDLEEAST": 74432000.0, "R-CENTRALA ... total length 140 | {"12262": 279120000.0, "12263": 158168000.0, "13040": 493112000.0} | 
| d003827001 | 29979 | 785000000.0 | 20170731 | 20201231 | {"R-AFRICA": 266900000.0, "R-AMERICA": 259050000.0, "R-ASIA": 259050000.0} | {"12262": 235500000.0, "12263": 133450000.0, "13040": 416050000.0} | 
| p012183001 | 29636 | 500000000.0 | 20240308 | 20470331 | {"R-WESTINDIES": 50000000.0, "R-NORTHCENTRALAMERICA": 150000000.0, "R-SOUTHAMERICA": 300000000.0} | {"21012": 25000000.0, "23183": 50000000.0, "23210": 70000000.0, "23230": 125000000.0, "23240": 10000 ... total length 229 | 
| d002243001 | 29981 | 500000000.0 | 20150917 | 20211231 | {"R-AFRICA": 359000000.0, "R-AMERICA": 28000000.0, "R-ASIA": 113000000.0} | {"12250": 500000000.0} | 
| d000514001 | 29979 | 450000000.01 | 20150327 | 20170331 | {"R-AFRICA": 283500000.01, "R-AMERICA": 36000000.0, "R-ASIA": 103500000.0, "R-EUROPE": 27000000.0} | {"12262": 144000000.0, "12263": 81000000.0, "13040": 225000000.0} | 
| m013354001 | 29979 | 450000000.0 | 20111209 | 20141231 | {"R-AFRICA": 225000000.0, "R-AMERICA": 49500000.0, "R-ASIA": 126000000.0, "R-EUROPE": 49500000.0} | {"12262": 99000000.0, "12263": 72000000.0, "13040": 279000000.0} | 
| m012761001 | 29979 | 450000000.0 | 20080319 | 20110331 | {"R-AFRICA": 283500000.0, "R-AMERICA": 31500000.0, "R-ASIA": 103500000.0, "R-EUROPE": 31500000.0} | {"12262": 99000000.0, "12263": 72000000.0, "13040": 279000000.0} | 
| p006992001 | 29981 | 400000000.0 | 20210330 | 20260331 | {"R-AFRICA": 276000000.0, "R-AMERICA": 4000000.0, "R-ASIA": 120000000.0} | {"12250": 336000000.0, "12350": 20000000.0, "13030": 24000000.0, "13040": 20000000.0} | 
Total 19 rows
{
  "1_read_project_financials": {
    "type": "file_table",
    "desc": "Read file harvested_project_financials_*.csv to table",
    "r": {
      "urls": [
        "{dir_in}/{harvested_project_financials_file}"
      ],
      "csv": {
        "hdr_line_idx": 0,
        "first_data_line_idx": 1,
        "separator": ","
      },
      "columns": {
        "project_id": {
          "col_type": "string",
          "csv": {
            "col_hdr": "project_id"
          }
        },
        "partner_id": {
          "col_type": "int",
          "csv": {
            "col_hdr": "partner_id",
            "col_format": "%d"
          }
        },
        "amt": {
          "col_type": "float",
          "csv": {
            "col_hdr": "amt",
            "col_format": "%f"
          }
        },
        "start_date": {
          "col_type": "int",
          "csv": {
            "col_hdr": "start_date",
            "col_format": "%d"
          }
        },
        "end_date": {
          "col_type": "int",
          "csv": {
            "col_hdr": "end_date",
            "col_format": "%d"
          }
        },
        "country_amt_json": {
          "col_type": "string",
          "csv": {
            "col_hdr": "country_amt_json"
          }
        },
        "sector_amt_json": {
          "col_type": "string",
          "csv": {
            "col_hdr": "sector_amt_json"
          }
        }
      }
    },
    "w": {
      "name": "project_financials",
      "fields": {
        "project_id": {
          "expression": "r.project_id",
          "type": "string"
        },
        "partner_id": {
          "expression": "r.partner_id",
          "type": "int"
        },
        "amt": {
          "expression": "r.amt",
          "type": "float"
        },
        "start_date": {
          "expression": "r.start_date",
          "type": "int"
        },
        "end_date": {
          "expression": "r.end_date",
          "type": "int"
        },
        "country_amt_json": {
          "expression": "r.country_amt_json",
          "type": "string"
        },
        "sector_amt_json": {
          "expression": "r.sector_amt_json",
          "type": "string"
        }
      }
    }
  }
}
| rowid | amt | batch_idx | country_amt_json | end_date | partner_id | project_id | sector_amt_json | start_date | 
|---|---|---|---|---|---|---|---|---|
| 8911412958647610754 | 275000000 | 0 | {"R-AFRICA": 55000000.0, "R-AMERICA": 82500000.0, "R-ASIA": 137500000.0} | 20430320 | 29578 | p006167001 | {"23210": 225500000.0, "31220": 49500000.0} | 20200329 | 
| 1286137648438935688 | 302400000 | 0 | {"R-AFRICA": 302400000.0} | 20100517 | 29663 | m012672001 | {"11420": 21168000.0, "14021": 30240000.0, "14022": 30240000.0, "15110": 60480000.0, "21020": 604800 ... total length 147 | 20071101 | 
| 370061222550674975 | 785000000 | 0 | {"R-AFRICA": 266900000.0, "R-AMERICA": 259050000.0, "R-ASIA": 259050000.0} | 20201231 | 29979 | d003827001 | {"12262": 235500000.0, "12263": 133450000.0, "13040": 416050000.0} | 20170731 | 
| 4976470387084332825 | 400000000 | 0 | {"R-AFRICA": 276000000.0, "R-AMERICA": 4000000.0, "R-ASIA": 120000000.0} | 20260331 | 29981 | p006992001 | {"12250": 336000000.0, "12350": 20000000.0, "13030": 24000000.0, "13040": 20000000.0} | 20210330 | 
| 3066850684629448543 | 450000000 | 0 | {"R-AFRICA": 225000000.0, "R-AMERICA": 49500000.0, "R-ASIA": 126000000.0, "R-EUROPE": 49500000.0} | 20141231 | 29979 | m013354001 | {"12262": 99000000.0, "12263": 72000000.0, "13040": 279000000.0} | 20111209 | 
| 7947324735076598373 | 350000000 | 0 | {"R-ASIA": 315000000.0, "R-OCEANIA": 35000000.0} | 20421231 | 29588 | p012801001 | {"14021": 28000000.0, "23210": 150500000.0, "23630": 38500000.0, "23642": 35000000.0, "24030": 28000 ... total length 169 | 20240312 | 
| 141290931591420991 | 500000000 | 0 | {"R-AFRICA": 359000000.0, "R-AMERICA": 28000000.0, "R-ASIA": 113000000.0} | 20211231 | 29981 | d002243001 | {"12250": 500000000.0} | 20150917 | 
| 2652268069297647365 | 300000000 | 0 | {"R-SOUTHSAHARA": 75000000.0, "R-AFRICA": 75000000.0, "R-AMERICA": 75000000.0, "R-ASIA": 75000000.0} | 20350630 | 30488 | p008157001 | {"15170": 300000000.0} | 20190829 | 
| 4405365935203015753 | 930400000 | 0 | {"R-SOUTHSAHARA": 604760000.0, "R-SOUTHAMERICA": 37216000.0, "R-MIDDLEEAST": 74432000.0, "R-CENTRALA ... total length 140 | 20221231 | 29979 | p005247001 | {"12262": 279120000.0, "12263": 158168000.0, "13040": 493112000.0} | 20201216 | 
| 2308675051745905581 | 450000000 | 0 | {"R-AFRICA": 283500000.0, "R-AMERICA": 31500000.0, "R-ASIA": 103500000.0, "R-EUROPE": 31500000.0} | 20110331 | 29979 | m012761001 | {"12262": 99000000.0, "12263": 72000000.0, "13040": 279000000.0} | 20080319 | 
Total 19 rows
{
  "2_calc_quarterly_budget": {
    "type": "table_custom_tfm_table",
    "custom_proc_type": "py_calc",
    "desc": "Calculate quarterly project budget for countries and sectors",
    "start_policy": "{manual_if_multi}",
    "r": {
      "table": "project_financials",
      "expected_batches_total": 10
    },
    "p": {
      "python_code_urls": [
        "{dir_py}/calc_quarterly_budget.py"
      ],
      "calculated_fields": {
        "country_budget_json": {
          "expression": "map_to_quarterly_budget_json(r.start_date, r.end_date, r.country_amt_json)",
          "type": "string"
        },
        "sector_budget_json": {
          "expression": "map_to_quarterly_budget_json(r.start_date, r.end_date, r.sector_amt_json)",
          "type": "string"
        },
        "partner_budget_json": {
          "expression": "amt_to_quarterly_budget_json(r.start_date, r.end_date, r.amt)",
          "type": "string"
        }
      }
    },
    "w": {
      "name": "quarterly_project_bdgt",
      "fields": {
        "project_id": {
          "expression": "r.project_id",
          "type": "string"
        },
        "partner_id": {
          "expression": "r.partner_id",
          "type": "int"
        },
        "country_budget_json": {
          "expression": "p.country_budget_json",
          "type": "string"
        },
        "sector_budget_json": {
          "expression": "p.sector_budget_json",
          "type": "string"
        },
        "partner_budget_json": {
          "expression": "p.partner_budget_json",
          "type": "string"
        }
      }
    }
  }
}
| rowid | batch_idx | country_budget_json | partner_budget_json | partner_id | project_id | sector_budget_json | 
|---|---|---|---|---|---|---|
| 1110774427483232336 | 4 | {"R-AFRICA": {"2007-Q4": 19856189.451022606, "2008-Q1": 29621528.525296018, "2008-Q2": 29621528.5252 ... total length 354 | {"2007-Q4": 19856189.451022606, "2008-Q1": 29621528.525296018, "2008-Q2": 29621528.525296018, "2008- ... total length 340 | 29663 | m012672001 | {"11420": {"2007-Q4": 1389933.2615715822, "2008-Q1": 2073506.9967707212, "2008-Q2": 2073506.99677072 ... total length 2429 | 
| 1143586065972677594 | 0 | {"IN": {"2022-Q1": 22996.057818659658, "2022-Q2": 2092641.2614980289, "2022-Q3": 2115637.3193166885, ... total length 18632 | {"2022-Q1": 109505.03723171266, "2022-Q2": 9964958.388085851, "2022-Q3": 10074463.425317565, "2022-Q ... total length 3062 | 29578 | p010807001 | {"23110": {"2022-Q1": 10950.503723171267, "2022-Q2": 996495.8388085853, "2022-Q3": 1007446.342531756 ... total length 6063 | 
| 8821477199105233802 | 8 | {"R-AFRICA": {"2023-Q1": 11405.109489051094, "2023-Q2": 518932.4817518248, "2023-Q3": 524635.0364963 ... total length 11700 | {"2023-Q1": 57025.54744525548, "2023-Q2": 2594662.408759124, "2023-Q3": 2623175.182481752, "2023-Q4" ... total length 2928 | 33915 | p010532001 | {"14021": {"2023-Q1": 5702.554744525547, "2023-Q2": 259466.2408759124, "2023-Q3": 262317.51824817515 ... total length 11924 | 
| 5406827533858392767 | 3 | {"R-AFRICA": {"2020-Q1": 19661.582459485224, "2020-Q2": 596401.3346043852, "2020-Q3": 602955.1954242 ... total length 8472 | {"2020-Q1": 98307.91229742613, "2020-Q2": 2982006.6730219256, "2020-Q3": 3014775.9771210677, "2020-Q ... total length 2865 | 29578 | p006167001 | {"23210": {"2020-Q1": 80612.48808388942, "2020-Q2": 2445245.471877979, "2020-Q3": 2472116.3012392754 ... total length 5649 | 
| 3649002051905147572 | 8 | {"R-WESTINDIES": {"2012-Q1": 10949.304719150334, "2012-Q2": 498193.3647213402, "2012-Q3": 503668.017 ... total length 9306 | {"2012-Q1": 54746.52359794153, "2012-Q2": 2490966.8237063396, "2012-Q3": 2518340.0855053104, "2012-Q ... total length 3130 | 29636 | m013705001 | {"14015": {"2012-Q1": 5474.652359575167, "2012-Q2": 249096.6823606701, "2012-Q3": 251834.00854045767 ... total length 27991 | 
| 6799573953047713268 | 1 | {"R-AFRICA": {"2008-Q1": 3326263.5379061373, "2008-Q2": 23283844.765342962, "2008-Q3": 23539711.1913 ... total length 1626 | {"2008-Q1": 5279783.393501805, "2008-Q2": 36958483.75451264, "2008-Q3": 37364620.93862816, "2008-Q4" ... total length 390 | 29979 | m012761001 | {"12262": {"2008-Q1": 1161552.346570397, "2008-Q2": 8130866.425992779, "2008-Q3": 8220216.606498195, ... total length 1206 | 
| 4345966479589710988 | 1 | {"R-ASIA": {"2024-Q1": 917164.0704614937, "2024-Q2": 4173096.5205997964, "2024-Q3": 4218954.72412287 ... total length 4700 | {"2024-Q1": 1019071.1894016596, "2024-Q2": 4636773.911777551, "2024-Q3": 4687727.471247634, "2024-Q4 ... total length 2281 | 29588 | p012801001 | {"14021": {"2024-Q1": 81525.69515213277, "2024-Q2": 370941.9129422041, "2024-Q3": 375018.1976998107, ... total length 18663 | 
| 7249363290507467685 | 5 | {"R-WESTINDIES": {"2024-Q1": 142450.14245014245, "2024-Q2": 540123.4567901234, "2024-Q3": 546058.879 ... total length 8602 | {"2024-Q1": 1424501.4245014247, "2024-Q2": 5401234.567901235, "2024-Q3": 5460588.793922127, "2024-Q4 ... total length 2791 | 29636 | p012183001 | {"21012": {"2024-Q1": 71225.07122507122, "2024-Q2": 270061.7283950617, "2024-Q3": 273029.43969610636 ... total length 31222 | 
| 5594565194764002053 | 1 | {"R-SOUTHSAHARA": {"2019-Q3": 427830.59636992216, "2019-Q4": 1192739.8444252377, "2020-Q1": 1179775. ... total length 7948 | {"2019-Q3": 1711322.3854796886, "2019-Q4": 4770959.377700951, "2020-Q1": 4719101.123595505, "2020-Q2 ... total length 1909 | 30488 | p008157001 | {"15170": {"2019-Q3": 1711322.3854796886, "2019-Q4": 4770959.377700951, "2020-Q1": 4719101.123595505 ... total length 1920 | 
| 2585466656026207353 | 8 | {"R-SOUTHSAHARA": {"2020-Q4": 12970723.860589812, "2021-Q1": 72960321.71581769, "2021-Q2": 73770991. ... total length 1446 | {"2020-Q4": 19954959.78552279, "2021-Q1": 112246648.79356569, "2021-Q2": 113493833.78016086, "2021-Q ... total length 278 | 29979 | p005247001 | {"12262": {"2020-Q4": 5986487.935656836, "2021-Q1": 33673994.638069704, "2021-Q2": 34048150.13404825 ... total length 850 | 
Total 19 rows
{
  "3_tag_countries": {
    "type": "table_custom_tfm_table",
    "custom_proc_type": "tag_and_denormalize",
    "desc": "Tag by country",
    "start_policy": "{manual_if_multi}",
    "r": {
      "table": "quarterly_project_bdgt",
      "expected_batches_total": 10
    },
    "p": {
      "tag_field_name": "country_tag",
      "tag_criteria_url": "{dir_cfg}/tag_criteria_country.json"
    },
    "w": {
      "name": "quarterly_project_bdgt_tggd_by_country",
      "fields": {
        "project_id": {
          "expression": "r.project_id",
          "type": "string"
        },
        "country": {
          "expression": "p.country_tag",
          "type": "string"
        },
        "country_budget_json": {
          "expression": "r.country_budget_json",
          "type": "string"
        }
      }
    }
  }
}
| rowid | batch_idx | country | country_budget_json | project_id | 
|---|---|---|---|---|
| 1248413069363240154 | 7 | R-EUROPE | {"R-AFRICA": {"2023-Q1": 11405.109489051094, "2023-Q2": 518932.4817518248, "2023-Q3": 524635.0364963 ... total length 11700 | p010532001 | 
| 161814038278348408 | 3 | R-ASIA | {"R-AFRICA": {"2019-Q2": 2959048.8771466315, "2019-Q3": 5671510.347864377, "2019-Q4": 5671510.347864 ... total length 1590 | p005253001 | 
| 8958368832873835307 | 8 | R-SOUTHSAHARA | {"R-SOUTHSAHARA": {"2023-Q4": 20348411.21495327, "2024-Q1": 102872523.36448598, "2024-Q2": 102872523 ... total length 1158 | p012277001 | 
| 2403001335442646416 | 7 | R-AFRICA | {"R-AFRICA": {"2011-Q4": 4624664.879356569, "2012-Q1": 18297587.131367292, "2012-Q2": 18297587.13136 ... total length 1626 | m013354001 | 
| 7523888077805831152 | 0 | IN | {"IN": {"2022-Q1": 22996.057818659658, "2022-Q2": 2092641.2614980289, "2022-Q3": 2115637.3193166885, ... total length 18632 | p010807001 | 
| 615504173205791914 | 5 | R-AMERICA | {"R-AFRICA": {"2020-Q1": 19661.582459485224, "2020-Q2": 596401.3346043852, "2020-Q3": 602955.1954242 ... total length 8472 | p006167001 | 
| 1610119117934216491 | 5 | R-NORTHCENTRALAMERICA | {"R-WESTINDIES": {"2012-Q1": 10949.304719150334, "2012-Q2": 498193.3647213402, "2012-Q3": 503668.017 ... total length 9306 | m013705001 | 
| 6757651577025308730 | 7 | R-EUROPE | {"R-AFRICA": {"2011-Q4": 4624664.879356569, "2012-Q1": 18297587.131367292, "2012-Q2": 18297587.13136 ... total length 1626 | m013354001 | 
| 6861869827705868336 | 7 | R-EUROPE | {"R-AFRICA": {"2015-Q1": 1925951.0870244564, "2015-Q2": 35052309.783845104, "2015-Q3": 35437500.0012 ... total length 1040 | d000514001 | 
| 4628965319831263401 | 0 | ID | {"IN": {"2022-Q1": 22996.057818659658, "2022-Q2": 2092641.2614980289, "2022-Q3": 2115637.3193166885, ... total length 18632 | p010807001 | 
Total 63 rows
{
  "3_tag_sectors": {
    "type": "table_custom_tfm_table",
    "custom_proc_type": "tag_and_denormalize",
    "desc": "Tag by sector",
    "start_policy": "{manual_if_multi}",
    "r": {
      "table": "quarterly_project_bdgt",
      "expected_batches_total": 10
    },
    "p": {
      "tag_field_name": "sector_tag",
      "tag_criteria_url": "{dir_cfg}/tag_criteria_sector.json"
    },
    "w": {
      "name": "quarterly_project_bdgt_tggd_by_sector",
      "fields": {
        "project_id": {
          "expression": "r.project_id",
          "type": "string"
        },
        "sector": {
          "expression": "int(p.sector_tag)",
          "type": "int"
        },
        "sector_budget_json": {
          "expression": "r.sector_budget_json",
          "type": "string"
        }
      }
    }
  }
}
| rowid | batch_idx | project_id | sector | sector_budget_json | 
|---|---|---|---|---|
| 6265369124608349645 | 0 | p005247001 | 13040 | {"12262": {"2020-Q4": 5986487.935656836, "2021-Q1": 33673994.638069704, "2021-Q2": 34048150.13404825 ... total length 850 | 
| 2209896342624457387 | 0 | p005247001 | 12262 | {"12262": {"2020-Q4": 5986487.935656836, "2021-Q1": 33673994.638069704, "2021-Q2": 34048150.13404825 ... total length 850 | 
| 411235998913570795 | 3 | p012183001 | 41030 | {"21012": {"2024-Q1": 71225.07122507122, "2024-Q2": 270061.7283950617, "2024-Q3": 273029.43969610636 ... total length 31222 | 
| 1795015652446192040 | 5 | m013705001 | 23210 | {"14015": {"2012-Q1": 5474.652359575167, "2012-Q2": 249096.6823606701, "2012-Q3": 251834.00854045767 ... total length 27991 | 
| 2457737869831648243 | 5 | m013705001 | 14015 | {"14015": {"2012-Q1": 5474.652359575167, "2012-Q2": 249096.6823606701, "2012-Q3": 251834.00854045767 ... total length 27991 | 
| 5655135333152804570 | 1 | m013512001 | 14022 | {"14021": {"2011-Q1": 749203.7684955753, "2011-Q2": 1311106.5948672567, "2011-Q3": 1325514.359646017 ... total length 6564 | 
| 4679381727745154934 | 5 | m012761001 | 12263 | {"12262": {"2008-Q1": 1161552.346570397, "2008-Q2": 8130866.425992779, "2008-Q3": 8220216.606498195, ... total length 1206 | 
| 6092413576809087552 | 9 | p008157001 | 15170 | {"15170": {"2019-Q3": 1711322.3854796886, "2019-Q4": 4770959.377700951, "2020-Q1": 4719101.123595505 ... total length 1920 | 
| 2219714617461310382 | 8 | p012277001 | 12262 | {"12262": {"2023-Q4": 8720747.663551401, "2024-Q1": 44088224.29906542, "2024-Q2": 44088224.29906542, ... total length 855 | 
| 8471173369051697756 | 7 | d000514001 | 12262 | {"12262": {"2015-Q1": 978260.8695652174, "2015-Q2": 17804347.826086957, "2015-Q3": 18000000.0, "2015 ... total length 766 | 
Total 89 rows
{
  "4_tag_countries_quarter": {
    "type": "table_custom_tfm_table",
    "custom_proc_type": "tag_and_denormalize",
    "desc": "Tag by country and quarter",
    "start_policy": "{manual_if_multi}",
    "r": {
      "table": "quarterly_project_bdgt_tggd_by_country",
      "expected_batches_total": 10
    },
    "p": {
      "tag_field_name": "quarter_tag",
      "tag_criteria_url": "{dir_cfg}/tag_criteria_country_quarter.json"
    },
    "w": {
      "name": "quarterly_project_bdgt_tggd_by_country_qtr",
      "fields": {
        "project_id": {
          "expression": "r.project_id",
          "type": "string"
        },
        "country": {
          "expression": "r.country",
          "type": "string"
        },
        "quarter": {
          "expression": "p.quarter_tag",
          "type": "string"
        },
        "country_budget_json": {
          "expression": "r.country_budget_json",
          "type": "string"
        }
      }
    }
  }
}
| rowid | batch_idx | country | country_budget_json | project_id | quarter | 
|---|---|---|---|---|---|
| 6492953802424297929 | 5 | R-ASIA | {"R-AFRICA": {"2023-Q1": 11405.109489051094, "2023-Q2": 518932.4817518248, "2023-Q3": 524635.0364963 ... total length 11700 | p010532001 | 2039-Q2 | 
| 8369222996845037265 | 7 | R-AFRICA | {"R-SOUTHSAHARA": {"2019-Q3": 427830.59636992216, "2019-Q4": 1192739.8444252377, "2020-Q1": 1179775. ... total length 7948 | p008157001 | 2030-Q2 | 
| 3991428177273871527 | 1 | R-AFRICA | {"R-AFRICA": {"2011-Q4": 4624664.879356569, "2012-Q1": 18297587.131367292, "2012-Q2": 18297587.13136 ... total length 1626 | m013354001 | 2013-Q4 | 
| 7342505052366961352 | 0 | R-EUROPE | {"R-AFRICA": {"2023-Q1": 11405.109489051094, "2023-Q2": 518932.4817518248, "2023-Q3": 524635.0364963 ... total length 11700 | p010532001 | 2031-Q2 | 
| 329413984584647843 | 3 | R-SOUTHAMERICA | {"R-SOUTHSAHARA": {"2023-Q4": 20348411.21495327, "2024-Q1": 102872523.36448598, "2024-Q2": 102872523 ... total length 1158 | p012277001 | 2024-Q4 | 
| 444896247391767300 | 0 | R-AFRICA | {"R-AFRICA": {"2020-Q1": 19661.582459485224, "2020-Q2": 596401.3346043852, "2020-Q3": 602955.1954242 ... total length 8472 | p006167001 | 2032-Q4 | 
| 2266330396245269672 | 1 | R-AFRICA | {"R-AFRICA": {"2011-Q4": 4624664.879356569, "2012-Q1": 18297587.131367292, "2012-Q2": 18297587.13136 ... total length 1626 | m013354001 | 2012-Q1 | 
| 2001117337629165355 | 7 | R-AFRICA | {"R-SOUTHSAHARA": {"2019-Q3": 427830.59636992216, "2019-Q4": 1192739.8444252377, "2020-Q1": 1179775. ... total length 7948 | p008157001 | 2034-Q1 | 
| 424662318704452281 | 3 | R-ASIA | {"R-ASIA": {"2024-Q1": 917164.0704614937, "2024-Q2": 4173096.5205997964, "2024-Q3": 4218954.72412287 ... total length 4700 | p012801001 | 2036-Q2 | 
| 5692577505011649179 | 3 | R-ASIA | {"R-AFRICA": {"2015-Q1": 1925951.0870244564, "2015-Q2": 35052309.783845104, "2015-Q3": 35437500.0012 ... total length 1040 | d000514001 | 2015-Q1 | 
Total 2815 rows
{
  "4_tag_sectors_quarter": {
    "type": "table_custom_tfm_table",
    "custom_proc_type": "tag_and_denormalize",
    "desc": "Tag by sector and quarter",
    "start_policy": "{manual_if_multi}",
    "r": {
      "table": "quarterly_project_bdgt_tggd_by_sector",
      "expected_batches_total": 10
    },
    "p": {
      "tag_field_name": "quarter_tag",
      "tag_criteria_url": "{dir_cfg}/tag_criteria_sector_quarter.json"
    },
    "w": {
      "name": "quarterly_project_bdgt_tggd_by_sector_qtr",
      "fields": {
        "project_id": {
          "expression": "r.project_id",
          "type": "string"
        },
        "sector": {
          "expression": "r.sector",
          "type": "int"
        },
        "quarter": {
          "expression": "p.quarter_tag",
          "type": "string"
        },
        "sector_budget_json": {
          "expression": "r.sector_budget_json",
          "type": "string"
        }
      }
    }
  }
}
| rowid | batch_idx | project_id | quarter | sector | sector_budget_json | 
|---|---|---|---|---|---|
| 3417114361344186478 | 1 | p010807001 | 2023-Q3 | 23210 | {"23110": {"2022-Q1": 10950.503723171267, "2022-Q2": 996495.8388085853, "2022-Q3": 1007446.342531756 ... total length 6063 | 
| 278214716076955433 | 3 | m013512001 | 2012-Q1 | 22020 | {"14021": {"2011-Q1": 749203.7684955753, "2011-Q2": 1311106.5948672567, "2011-Q3": 1325514.359646017 ... total length 6564 | 
| 6217006696553929290 | 3 | p012183001 | 2025-Q4 | 23230 | {"21012": {"2024-Q1": 71225.07122507122, "2024-Q2": 270061.7283950617, "2024-Q3": 273029.43969610636 ... total length 31222 | 
| 6394077211708104292 | 8 | p012801001 | 2028-Q4 | 31320 | {"14021": {"2024-Q1": 81525.69515213277, "2024-Q2": 370941.9129422041, "2024-Q3": 375018.1976998107, ... total length 18663 | 
| 6295086044700624849 | 1 | p010807001 | 2036-Q1 | 23210 | {"23110": {"2022-Q1": 10950.503723171267, "2022-Q2": 996495.8388085853, "2022-Q3": 1007446.342531756 ... total length 6063 | 
| 2827034138982770271 | 7 | m013705001 | 2017-Q4 | 41020 | {"14015": {"2012-Q1": 5474.652359575167, "2012-Q2": 249096.6823606701, "2012-Q3": 251834.00854045767 ... total length 27991 | 
| 3924812568294015995 | 2 | p006167001 | 2030-Q1 | 31220 | {"23210": {"2020-Q1": 80612.48808388942, "2020-Q2": 2445245.471877979, "2020-Q3": 2472116.3012392754 ... total length 5649 | 
| 7984473861537271468 | 9 | p010532001 | 2023-Q2 | 24010 | {"14021": {"2023-Q1": 5702.554744525547, "2023-Q2": 259466.2408759124, "2023-Q3": 262317.51824817515 ... total length 11924 | 
| 2278529692064738060 | 8 | p012801001 | 2031-Q4 | 14021 | {"14021": {"2024-Q1": 81525.69515213277, "2024-Q2": 370941.9129422041, "2024-Q3": 375018.1976998107, ... total length 18663 | 
| 3112752376945673075 | 1 | p010532001 | 2046-Q1 | 23210 | {"14021": {"2023-Q1": 5702.554744525547, "2023-Q2": 259466.2408759124, "2023-Q3": 262317.51824817515 ... total length 11924 | 
Total 4100 rows
{
  "4_tag_partners_quarter": {
    "type": "table_custom_tfm_table",
    "custom_proc_type": "tag_and_denormalize",
    "desc": "Tag by partner and quarter",
    "start_policy": "{manual_if_multi}",
    "r": {
      "table": "quarterly_project_bdgt",
      "expected_batches_total": 10
    },
    "p": {
      "tag_field_name": "quarter_tag",
      "tag_criteria_url": "{dir_cfg}/tag_criteria_partner_quarter.json"
    },
    "w": {
      "name": "quarterly_project_bdgt_tggd_by_partner_qtr",
      "fields": {
        "project_id": {
          "expression": "r.project_id",
          "type": "string"
        },
        "partner_id": {
          "expression": "r.partner_id",
          "type": "int"
        },
        "quarter": {
          "expression": "p.quarter_tag",
          "type": "string"
        },
        "partner_budget_json": {
          "expression": "r.partner_budget_json",
          "type": "string"
        }
      }
    }
  }
}
| rowid | batch_idx | partner_budget_json | partner_id | project_id | quarter | 
|---|---|---|---|---|---|
| 7342940742954749308 | 5 | {"2008-Q1": 5279783.393501805, "2008-Q2": 36958483.75451264, "2008-Q3": 37364620.93862816, "2008-Q4" ... total length 390 | 29979 | m012761001 | 2008-Q1 | 
| 3394236084649177899 | 3 | {"2024-Q1": 1019071.1894016596, "2024-Q2": 4636773.911777551, "2024-Q3": 4687727.471247634, "2024-Q4 ... total length 2281 | 29588 | p012801001 | 2031-Q2 | 
| 5071788641754749770 | 5 | {"2012-Q1": 54746.52359794153, "2012-Q2": 2490966.8237063396, "2012-Q3": 2518340.0855053104, "2012-Q ... total length 3130 | 29636 | m013705001 | 2024-Q2 | 
| 6626161188484444956 | 5 | {"2020-Q1": 98307.91229742613, "2020-Q2": 2982006.6730219256, "2020-Q3": 3014775.9771210677, "2020-Q ... total length 2865 | 29578 | p006167001 | 2040-Q1 | 
| 2134130478402844279 | 7 | {"2023-Q1": 57025.54744525548, "2023-Q2": 2594662.408759124, "2023-Q3": 2623175.182481752, "2023-Q4" ... total length 2928 | 33915 | p010532001 | 2031-Q1 | 
| 1694080718445760647 | 5 | {"2012-Q1": 54746.52359794153, "2012-Q2": 2490966.8237063396, "2012-Q3": 2518340.0855053104, "2012-Q ... total length 3130 | 29636 | m013705001 | 2019-Q2 | 
| 8401088962749715498 | 7 | {"2023-Q1": 57025.54744525548, "2023-Q2": 2594662.408759124, "2023-Q3": 2623175.182481752, "2023-Q4" ... total length 2928 | 33915 | p010532001 | 2041-Q4 | 
| 1141318120458157259 | 5 | {"2012-Q1": 54746.52359794153, "2012-Q2": 2490966.8237063396, "2012-Q3": 2518340.0855053104, "2012-Q ... total length 3130 | 29636 | m013705001 | 2034-Q3 | 
| 2194763728648754650 | 1 | {"2015-Q3": 3046127.0670147957, "2015-Q4": 20017406.440382943, "2016-Q1": 19799825.93559617, "2016-Q ... total length 790 | 29981 | d002243001 | 2021-Q1 | 
| 8530353620023620803 | 5 | {"2020-Q1": 98307.91229742613, "2020-Q2": 2982006.6730219256, "2020-Q3": 3014775.9771210677, "2020-Q ... total length 2865 | 29578 | p006167001 | 2022-Q2 | 
Total 807 rows
{
  "5_project_country_quarter_amt": {
    "type": "table_custom_tfm_table",
    "custom_proc_type": "py_calc",
    "desc": "Get country quarter amount",
    "start_policy": "{manual_if_multi}",
    "r": {
      "table": "quarterly_project_bdgt_tggd_by_country_qtr",
      "expected_batches_total": "{get_amt_from_json_batches|number}"
    },
    "p": {
      "python_code_urls": [
        "{dir_py}/get_amt_from_json.py"
      ],
      "calculated_fields": {
        "amt": {
          "expression": "get_amt_by_key_and_quarter(r.country, r.quarter, r.country_budget_json)",
          "type": "float"
        }
      }
    },
    "w": {
      "name": "project_country_quarter_amt",
      "fields": {
        "project_id": {
          "expression": "r.project_id",
          "type": "string"
        },
        "country": {
          "expression": "r.country",
          "type": "string"
        },
        "quarter": {
          "expression": "r.quarter",
          "type": "string"
        },
        "amt": {
          "expression": "p.amt",
          "type": "float"
        }
      }
    }
  }
}
| rowid | amt | batch_idx | country | project_id | quarter | 
|---|---|---|---|---|---|
| 8352437364985377892 | 8979731.903485255316 | 5 | R-MIDDLEEAST | p005247001 | 2022-Q1 | 
| 1467471873947741681 | 1208803.240994196851 | 6 | R-SOUTHAMERICA | m013705001 | 2019-Q3 | 
| 1146470614011740801 | 1179775.280898876255 | 7 | R-AFRICA | p008157001 | 2032-Q2 | 
| 5947481005455973810 | 1192739.844425237738 | 9 | R-AFRICA | p008157001 | 2034-Q3 | 
| 7402402944726961228 | 1096605.744125326397 | 9 | R-AMERICA | d002243001 | 2019-Q1 | 
| 3123951200987607634 | 518932.481751824787 | 1 | R-EUROPE | p010532001 | 2035-Q2 | 
| 6067614188642658611 | 797109.383554144297 | 8 | R-NORTHCENTRALAMERICA | m013705001 | 2026-Q2 | 
| 3586706661276337928 | 8500451.26353790611 | 5 | R-ASIA | m012761001 | 2010-Q2 | 
| 3316991650243725571 | 805868.827329464606 | 6 | R-NORTHCENTRALAMERICA | m013705001 | 2032-Q3 | 
| 307696516709794065 | 2092641.261498028878 | 3 | PH | p010807001 | 2029-Q2 | 
Total 2815 rows
{
  "5_project_sector_quarter_amt": {
    "type": "table_custom_tfm_table",
    "custom_proc_type": "py_calc",
    "desc": "Get sector quarter amount",
    "start_policy": "{manual_if_multi}",
    "r": {
      "table": "quarterly_project_bdgt_tggd_by_sector_qtr",
      "expected_batches_total": "{get_amt_from_json_batches|number}"
    },
    "p": {
      "python_code_urls": [
        "{dir_py}/get_amt_from_json.py"
      ],
      "calculated_fields": {
        "amt": {
          "expression": "get_amt_by_key_and_quarter(r.sector, r.quarter, r.sector_budget_json)",
          "type": "float"
        }
      }
    },
    "w": {
      "name": "project_sector_quarter_amt",
      "fields": {
        "project_id": {
          "expression": "r.project_id",
          "type": "string"
        },
        "sector": {
          "expression": "r.sector",
          "type": "int"
        },
        "quarter": {
          "expression": "r.quarter",
          "type": "string"
        },
        "amt": {
          "expression": "p.amt",
          "type": "float"
        }
      }
    }
  }
}
| rowid | amt | batch_idx | project_id | quarter | sector | 
|---|---|---|---|---|---|
| 1779323788083840704 | 9821920 | 1 | d003827001 | 2019-Q4 | 12263 | 
| 3242940668563944892 | 54605.887939221277 | 0 | p012183001 | 2040-Q3 | 23630 | 
| 3196811808504227128 | 249096.682360670093 | 7 | m013705001 | 2025-Q2 | 23240 | 
| 4134373396957659457 | 249096.682360670093 | 6 | m013705001 | 2030-Q2 | 23270 | 
| 4898646005207659992 | 562527.296549716149 | 2 | p012801001 | 2033-Q4 | 31150 | 
| 4655671061090342577 | 262317.518248175154 | 5 | p010532001 | 2028-Q4 | 41010 | 
| 7308084502650371569 | 251834.008540457668 | 5 | m013705001 | 2036-Q3 | 41030 | 
| 8863493122566626848 | 2219286.657859973609 | 2 | p005253001 | 2025-Q1 | 13020 | 
| 2051407001243747950 | 54605.887939221277 | 6 | p012183001 | 2026-Q4 | 23270 | 
| 4457792887679449827 | 251834.008540457668 | 8 | m013705001 | 2034-Q4 | 14015 | 
Total 4100 rows
{
  "5_project_partner_quarter_amt": {
    "type": "table_custom_tfm_table",
    "custom_proc_type": "py_calc",
    "desc": "Get partner quarter amount",
    "start_policy": "{manual_if_multi}",
    "r": {
      "table": "quarterly_project_bdgt_tggd_by_partner_qtr",
      "expected_batches_total": "{get_amt_from_json_batches|number}"
    },
    "p": {
      "python_code_urls": [
        "{dir_py}/get_amt_from_json.py"
      ],
      "calculated_fields": {
        "amt": {
          "expression": "get_amt_by_quarter(r.quarter, r.partner_budget_json)",
          "type": "float"
        }
      }
    },
    "w": {
      "name": "project_partner_quarter_amt",
      "fields": {
        "project_id": {
          "expression": "r.project_id",
          "type": "string"
        },
        "partner_id": {
          "expression": "r.partner_id",
          "type": "int"
        },
        "quarter": {
          "expression": "r.quarter",
          "type": "string"
        },
        "amt": {
          "expression": "p.amt",
          "type": "float"
        }
      }
    }
  }
}
| rowid | amt | batch_idx | country | project_id | quarter | 
|---|---|---|---|---|---|
| 5728672404326026007 | 788436.268068331177 | 0 | MK | p010807001 | 2045-Q1 | 
| 8383636330285209887 | 4218954.724122870713 | 1 | R-ASIA | p012801001 | 2041-Q4 | 
| 4554746474091386522 | 2069645.203679369297 | 3 | IN | p010807001 | 2027-Q1 | 
| 3593219858001012360 | 524635.036496350309 | 8 | R-EUROPE | p010532001 | 2041-Q4 | 
| 2927563276626245485 | 2092641.261498028878 | 6 | ZA | p010807001 | 2023-Q2 | 
| 8515675698706982132 | 2092641.261498028878 | 4 | IN | p010807001 | 2045-Q2 | 
| 6853973419823718100 | 2115637.319316688459 | 5 | PH | p010807001 | 2033-Q3 | 
| 6898433930390248265 | 498193.364721340185 | 2 | R-WESTINDIES | m013705001 | 2030-Q2 | 
| 6898697046540229926 | 797196.671046868199 | 3 | MK | p010807001 | 2036-Q1 | 
| 1721444317230417779 | 894602.001906577731 | 3 | R-AMERICA | p006167001 | 2031-Q2 | 
Total 2815 rows
{
  "6_file_project_country_quarter_amt": {
    "type": "table_file",
    "desc": "Write project_country_quarter_amt.csv",
    "r": {
      "table": "project_country_quarter_amt"
    },
    "w": {
      "top": {
        "order": "quarter,project_id,country"
      },
      "url_template": "{dir_out}/project_country_quarter_amt.csv",
      "columns": [
        {
          "csv": {
            "header": "project_id",
            "format": "%s"
          },
          "name": "project_id",
          "expression": "r.project_id",
          "type": "string"
        },
        {
          "csv": {
            "header": "country_code",
            "format": "%s"
          },
          "name": "country",
          "expression": "r.country",
          "type": "string"
        },
        {
          "csv": {
            "header": "quarter",
            "format": "%s"
          },
          "name": "quarter",
          "expression": "r.quarter",
          "type": "string"
        },
        {
          "csv": {
            "header": "amt",
            "format": "%.2f"
          },
          "name": "amt",
          "expression": "r.amt",
          "type": "float"
        }
      ]
    }
  }
}
| project_id | country_code | quarter | amt | 
|---|---|---|---|
| m012672001 | R-AFRICA | 2007-Q4 | 19856189.45 | 
| m012672001 | R-AFRICA | 2008-Q1 | 29621528.53 | 
| m012761001 | R-AFRICA | 2008-Q1 | 3326263.54 | 
| m012761001 | R-AMERICA | 2008-Q1 | 369584.84 | 
| m012761001 | R-ASIA | 2008-Q1 | 1214350.18 | 
| m012761001 | R-EUROPE | 2008-Q1 | 369584.84 | 
| m012672001 | R-AFRICA | 2008-Q2 | 29621528.53 | 
| m012761001 | R-AFRICA | 2008-Q2 | 23283844.77 | 
| m012761001 | R-AMERICA | 2008-Q2 | 2587093.86 | 
| m012761001 | R-ASIA | 2008-Q2 | 8500451.26 | 
Total 2815 rows
{
  "6_file_project_sector_quarter_amt": {
    "type": "table_file",
    "desc": "Write project_sector_quarter_amt.csv",
    "r": {
      "table": "project_sector_quarter_amt"
    },
    "w": {
      "top": {
        "order": "quarter,project_id,sector"
      },
      "url_template": "{dir_out}/project_sector_quarter_amt.csv",
      "columns": [
        {
          "csv": {
            "header": "project_id",
            "format": "%s"
          },
          "name": "project_id",
          "expression": "r.project_id",
          "type": "string"
        },
        {
          "csv": {
            "header": "sector_id",
            "format": "%d"
          },
          "name": "sector",
          "expression": "r.sector",
          "type": "int"
        },
        {
          "csv": {
            "header": "quarter",
            "format": "%s"
          },
          "name": "quarter",
          "expression": "r.quarter",
          "type": "string"
        },
        {
          "csv": {
            "header": "amt",
            "format": "%.2f"
          },
          "name": "amt",
          "expression": "r.amt",
          "type": "float"
        }
      ]
    }
  }
}
| project_id | sector_id | quarter | amt | 
|---|---|---|---|
| m012672001 | 11420 | 2007-Q4 | 1389933.26 | 
| m012672001 | 14021 | 2007-Q4 | 1985618.95 | 
| m012672001 | 14022 | 2007-Q4 | 1985618.95 | 
| m012672001 | 15110 | 2007-Q4 | 3971237.89 | 
| m012672001 | 21020 | 2007-Q4 | 3971237.89 | 
| m012672001 | 23630 | 2007-Q4 | 3971237.89 | 
| m012672001 | 31120 | 2007-Q4 | 2581304.63 | 
| m012672001 | 11420 | 2008-Q1 | 2073507.00 | 
| m012672001 | 14021 | 2008-Q1 | 2962152.85 | 
| m012672001 | 14022 | 2008-Q1 | 2962152.85 | 
Total 4100 rows
{
  "6_file_project_partner_quarter_amt": {
    "type": "table_file",
    "desc": "Write project_partner_quarter_amt.csv",
    "r": {
      "table": "project_partner_quarter_amt"
    },
    "w": {
      "top": {
        "order": "quarter,project_id,partner_id"
      },
      "url_template": "{dir_out}/project_partner_quarter_amt.csv",
      "columns": [
        {
          "csv": {
            "header": "project_id",
            "format": "%s"
          },
          "name": "project_id",
          "expression": "r.project_id",
          "type": "string"
        },
        {
          "csv": {
            "header": "partner_id",
            "format": "%d"
          },
          "name": "partner_id",
          "expression": "r.partner_id",
          "type": "int"
        },
        {
          "csv": {
            "header": "quarter",
            "format": "%s"
          },
          "name": "quarter",
          "expression": "r.quarter",
          "type": "string"
        },
        {
          "csv": {
            "header": "amt",
            "format": "%.2f"
          },
          "name": "amt",
          "expression": "r.amt",
          "type": "float"
        }
      ]
    }
  }
}
| project_id | partner_id | quarter | amt | 
|---|---|---|---|
| m012672001 | 29663 | 2007-Q4 | 19856189.45 | 
| m012672001 | 29663 | 2008-Q1 | 29621528.53 | 
| m012761001 | 29979 | 2008-Q1 | 5279783.39 | 
| m012672001 | 29663 | 2008-Q2 | 29621528.53 | 
| m012761001 | 29979 | 2008-Q2 | 36958483.75 | 
| m012672001 | 29663 | 2008-Q3 | 29947039.83 | 
| m012761001 | 29979 | 2008-Q3 | 37364620.94 | 
| m012672001 | 29663 | 2008-Q4 | 29947039.83 | 
| m012761001 | 29979 | 2008-Q4 | 37364620.94 | 
| m012672001 | 29663 | 2009-Q1 | 29296017.22 | 
Total 807 rows