作者MOONY135 (谈无慾)
看板Statistics
标题Re: [问题] SAS marco如何表示?
时间Fri May 15 11:20:22 2015
※ 引述《sheiswe (no matter)》之铭言:
: 因为我才接触SAS不到一个月~
: 咖啡大说的转置
: 是把横向的公司转成另外一栏变数吗?
: 这样把每间公司的权重直接算出来
: 也不需要macro是吗?
: 那需要用到回圈吗?
: 谢谢你的回覆
: ※ 引述《tew (咖啡王子)》之铭言:
: : 如果资料是这样
: : 公司 交易公司 交易金额
: : 111A 111A 12,000
: : 111A 222B 空
: : 111A 333C 100
: : 於下类推 就好算多了
: : 我的话会先转置
: : 接着 采用SQL或者其他方式 就可以快速算完
: : 也不需要写macro
公司 A B C D
A 12000 100 100
B 5000 101 121 905
C 12 15 80
D 2006 1201 75
资料长这样
CODE长这样
PROC SQL;
CREATE TABLE STEP1 AS
SELECT t1.'公司'n,
t1.A,
t1.B,
t1.C,
t1.D
FROM WORK.TEST t1
WHERE t1.'公司'n = 'A';
QUIT;
PROC TRANSPOSE DATA=WORK.Step1
OUT=WORK.step2
PREFIX='交易金额'n
NAME=Source
LABEL='标签'n
;
VAR A-D;
COPY "公司"n;
RUN; QUIT;
结果是这样
公司 Source 交易金额1
A A 12000
B
C 100
D 100
遗漏值补0再去加总就好了...
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.35.215.137
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Statistics/M.1431660024.A.2E8.html
※ 编辑: MOONY135 (114.35.215.137), 05/15/2015 11:27:54