问题是这样的,因为数据源是比较原始的comma delimited data,于是多余的逗号把本来两个变量的值放到了n个里面去,现在要找出来哪些是分别这两个变量的并把值赋回去
两个变量分别是name和address,name在前,address紧跟在后
name不知道被分成了多少块,address没有多余的逗号,所以在一个ob里面,但是不知道在哪个var那一竖行(v3-v10),并且address如果没有具体的地址将会出现00000,所以我写的是这样的:
foreach n of numlist 10/3 { ; /*这个n是global的么?里面的内循环的foreach认么?*/ capture drop v`n' ;
if !_rc { ;
gen address = v`n';
replace address = "N/A" if address=="00000";
gen name = "";
foreach m of numlist `n-1'/3 { ;
replace name=name + v`m' ;
} ;
break ;
} ;
else continue ;
} ;
基本的东西我觉得应该没有什么问题,但是后面要用name的时候,提示name这个variable是undefined,于是我就纳了个闷了,高手瞅一眼指导一下(难道在循环里面生成的变量不是全局变量?但这个不是只有宏才该有的问题么。。。)


雷达卡



京公网安备 11010802022788号







