我有一行包含6列:id,c1,c2,c3,c4,c5
我想做什么:
对于每个id,进行序列检查:c1-c2,c2-c3,c3-c4,c4-c5,对于彼此不相等的任何一对,分配一个额外的标志来指示。
我正在尝试在ssis中使用脚本:
创建一个数组c [] = {c1,c2,c3,c4,c5}和一个数组标志[]
for(i=1,if<=4,i++)
for(j=i+1,j<=5,j++)
if c[i] != c[j]
Flag[i] = 1
这样,对于c1,c2,c3,c4将输出4个标志,用于1个id,更改粒度
我能这样做吗?SPSS可以像这样做
STRING标志(A1)
EXECUTE。
VECTOR c = c1 TO c5。
LOOP#i = 1到4。
LOOP #a =(#i + 1)TO 5。
DO IF c(#a)!= c(#i)
COMPUTE flag = 1。
BREAK。
END IF。
END LOOP。
END LOOP。
EXECUTE。
答案 0 :(得分:0)
我将使用CASE语句在SQL中生成四个标志列:
CASE c1 = c2 THEN 0 ELSE 1 END AS Flag1
CASE c2 = c3 THEN 0 ELSE 1 END AS Flag2
等等。