Card calculation : GWM

This commit is contained in:
Gowtham M 2025-02-15 14:29:56 +05:30
parent 4f23722e3e
commit d18af8373a
6 changed files with 392 additions and 54102 deletions

File diff suppressed because it is too large Load Diff

359
kpi_files/divorces2.json Normal file
View File

@ -0,0 +1,359 @@
[
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "6",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "3863728831"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "14",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "641082178"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "20",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "6014259561"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "16",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "96958572531"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "1",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "111024318"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "18",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "2636215608"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "19",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "374950"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "15",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "9591808999"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "9",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "839273303"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "8",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "970298520"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "11",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "7606593739"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "2",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "851350729"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "17",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "2813005078"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "4",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "832494446"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "13",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "1592419671"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "3",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "7287645"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "7",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "4026101981"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "5",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "1806728522"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "10",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "1128060931"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "21",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "7800654"
}
},
{
"ObsKey": {
"COUNTRY": "156",
"FREQ": "A",
"HS_CHAPTER": "_Z",
"HS_SECTION": "12",
"MEASURE": "ANN_CNT_SEC",
"REF_AREA": "AE",
"SOURCE_DETAIL": "FCSC",
"TIME_PERIOD": "2020",
"TRADE_TYPE": "IMP",
"UNIT_MEASURE": "AED"
},
"ObsValue": {
"Value": "2131138927"
}
}
]

36
main.go
View File

@ -610,26 +610,28 @@ func main() {
log.Println("Gowtham", "loop")
//responce data structure
chartHeadingKey := "chart_heading_" + language
chartSubHeadingKey := "chart_aub_heading_" + language
tabHeadingKey := "tab_heading_" + language
// Correct conditional assignment for "response"
recordResult := map[string]interface{}{
"url": apiURL,
"dataset": record.GetString("dataset"),
"main_id": record.GetString("main_id"),
"sub_id": record.GetString("sub_id"),
"kpi": record.GetString("kpi"),
"is_chart": record.GetString("is_chart"),
"chart_type": record.GetString("chart_type"),
"response": cResRaw,
"group_by": record.GetString("group_by"),
"chart_heading": record.GetString(chartHeadingKey),
"tab_heading": record.GetString(tabHeadingKey),
"unset_value": record.Get("unset_value"),
"card_logo": logoURL,
"order_id": record.Get("order_id"),
"card_type_json": record.Get("card_type_json"),
"tab_order": record.GetString("tab_order"),
"chart_type_json": record.Get("chart_type_json"),
"url": apiURL,
"dataset": record.GetString("dataset"),
"main_id": record.GetString("main_id"),
"sub_id": record.GetString("sub_id"),
"kpi": record.GetString("kpi"),
"is_chart": record.GetString("is_chart"),
"chart_type": record.GetString("chart_type"),
"response": cResRaw,
"group_by": record.GetString("group_by"),
"chart_heading": record.GetString(chartHeadingKey),
"chart_sub_heading": record.GetString(chartSubHeadingKey),
"tab_heading": record.GetString(tabHeadingKey),
"unset_value": record.Get("unset_value"),
"card_logo": logoURL,
"order_id": record.Get("order_id"),
"card_type_json": record.Get("card_type_json"),
"tab_order": record.GetString("tab_order"),
"chart_type_json": record.Get("chart_type_json"),
}
// card data calculation

Binary file not shown.

Binary file not shown.

View File

@ -151,19 +151,23 @@ func difference(data []Observation) float64 {
func applyConversion(value float64, conversion string, numberFormat string) string {
if numberFormat == "M" {
value *= 1000000
} else if numberFormat == "T" {
if numberFormat == "T" {
value *= 1000000000000
} else if numberFormat == "B" {
value *= 1000000000
} else if numberFormat == "M" {
value *= 1000000
} else if numberFormat == "K" {
value *= 1000
}
switch conversion {
case "M":
return fmt.Sprintf("%.2fM", value/1000000)
case "T":
return fmt.Sprintf("%.2fT", value/1000000000000)
return fmt.Sprintf("%.2fM", value/1000000000000)
case "B":
return fmt.Sprintf("%.2fT", value/1000000000)
case "M":
return fmt.Sprintf("%.2fT", value/1000000)
case "K":
return fmt.Sprintf("%.2fK", value/1000)
case "%":
@ -263,10 +267,12 @@ func CalculateGroupedSum(observations []Observation, request ChartCalculationReq
// Convert values based on conversion type
func convertValue(value float64, conversion string) float64 {
switch conversion {
case "M": // Million
return round(value/1000000, 2)
case "T": // Trillion
return round(value/1000000000000, 2)
case "B": // Billion
return round(value/1000000000, 2)
case "M": // Million
return round(value/1000000, 2)
case "K": // Thousand
return round(value/1000, 2)
default: // No conversion