【发布时间】:2020-08-04 21:01:04
【问题描述】:
我需要将组的最后一行与其上方的行进行比较,查看是否有几列发生更改,如果发生更改,则用 1 填充新列。下面的数据演示会更好地解释。
还需要考虑到只有 1 行的组。
我们有什么:
Group Name Sport DogName Eligibility
1 Tom BBALL Toto Yes
1 Tom BBall Toto Yes
1 Tom golf spot Yes
2 Nancy vllyball Jimmy yes
2 Nancy vllyball rover no
我们想要什么:
Group Name Sport DogName Eligibility N_change S_change D_Change E_change
1 Tom BBALL Toto Yes 0 0 0 0
1 Tom BBall Toto Yes 0 0 0 0
1 Tom golf spot Yes 0 1 1 0
2 Nancy vllyball Jimmy yes 0 0 0 0
2 Nancy vllyball rover no 0 0 1 1
只关心组内逐行的变化。提前感谢您的帮助。
这些行已经排序,所以我们只需要最后两个。如果比较一组中的连续行更容易,那么这对我的目的同样有效。
我确实知道这将是数组,但我在处理这些问题时遇到了困难,因为从不将它们用于我的典型 sas 建模。想让事情变得简短而甜蜜。
【问题讨论】:
-
要获得“上面的行”,您需要指定行顺序。是哪一个?
-
哎呀,行已经排序了
标签: sql sas window-functions proc-sql