如何在SAS中将不均匀的数据行插入矩阵?

时间:2016-10-31 21:52:58

标签: sql sas format

我有一个带有贷款ID的原始数据集。然后,我有一个相应的数据集,其中包含每个贷款ID的绩效数据,这些贷款ID可以是绩效数据集中的10-40行。

每个绩效贷款的开始日期也不尽相同,尽管有些贷款重叠。我想要做的是获取性能数据集中的每个loan id组,然后在数据集中的所有实例中创建一个特定列值的行。如果它们在不同的日期开始并不重要,我只想对齐这些值,因为这是贷款ID x和y的第一个值。

例如:

  

ID Date Val

     

3 201601 100

     

3 201602 102

     

3 201603 103

     

- >结果:

     

ID Val1 Val2 Val3

     

3 100 102 103

我有两个问题。一个是每个id的性能数据的大小不同。我无法构造具有不同行长度的矩阵。我假设我需要将0添加到每行的末尾以满足预定义的宽度。

我的第二个问题是,我不确定如何读取性能数据集以分组贷款,提取值列,将列构造成该行的行,然后插入矩阵。我知道如何在Python中执行此操作,但我需要使用SAS。我可以在SAS中构建表,但我不确定如何追加行,只有列。

如果有人可以提供一些指导,这将是一个很大的帮助。

1 个答案:

答案 0 :(得分:0)

任何遇到类似问题的人最终都只有几行代码。

proc transpose  data =  new_data
            out =  new_data1;
            var trans_state;
            by id;
run;

输出

enter image description here