@yurykiselev, please try the following run anywhere search which mimics two JSON data one with 4 values and another with three. The commands from | makeresults till | fields - _raw _time generates the dummy data, instead of which you would need to use your current search.
| makeresults
| eval _raw=" {
\"id\": 4321,
\"value\": [
5, 6, 7, 8
]
}"
| append
[| makeresults
| eval _raw=" {
\"id\": 1234,
\"value\": [
1, 2, 3
]
}"]
| spath
| fields - _raw _time
| rename "value{}" as value
| eval values_count=mvcount(value)+1
| eval counter=mvrange(1,values_count)
| eval value=mvzip(value,counter)
| fields - counter values_count
| mvexpand value
| eval value=split(value,",")
| eval counter="value_".mvindex(value,1),value=mvindex(value,0)
| chart values(value) by id counter
| fillnull value=0
... View more