将日期作为关于 VOL 的变量名称的表格,我想创建一个新变量为 FLAG ,即IF变量有1拉变量的日期输入 FLAG 列
VOL 31-Dec-10 31-Dec-11 31-Dec-12 31-Dec-13 31-Dec-14 31-Dec-15
109001 0 0 0 0 1 0
109002 0 0 1 0 0 0
109003 0 0 1 0 0 0
109004 0 0 0 1 0 0
109006 0 0 1 0 0 1
输出
VOL 31-Dec-10 31-Dec-11 31-Dec-12 31-Dec-13 31-Dec-14 31-Dec-15 FLAG
109001 0 0 0 0 1 0 31-Dec-14
109002 0 0 1 0 0 0 31-Dec-12
109003 0 0 1 0 0 0 31-Dec-12
109004 0 0 0 1 0 0 31-Dec-13
109006 0 0 1 0 0 1 31-Dec-15
答案 0 :(得分:4)
您希望使用vlabel()
函数,因为这些列标题不符合标准变量名称要求,我假设它们是标签。下面是放入数据步骤的示例代码,但您必须知道数组声明的实际变量名称,并用它们替换date1--date99
。
array mydates (*) date1--date99;
do over mydates;
if mydates = 1 then flag = vlabel(mydates);
end;
编写此循环的方式,它将保留最右侧出现1
的日期,这与您在19006行中的示例一致。
另见vname()
。