前两天有一同事给我发一消息,请我帮忙按下图处理一下数据
大致看了一下,应该就是行数据转列数据,但又稍有不同,前面的数据类似于EXCEL表格中的冻结列。如何实现呢?只需要取后面6个字段中的数据进行转换,如果不为空,则进行转换。
首先对原如表格数据进行处理,转换成DBF表
转换的具体代码如下:
CLOSE ALL
CLEAR
SET TALK OFF
SET SAFETY OFF
CREATE TABLE fenxi (riqi c(12),qinshi c(5),shiyou c(254),bjh c(2),bzr c(8),wjr c(8))
USE
SELECT a
USE weiji ALIAS wj
SELECT b
USE fenxi ALIAS fx
SELECT wj
scan
f1=wj.riqi
f2=wj.qinshi
f3=wj.shiyou
f4=wj.bjh
f5=wj.bzr
FOR i=6 TO fcount()
fname=FIELD(i)
ff=&fname
IF LEN(ALLTRIM(ff))>0
INSERT INTO fx (riqi,qinshi,shiyou,bjh,bzr,wjr) VALUES (f1,f2,f3,f4,f5,ff)
ENDIF
ENDFOR
ENDSCAN
转换之后的结果如下图
最新回复