Hi deepakdinakaran,
You can try the following script. As far as I tested, it seems working with the sample;
or you can modify for your more general cases:////////////////////////////////////////////////////////////////
range rsi=[%H]$(page.active); //Input sheet range
nc=wks.nCols; //Number of columns
nr=wks.maxRows; //Number of rows
window -t data; //Output worksheet
worksheet -a (nr*2-1); //Have more Y columns to store
owb$=%H; //Output workbook name
xy$=rsi!col(2)[1]$; //Whole input string in a cell
str$=token(xy$,1,"}")$; nx=str.count(",")+1; //# of X elements
str$=token(xy$,2,"}")$; ny=str.count(","); //# of Y elements
////////// Handle X Dataset /////////////////////
range tt=[owb$]1!col(1);
for(ii=1; ii<=nx; ii++) {
if(ii==1) tt[ii]=Value(mid(token(token(xy$,1,"}")$,1,",")$,3)$); //1st cell
else tt[ii]=Value(token(token(xy$,1,"}")$,ii,",")$); //Other cells
}
////////// Handle Y Datasets ////////////////////
oc=2; //Output column#
for(ir=1; ir<=nr; ir++) {
cat$=rsi!col(1)[ir]$;
for(ic=2; ic<=nc; ic++) {
xy$=rsi!wcol(ic)[ir]$; //Whole input string in a cell
range tt=[owb$]1!wcol(oc); //Output column range
tt[C]$=cat$; //Assign category string to Comment
for(iy=1; iy<=ny; iy++) {
if(iy==1) tt[iy]=Value(mid(token(token(xy$,2,"}")$,2,",")$,2)$); //1st cell
else tt[iy]=Value(token(token(xy$,2,"}")$,iy+1,",")$); //Other cells
}
oc++;
}
}
////////////////////////////////////////////////////////////////
Hope this helps.
--Hideo Fujii
OriginLab