将类似列分组(查找)到组中,并将SAS中每个组的值相加

时间:2015-11-05 15:56:24

标签: sas

我想对列进行分组,条件是将具有相似日期的(SN)行放入一个日期按升序排列的组中,并根据这些组总结table2的每个组值。

表1:

 SN A   B   C   D   E   F   G   H   I   J   K
    FA1 26-Sep-50   26-Nov-64   26-Nov-64   26-Nov-64   30-Oct-40   30-Oct-40   26-Nov-64   26-Nov-64   26-Nov-64   26-Nov-64   26-Nov-64
    FA2 27-Apr-24   2-Dec-27    31-Jul-29   6-Dec-24    7-Mar-33    13-Jul-21   31-Jul-29   31-Jul-29   31-Jul-29   31-Jul-29   31-Jul-29
    FA3 21-Mar-08   25-Dec-10   25-Dec-10   25-Dec-10   28-Sep-13   28-Sep-13   25-Dec-10   25-Dec-10   25-Dec-10   25-Dec-10   25-Dec-10
    FA4 4-Dec-27    27-Nov-14   27-Nov-14   27-Nov-14   31-May-21   31-May-21   27-Nov-14   27-Nov-14   27-Nov-14   27-Nov-14   27-Nov-14

表2:

A   B   C   D   E   F   G   H   I   J   K
5   2   3   4   4   3   2   1   1   2   8

OUTPUT表:

SN   Group1     Group2      Group3     Group4    Group5     G_Sum1  G_Sum2  G_Sum3  G_Sum4  G_Sum5
FA1 30-Oct-40   26-Sep-50   26-Nov-64                          7       5    23      
FA2 13-Jul-21   27-Apr-24   2-Dec-27  31-Jul-29 7-Mar-33       3       9    2         17    4
FA3 21-Mar-08   25-Dec-10   28-Sep-13                          5      23    7       
FA4 27-Nov-14   31-May-21   4-Dec-27                           23      7    5   

1 个答案:

答案 0 :(得分:0)

为两个表转置数据并合并它们。然后计算总和是微不足道的。您可以随时转置它。在目前的格式中,这将是一项令人难以置信的丑陋任务。

Proc Transpose将转置数据,因此您不需要知道列数。如果您尝试使用此表单中的数据,则必须预先确定您需要的最大组数,而在长形式中,可以动态计算。