我有一个 SAS 数据集,已根据需要对其进行排序。我想将它分成 BY 组,并且对于每个组,输出每个观察值,直到特定列中第一次出现特定值。
ID 号 C1 年 2 C3 日期 (DD/MM/YYYY) -------------------------------------------------- -------- AB123 4 B4 2008E OC 09/04/2008 AB123 3 B4 2008E EL 09/04/2008 AB123 2 B4 2008E ZZ 09/04/2008 AB123 1 B4 2008E OC 09/04/2008 AB123 0 B4 2008E ZZ 09/04/2008 AB123 1 B4 2008E OC 06/02/2008 AB123 0 B4 2008E ZZ 06/02/2008
这是一个 BY 组:数据集按 ID、C1、Year2 分组,并按 ID、C1、Year2、Date(desc)、No(desc) 排序。ID、C1 和 Year2 的其他实例可能出现在数据集中的任何位置,但 3 个变量定义了每个 BY 组。
我想输出每个 BY 组的所有观察结果,直到并包括 C3 中第一次出现的 ZZ。所以上面我想要前 3 个观察结果输出(或标记),然后转到下一个 BY 组。
任何帮助将不胜感激。如果您需要有关问题的更多详细信息,请告诉我。谢谢。