作者gogostay (Go)
看板Statistics
标题Re: [程式] sas合并不同时期的同笔资料
时间Wed Aug 6 21:17:53 2014
有点不懂你想表达的意思,暂且把重点放在这句话
"想要写出SAS的程式,创造出新名称,可以串联同一家公司曾经用过的名称,去了解
该公司在不同时期的其他资讯。"
下列语法的意思是A和B是同间公司但时间点不同,所以先定义一个新变数v3
其中A和B的值为K1,C值为K2,D值为K3。
之後用proc sql去抓你想要的公司,这边假设是K1,然後依照时间变数V2排序。
不知道这是不是你要的答案
data w1;
input v1 $ v2;
if v1='A' then v3='K1';
else if v1='B' then v3='K1';
else if v1='C' then v3='K2';
else v3='K3';
cards;
A 2012
B 2000
C 1999
A 2012
B 2000
C 1999
D 1988
;
run;
proc sql;
select v2,v3
from work.w1
where v3='K1'
order by v2 desc;
run;
※ 引述《ss502 (ss502)》之铭言:
: ------------------------------------------------------------------------
: [软体程式类别]:
: sas
: [程式问题]:
: 资料处理
: [软体熟悉度]:
: 新手(不到1个月)
: [问题叙述]:
: 不好意思,在前一篇发文中,没有把资料表达好。
: 资料库较像这样的情形。
: 新名称 旧名称 营业开始日期 year
: A01 20001012 2000
: A01 20001012 2001
: A01 20001012 2002
: A01 20001012 2003
: A01 20001012 2004
: A01 20001012 2005
: A03 20030705 2003
: A03 20030705 2004
: A03 20030705 2005
: A07 A01 20020603 2002
: A07 A01 20020603 2003
: A07 A01 20020603 2004
: A07 A01 20020603 2005
: A11 19991212 1999
: A11 19991212 2000
: A11 19991212 2001
: A11 19991212 2002
: A11 19991212 2003
: A11 19991212 2004
: A11 19991212 2005
: A13 G17 20020908 2002
: A13 G17 20020908 2003
: A13 G17 20020908 2004
: A13 G17 20020908 2005
: B36 20010708 2001
: B36 20010708 2002
: B36 20010708 2003
: B36 20010708 2004
: B36 20010708 2005
: E06 A07 20031015 2003
: E06 A07 20031015 2004
: E06 A07 20031015 2005
: E07 A11 20041215 2004
: E07 A11 20041215 2005
: G17 B36 20020317 2002
: G17 B36 20020317 2003
: G17 B36 20020317 2004
: G17 B36 20020317 2005
: A01(20001012)变成A07(20020603)再变到E06(20031015),这是同一间公司。也就是说
: 这家公司在20001012-20020602这段期间叫做A01,而在20020603-20031015这段期间叫做
: A07,在20031015-到现在(取到20051231为止)叫做E06。
: A03(20030705),这间公司从头到尾没有变过名称。
: A11(19991212)变成E07(20041215),这是同一间公司。意思是说这家公司在
: 19991212-20041215这段期间叫做A11,20041215-到现在(取到20051231为止)叫做E07。
: B36(20010708)变成G17(20020317)变成A13(20020908),这是同一间公司。
: 20010708-20020317这段期间叫做B36,而在20020317-20020908这段期间叫做G17,
: 在20020908-到现在(取到20051231为止)叫做A13。跟上面不同的是他在同一年里有
: 两个名称。
: 只要开始有一个名称出现,每年都会出现。例如A01这间公司在20001012成立,之後每年都
: 会出现在资料库当中,也就是说这个资料库的资料是累积的。
: 这个资料库观察数大概有五十几万,而且名称相当复杂没有一定的规律。
: 想要写出SAS的程式,创造出新名称,可以串联同一家公司曾经用过的名称,去了解
: 该公司在不同时期的其他资讯。
: 希望板上大大帮忙,谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.136.134.90
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Statistics/M.1407331076.A.497.html