โ12-09-2022 04:22 AM
Below is the Input
[
{
โ@idโ: โ2โ,
โcolโ: [
{
โ@idโ: โ2โ,
โ@transableโ: โyesโ,
โ$โ: โReplace1โ
},
{
โ@idโ: โ3โ,
โ@transableโ: โnoโ,
โ$โ: โReplace2โ
}
],
โgroupโ: [
{
โAโ: โA1โ,
โBโ: โB1โ,
โCโ: โC1โ,
โDโ: โD1โ,
โEโ: "E1 ",
โFโ: โF1โ,
โGโ: โG1โ,
โHโ: โโ,
โIโ: โโ
},
{
โAโ: โA2โ,
โBโ: โB2โ,
โCโ: โC2โ,
โDโ: โD2โ,
โEโ: โโ,
โFโ: โF2โ,
โGโ: โG2โ,
โHโ: โโ,
โIโ: โโ
}
]
}
]
expected Output :
[
{
"group": [
{
"A": "A1",
"B": "B1",
"C": "C1",
"D": "D1",
"E": "E1 ",
"F": "F1",
"G": "G1",
"H": "",
"I": ""
},
{
"A": "A2",
"B": "Replace1",
"C": "Replace2",
"D": "D2",
"E": "",
"F": "F2",
"G": "G2",
"H": "",
"I": ""
}
]
}
]
explanantion : @id refers to row number of the group and @id under col refers to the column number of the group where replacement needs to be done with the value of "$"
โ12-09-2022 04:42 AM
Hi @KTsnap,
I believe this expression will do the job:
$group.map((x,index)=>$['@id'] == index + 1 ? (x.mapValues((v,k)=> $col.find(e => e['@id']-1 == x.keys().indexOf(k)) != null ? $col.find(e => e['@id']-1 == x.keys().indexOf(k) ).get('$') : v)) : x)
Itโs rather complex, so I would suggest you to do some testing.
Regards,
Bojan
โ12-11-2022 09:52 PM
Hi @bojanvelevski similarly if i have two array called row and group as shown below
I need to replace the the value of second array ie group array with values from first array ie row array
to elaborate->row id in first array (row array) is corresponding to first record in second array(group array) and colid in first array(row array) is corresponding to A, B, C,D,E,F,G,H,I in the second array(group array).Example:first record of second array(group array) with values corresponding to column B and C must be updated with value ($) corresponding to first array(row array) with row id 1 and col id is 2 &col id is 3but remaining column values like A,D,E,FโฆI values should remain as incoming input values
Expected output is as shown below
Please could u help telling how can we achieve this using mapper expression here
โ12-12-2022 03:58 AM
If my understanding is correct, this is the same situation, isnโt it ?
You just need to tweak the expression a little bit.
โ12-12-2022 04:11 AM
Hi @bojanvelevski yes but here id corresponding to row comes in an array so how can we change it accordingly?
i tried this way its not working pls could u help if am missing something or doing wrong pls
input.json (1.0 KB)
@bojanvelevski, @alchemiz please could u help ๐