A:实现:将相同截止日的数据放到同一行中,不同行业作为列标,值作为元素内容
r:=array(
("截止日":"2024-08-01","行业":"A","值":0),
("截止日":"2024-08-01","行业":"B","值":1),
("截止日":"2024-08-01","行业":"C","值":2),
("截止日":"2024-08-02","行业":"A","值":1),
("截止日":"2024-08-02","行业":"B","值":2),
("截止日":"2024-08-02","行业":"C","值":3),
("截止日":"2024-08-03","行业":"A","值":2),
("截止日":"2024-08-03","行业":"B","值":3),
("截止日":"2024-08-03","行业":"C","值":4),
);
sName:="行业";//该列作为列名
vName:="值";//该列作为对应指标值
rt:=array();//重构
for i:=0 to length(r)-1 do
rt[r[i,"截止日"],r[i,sName]]:=r[i,vName];
//--将截止日列作为第一列数据,并将行下标更改为数字下标,若不需要,则可注释掉
rt:=select thisRowIndex as "截止日",* from rt order by thisRowIndex end;
rt:= ReIndex2(rt,1);
return rt;
转换前->转换后:
