我有以下数据集:
Id | com | typ | cust | bu | tar | item | item_sufx | part | line | dtn_cd |
---|---|---|---|---|---|---|---|---|---|---|
10 | ARF | 3 | 2585 | 12 | 100 | 4587 | 800 | 1 | 1 | 1 |
10 | ARF | 3 | 2585 | 12 | 100 | 4587 | 800 | 1 | 2 | 1 |
10 | ARF | 3 | 2585 | 12 | 100 | 4587 | 800 | 1 | 3 | 2 |
22 | XYZ | 3 | 2585 | 12 | 100 | 4587 | 800 | 1 | 1 | 1 |
22 | XYZ | 3 | 2585 | 12 | 100 | 4587 | 800 | 1 | 2 | 2 |
22 | XYZ | 3 | 2585 | 12 | 100 | 4587 | 800 | 1 | 3 | 2 |
10 | ARF | 3 | 2585 | 12 | 100 | 4587 | 800 | 2 | 1 | 1 |
10 | ARF | 3 | 2585 | 12 | 100 | 4587 | 800 | 2 | 2 | 2 |
10 | ARF | 3 | 2585 | 12 | 100 | 4587 | 800 | 3 | 1 | 3 |
10 | ARF | 3 | 2585 | 12 | 100 | 4587 | 800 | 3 | 2 | 4 |
50 | PFP | 3 | 3000 | 12 | 100 | 9999 | 899 | 1 | 1 | 1 |
50 | PFP | 3 | 3000 | 12 | 100 | 9999 | 899 | 1 | 2 | 2 |
50 | PFP | 3 | 3000 | 12 | 100 | 9999 | 899 | 1 | 1 | 3 |
50 | PFP | 3 | 3000 | 12 | 100 | 9999 | 899 | 1 | 2 | 4 |
我希望以下产出:
我尝试了以下法典,但做得不好。
data table_A_mod;
set table_A;
by Id com typ cust bu tar item item_sufx part dtn_cd;
line_decreased = line_nbr < lag(line_nbr);
if first.part
or line_decreased
then line_group+1;
if first.dtn_cd then drctn_seq=1; else drctn_seq+1;
run;
I get the following error
ERROR: BY variables are not properly sorted on data set WORK.Table_A.
I tried many combinations of "by" for the variables but nothing worked.
我在先前的这个问题上进一步阐述了这个问题,这里是 st流。 这就是为什么我的法典没有发挥作用。
任何想法如何做到这一点? 我对SAS或PROCQ(DB2)的建议持开放态度。