【问题标题】:SAS Transpose and summarizeSAS 转置和汇总
【发布时间】:2016-06-19 20:53:22
【问题描述】:

我正在 SAS 中处理以下场景。

输入 1

AccountNumber   Loans
123             abc, def, ghi
456             jkl, mnopqr, stuv
789             w, xyz

输出 1

AccountNumbers  Loans
123             abc
123             def
123             ghi
456             jkl
456             mnopqr
456             stuv
789             w
789             xyz

输入 2

AccountNumbers  Loans
123             15-abc
123             15-def
123             15-ghi
456             99-jkl
456             99-mnopqr
456             99-stuv
789             77-w
789             77-xyz

输出 2

AccountNumber   Loans
123             15-abc, 15-def, 15-ghi
456             99-jkl, 99-mnopqr, 99-stuv
789             77-w, 77-xyz

我设法从输出 1 获得输入 2,现在只需要输出 2。

我将非常感谢您的帮助。

谢谢!

【问题讨论】:

  • 展示一些你尝试过的代码怎么样?
  • @sasfrog 我使用下面的代码从输入 1 获取输出 1 并使用我的查找值输入 2 现在想要获取原始状态的数据 DATA TEMP (KEEP = ACCOUNTNUMBER LOANS OUT) ; SET XYZ; CNT = COUNTW(LOANS,','); DO I = 1 TO CNT; OUT = STRIP(SCAN(LOANS,I,",")); OUTPUT; END; OUT = STRIP(OUT); RUN;
  • 您刚刚重新发布了您上一个问题的答案。你对这个问题做了什么尝试?另外,编辑您的问题,不要在 cmets 中发布代码,它难以辨认。

标签: sql sas transpose summary enterprise-guide


【解决方案1】:

试试这个,将 [Input 2] 替换为 Input 2 表的实际名称。

data output2 (drop=loans);
    do until (last.accountnumbers);
        set [Input 2];
        by accountnumbers;
        length loans_combined $100;
        loans_combined=catx(', ',loans_combined,loans);
    end;
run;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多