SAS仅插入到ARRAY(示例)数据集中的第一行

时间:2019-03-22 14:49:55

标签: arrays sas

我有点问题。我只需要插入到数组(示例)第一个数组,最好按字段插入。 我该怎么做?如果您也指出如何逐列插入(我将来将能够加载选定的列),将不胜感激。

data have;
infile DATALINES dsd missover;
input varr1 varr2 varr3;
CARDS;
1, 2, 3
2, 3, 4 
5, 4
4, 3
9, 4, 1
6,
;run;

data want;
   set have;
    array L[3] _temporary_ ;

if _n_ = 1 then 
    do;
        do i = 1 to 3;
            %LET j = i;
            L[i] = varr&i;  /*in this place I have problem*/
            put L[i];
        end;
    end;
run;

1 个答案:

答案 0 :(得分:1)

您不需要宏,也不确定为什么需要临时数组SELECT REGEXP_SUBSTR ('test1' || CHR(9) || 'test2' || CHR(9) || 'test3', '[^' || CHR(9) || ']+', 1, 1) field1, REGEXP_SUBSTR ('test1' || CHR(9) || 'test2' || CHR(9) || 'test3', '[^' || CHR(9) || ']+', 1, 2) field2, REGEXP_SUBSTR ('test1' || CHR(9) || 'test2' || CHR(9) || 'test3', '[^' || CHR(9) || ']+', 1, 3) field3 FROM DUAL

array语句可用于组织变量,以便可以以数组方式对其进行访问。循环遍历变量数组以将值复制到临时数组中。

临时数组的元素不可用于输出,并且不可是正常的隐式程序数据矢量(PDV)行为的一部分,该行为会将变量重置为丢失。

L