The problem is that...
| eval rank=floor((tonumber(mvindex(split(fieldname,"_"),1))+1)/3)
...needs to be...
| eval rank=floor((tonumber(mvindex(split(fieldname,"_"),1))+2)/3)
...and it works just fine.
Run anywhere demonstration code -
| makeresults count=100
| streamstats count as recno
| eval recgroup = ceiling((1+recno)/10)
| eval recgroup="A".if(len(recgroup)=1,"00","0").recgroup
| eval suffix=case(len(recno)=3,recno,len(recno)=2,"0".recno,true(),"00".recno)
| eval name="name".suffix,song="song".suffix,score=8000000+recno
| eval stuff=mvappend(song,name,score)
| table stuff recgroup
| stats list(stuff) as stuff by recgroup
| mvexpand stuff
| streamstats count as recno
| eval suffix=case(len(recno)=3,recno,len(recno)=2,"0".recno,true(),"00".recno)
| eval fieldname="match_".recno
| eval {fieldname} = stuff
| stats values(match*) as match*
| rename COMMENT as "The above just generates test data"
| rename COMMENT as "and we try somesoni2's last solution, with +1 changed to +2"
| untable recno fieldname fieldvalue
| eval rank=floor((tonumber(mvindex(split(fieldname,"_"),1))+2)/3)
| streamstats count as label by rank
| eval label=case(label=1,"title", label=2,"name",true(),"score")
| chart values(fieldvalue) over rank by label
... generating ...
rank name score title
1 name001 8000001 song001
2 name002 8000002 song002
3 name003 8000003 song003
... etc
... View more