我需要创建一个变量来指示学生与之相关的小学。我每个学生在一年内有5个学校变量。第一个学校变量总是填充学生的5位数学校代码;如果学生一年就读5所学校,则填充所有5个变量;如果他们只参加1所学校,则只填充第一个变量。我也有相应的变量与学生在每所学校的天数,最多180.我需要一个变量与学校的5位数学校代码,他们在学年的大部分时间。如果他们只上了一所学校,就应该是他们所关联的学校,无论他们参加了多少天。我可以使用DO IF命令和循环来创建此变量吗?下面的语法仅针对第一所学校,这是效率低下的,并不完全存在,因为它不能捕获低于90天阈值的学生(即,仅在不到90天的时间内就读于1所学校)。
更新8/2:我确实需要抓住一年半(90天)不在场的学生。可能有一个学生参加了5所学校,每个学校都有几天,最多可能是89岁。因此,无论学生上学多少天,我都希望将他与他参加学校的学校联系起来。最。关于学生是否在相同的天数上学两所学校,取第一名是足够的。谢谢你的回复。
DO IF (TotalMembership_1011_sum.1 >= 90).
RECODE SchCode_1011.1 (21 thru 93=Copy) INTO PrimarySchool_1011.
END IF.
VARIABLE LABELS PrimarySchool_1011 'primary school 2010-11 (90+ days membership)'.
EXECUTE.
答案 0 :(得分:0)
试试这个:
compute PrimarySchool_1011=0.
compute MaxEnroll=max(Membership_1011_1 to Membership_1011_5).
do repeat days=Membership_1011_1 to Membership_1011_5/code=SchCode_1011_1 to SchCode_1011_5.
if PrimarySchool_1011=0 and days>=90 and days=MaxEnroll PrimarySchool_1011=code.
end repeat.
execute.
VARIABLE LABELS PrimarySchool_1011 'primary school 2010-11 (90+ days membership)'.
一些注意事项:
PrimarySchool_1011
获取值0)。如果你需要什么
不同请解释。if days>=90 and days=MaxEnroll PrimarySchool_1011=code.
SchCode_1011_1 TO SchCode_1011_5
中)只有在连续这些变量时才有效
在文件中订购。如果他们不是,请说出他们的所有名字
代替。