Hi @parthak,
attached a complete working workflow to get to a shortend version of your json:
https://jsonblob.com/2cc29296-b588-11ea-9bad-bbe3eeac2e48
I removed many of the KPIs to have less assignments in the KPI groups.
However I kept at least 2 KPIs on each level - so it should work as well for your complete JSON.
->you will have to fill in the assignment tables in the beginning.
As I could not see any logic how the assignment works this was the easiest solution
…if there is a generic logic behind the metrics/submetrics groups then you can just put it at the beginning insead 
For metrics:

For submetrics:
Workflow:
JSON.knar (106.3 KB)
Workflow result:
https://jsonblob.com/6f44f74f-b590-11ea-9bad-c3330e522ce3
.
{
“guid”: “D2676968-C552-4319-A0F9-22ACF007E441”,
“primaryprogram”: “Home Depot - ALL”,
“metricdata”: [
{
“name”: “AHT”,
“data”: {
“metrics”: {
“Conformance %”: 0.09311737894674196,
“Email Capture Rate %”: 0.12770707068957,
“RPH”: -0.25425068053486416,
“Reopen%”: 0.16077846713450503,
“VOC ASAT”: 0.03156019845823264,
“VOC LTSA”: 0.1122460525270463
},
“submetrics”: [
{
“Call Answered_AHT”: {
“Scheduled Lunch Time_Conformance %”: -0.16108320714285218,
“Actual Break Time_Conformance %”: 0.20435632484264316,
“Actual Lunch Time_Conformance %”: -0.1085923444453887,
“Adjusted Staff Time_RPH”: 0.2374171783419338,
“Admin Time_RPH”: 0.03445869768550578,
“Email Capture Count_Email Capture Rate %”: 0.10760800855315494,
“Resolved Count_Email Capture Rate %”: 0.2757286226494401,
“Resolved Count_Reopen%”: 0.017419158081697937,
“Scheduled Break Time_Conformance %”: 0.17965042978139703
}
},
{
“Hold Time_AHT”: {
“Scheduled Lunch Time_Conformance %”: -0.22871984040114765,
“Actual Break Time_Conformance %”: 0.17913899996257812,
“Actual Lunch Time_Conformance %”: -0.17079030433769818,
“Adjusted Staff Time_RPH”: 0.5299197830861845,
“Admin Time_RPH”: 0.19134211310101645,
“Email Capture Count_Email Capture Rate %”: -0.020030599561981055,
“Resolved Count_Email Capture Rate %”: 0.08609664692934205,
“Resolved Count_Reopen%”: -0.05932185501366315,
“Scheduled Break Time_Conformance %”: 0.1858460937078456,
“VOC Count_VOC ASAT”: -0.11679712367060496,
“VOC Count_VOC LTSA”: -0.1009727765120373,
“Acw Time_AHT”: 0.5508943030539666
}
},
{
“Talk Time_AHT”: {
“Scheduled Lunch Time_Conformance %”: -0.13032676481403863,
“Actual Break Time_Conformance %”: 0.18329182376880118,
“Actual Lunch Time_Conformance %”: -0.0665169565184278,
“Adjusted Staff Time_RPH”: 0.5194391432061878,
“Admin Time_RPH”: 0.12830897871262298,
“Email Capture Count_Email Capture Rate %”: 0.06685008407380622,
“Resolved Count_Email Capture Rate %”: 0.1666225803376203,
“Resolved Count_Reopen%”: 0.0560893012033043,
“Scheduled Break Time_Conformance %”: 0.20826141975768164,
“VOC Count_VOC ASAT”: -0.08961134247866595
}
}
]
}
},
{
“name”: “VOC”,
“data”: {
“metrics”: {
“Conformance %”: 0.01549214657663076,
“Email Capture Rate %”: -0.12961751625624762,
“RPH”: -0.06868461050195497,
“Reopen%”: -0.061547158552090885,
“VOC ASAT”: 0.4196360964376155,
“VOC LTSA”: 0.4239676419893166,
“AHT”: -0.005992558084068192,
“Email Capture Rate”: -0.03266237102811549,
“FCR”: 0.32031056574631495,
“ICP”: -0.218345139721597,
“VOC”: 1.0,
“ICP %”: 0.1367470251832892
},
“submetrics”: [
{
“VOC Count_VOC”: {
“Scheduled Lunch Time_Conformance %”: 0.24719049629245335,
“Actual Break Time_Conformance %”: 0.2763110275518443,
“Actual Lunch Time_Conformance %”: 0.22972470813838147,
“Adjusted Staff Time_RPH”: 0.4750700432415697,
“Admin Time_RPH”: 0.08086776182481961,
“Email Capture Count_Email Capture Rate %”: 0.586714447110612,
“Resolved Count_Email Capture Rate %”: 0.46606848379601884,
“Resolved Count_Reopen%”: -0.03198533316078207,
“Scheduled Break Time_Conformance %”: 0.3366338663555732
}
},
{
“VOC Sum_VOC”: {
“Scheduled Lunch Time_Conformance %”: 0.2033689987122358,
“Actual Break Time_Conformance %”: 0.2605964154972302,
“Actual Lunch Time_Conformance %”: 0.19934415618044043,
“Adjusted Staff Time_RPH”: 0.5133219207151379,
“Admin Time_RPH”: 0.11267196462586741,
“Email Capture Count_Email Capture Rate %”: 0.5430782838999504,
“Resolved Count_Email Capture Rate %”: 0.43941490400523237,
“Resolved Count_Reopen%”: -0.03613520703793213,
“Scheduled Break Time_Conformance %”: 0.315738911706042
}
}
]
}
}
]
}
Would still say that most likely the whole json group creation can be replaced by normal json nodes instead of this string only solution - but it works as far as I can see 