SAS和文本指针 - 不读取所有值

时间:2015-04-01 09:28:41

标签: sas

data test;
    infile datalines missover;
    input @ "r1" r1
          @ "r2" r2
          @ "r3" r3
          @ "r4" r4;
    datalines;
    r4 34 r2 21 r3    r1 12
    r4 12 r2 19 r3    r1 76
    ;
run;

为什么在test数据集中,我只获得r1的值,其余为.

我想要的输出是:

r1    r2    r3    r4
--------------------
12    21    .     34
76    19    .     12

1 个答案:

答案 0 :(得分:4)

SAS documentation中阅读示例后,我找到了解决方案:

data test;
    infile datalines missover;
    input @'r1' r1
          @1 @'r2' r2
          @1 @'r3' r3
          @1 @'r4' r4;
    datalines;
    r4 34 r2 21 r3    r1 12
    r4 12 r2 19 r3    r1 76
    ;
run;

需要使用@1返回到行的beginnig,因为如果没有此SAS继续从最后一个指针位置搜索给定的字符串。