美文网首页收藏
SAS编程-为纵向字符添加引号并转为横向

SAS编程-为纵向字符添加引号并转为横向

作者: 野藤_ | 来源:发表于2022-09-25 11:25 被阅读0次

    欢迎关注,SAS茶谈!

    在工作中,会遇到将一列文本添加引号,放入条件语句中,例如,EXCEL保存的PARAMCD值。

    if paramcd in ("A" "B" "C" "D" "E" "F" "G" "H");
    

    最直接的处理,就是一个值一个值的复制粘贴,简单但是繁琐。后来,我利用EXCEL进行处理,类似SAS编程:使用EXCEL批量处理构建Format过程步语句。不过,这个处理过程需要另开EXCEL软件,也需要3步骤(复制粘贴,公式处理,复制粘贴转置)。最近,在使用EXCEL进行处理后,我思考能否还能更便捷一点。

    想到了另一个办法,通过Data步处理纵向文字信息,转为横向加引号的信息。而Data步的程序可以保存在缩写中,直接通过关键词调用(参考:SAS编程-缩写以及键盘宏的应用 )。这样整个转化流程就大大缩短。

    Data步示例程序如下:

    data tmp1;
      length text0 $100 ;
      input text0 @@;
      datalines;
        Alfred
        Alice
        Barbara
        Carol
        Henry
        James
      ;
    run;
    
    data tmp2;
      set tmp1 end=eof;
    
      length text $2000;
      retain text " ";
      text = strip(text)||" "||quote(strip(text0));
    
      keep text;
      if eof then output;
    run;
    
    

    程序输出结果如下:

    然后,将这一段程序保存到缩写(Abbreviation)中:

    复制完纵向字符信息后,直接输入关键词quote_调出程序,复制粘贴纵向字符运行,直接从数据集中复制信息,这样就快速的完成了整个流程。

    总结

    本文介绍了利用SAS程序以及缩写调用,快速将纵向字符信息转换为带引号的横向信息,相比于手动复制粘贴以及EXCEL公式处理要快捷方便得多。

    感谢阅读, 欢迎关注:SAS茶谈!
    若有疑问,欢迎评论交流!

    相关文章

      网友评论

        本文标题:SAS编程-为纵向字符添加引号并转为横向

        本文链接:https://www.haomeiwen.com/subject/izczortx.html