【问题标题】:Assigning index to two concatenated tables in SAS?为SAS中的两个连接表分配索引?
【发布时间】:2016-11-01 21:00:33
【问题描述】:

我有两张表,每张表的列标题完全相同,各一行。我有连接它们的代码,效果很好。

data concatenation;
    set CURR_CURR CURR_30;
run;

但是,输出中没有索引来说明哪一行对应于哪个表。

我已经尝试过使用“创建索引”和“创建索引”,但它们在语法上不起作用。只是我只想添加一列字符串并将其移动到数据集中所有其他列的前面。

【问题讨论】:

    标签: sas


    【解决方案1】:

    SET 语句上的INDSNAME 选项+ 用于存储信息的变量。 如果您在 SET 语句之前设置长度语句,它将创建它作为第一列。

    请注意,这与“索引”不同。 SAS 中的索引具有不同的含义,这不是您要在此处创建的。

       data concatenation;
        length dset source $50.;
        set CURR_CURR CURR_30 indsname=source;
        dset=source;
       run;
    

    【讨论】:

      【解决方案2】:

      Reeza 的答案与我认为也有效的方法非常相似。这是我的替代版本。

      data concatenation;
      length id $ 10;
      
      set CURR_CURR (in=a) CURR_30 (in=b);
      
      if a then id = 'curr_curr';
      else if b then id = 'curr_30';  
      run;
      

      【讨论】:

      • 这是在 INDSNAME 选项可用之前使用的方法 :)
      猜你喜欢
      • 2019-04-03
      • 2016-05-26
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 2013-12-23
      • 2013-02-19
      • 1970-01-01
      相关资源
      最近更新 更多