由买买提看人间百态

topics

全部话题 - 话题: date9
1 2 下页 末页 (共2页)
x***I
发帖数: 91
1
来自主题: Statistics版 - 请教一个proc sql的问题
最近在看sas programing in pharmaceutical industry.
看到作者用proc sql合并datasets,可是不知道为什么,最后一个记录出不全。
自己运行一下他的程序也是一样的,我用的是SAS9.2.
这个有什么办法解决么。
Program 4.8 Performing a Many-to-Many Join with PROC SQL
**** ADVERSE EVENTS;
data aes;
informat ae_start date9. ae_stop date9.;
input @1 subject_id $3.
@5 ae_start date9.
@15 ae_stop date9.
@25 adverse_event $15.;
datalines;
101 01JAN2004 02JAN2004 Headache
101 15JAN2004 03FEB2004 Back Pain
102 03NOV2003 10DEC2003 Rash
102 03JAN2004 10JAN2004 A... 阅读全帖
s********1
发帖数: 54
2
Compare data inf123 and data inf, who can explain to me why outputs from
these two codes are not the same? Data inf is the right one. In terms of the
difference, they are represented as follows:
In data inf123
length readd $10.;/*先把長度都開好*/
input group id_n name $ job $12. st_time $10.;
In data inf
length job $12 readd $10 st_time $10;/*先把長度都開好*/
input group id_n name $ job $ st_time $;
______________________________________________
data inf123 ;
length readd $10.;/*先把長度都開好*/
... 阅读全帖
l**********8
发帖数: 305
3
来自主题: Statistics版 - SAS macro Debug

************************************************************
上个完整的LOG, 谢谢大家了
****************************************************************
NOTE: PROCEDURE PRINTTO used (Total process time):
real time 0.00 seconds
cpu time 0.01 seconds

25
26 *-----------------------------------------------------;
27 %macro process(year,yr,file,first,numobs);
28
29 data cartemp;
30 set loc.carl&year.
31 (firsto... 阅读全帖
s******y
发帖数: 352
4
%let somedt1=21APR2011;
%let somedt2=01Jun2011;
%put current session date: &sysdate;
%put &somedt1. > &sysdate.? %eval(%sysfunc(inputN(&somedt1,date9))>%sysfunc
(inputN(&sysdate.,date9)));
%put &somedt2. > &sysdate.? %eval(%sysfunc(inputN(&somedt2,date9))>%sysfunc
(inputN(&sysdate.,date9)));
BAOZI please!!
h********o
发帖数: 103
5
来自主题: Statistics版 - Help on SAS: how to reconstruct records
Try this:
==============================
DATA ONE;
INPUT ID STARTDATE : DATE9. ENDDATE : DATE9. VALUE;
FORMAT STARTDATE ENDDATE DATE9.;
CARDS;
1 01JAN2011 07JAN2011 1000
1 08JAN2011 13JAN2011 500
1 14JAN2011 18JAn2011 1000
2 28DEC2010 02JAN2011 1000
2 02JAN2011 15JAN2011 500
;
DATA TWO (KEEP = ID DATE VALUE);
SET ONE;
FORMAT DATE DATE9.;
DO DATE = STARTDATE TO ENDDATE;
OUTPUT;
END;
RUN;
PROC PRINT DATA = TWO NOOBS;
VAR ID DATE VALUE;
RUN;
G********L
发帖数: 12
6
来自主题: Statistics版 - SAS macro Debug
82 data bworkhos.carclaimlist&year.;
83 set all_files;
84 run;
85
86 *date_new = input(expnsdt1, date9.);
87 input expnsdt1 date9.;
88 put expnsdt1;
89 run;
其他的不知道,这几行肯定有问题。data step在84行的run之后就结束了。我猜你需要
把87-89行也像86行一样comment out才行。需要用date9 format的话,在83行后面加上
format expnsdt1 date9.;就可以了。
s******r
发帖数: 1524
7
data ttt;
format datee date9. date_week date9. date_week22 date9.;
do i =1 to 33;
datee='01Aug2013'd + i;
date_week=datee-weekday(datee)+1;
date_week22=int((datee-2) /7)*7+2;
output;
end;
drop i;
run;
I**A
发帖数: 96
8
来自主题: Statistics版 - 求教SAS问题
如果把date的格式写成date10就可以,date9 or date11 都不行。
input Date date10. Open High Low Close Volume AdjClose;
但是原始数据05Mar2009用date9应该可以。长工可否解释一下。
b******e
发帖数: 539
9
来自主题: Statistics版 - SAS时间处理求教
suppose date1 = '19600210', use:
date2 = input(date1, yymmdd8.);
to convert '19600210' to a SAS date.
you can format date2 to any date format you want. for example, you can use
date9:
format date2 date9.;
then date2 will be shown as 10feb1960
R*********i
发帖数: 7643
10
来自主题: Statistics版 - sas help
Why it has to be sql? :-)
Assuming the variable rxdate is a numeric SAS date variable:
proc sql;
select coalesce(a.oldid1,b.oldid2) as id,
min(a.rxdate) as adate format=date9.,
min(b.rxdate) as sdate format=date9.,
(calculated adate>.) as ATORVASTATIN,
(calculated sdate>.) as SIMVASTATIN,
(. from test(rename=(id=oldid1) where=(drugdesc='ATORVASTATIN')) a full
join
test(rename=(id=oldi... 阅读全帖
h********o
发帖数: 103
11
来自主题: Statistics版 - 急 SAS问题
How does it not work for you???
data one;
input date : date9.;
format date date9.;
cards;
01FEB2009
02FEB2009
03FEB2009
04FEB2009
05FEB2009
;
data two;
set one;
if date > "02FEB2009"d then date = "01JAN2010"d;
run;
proc print data = two;
run;
The SAS System
Obs date
1 01FEB2009
2 02FEB2009
3 01JAN2010
... 阅读全帖
f*******i
发帖数: 8492
12
来自主题: Statistics版 - 包子请教,时间格式问题
我现在已有一个sas格式现成的data sheet
其中date1的格式是这样的 21MAY2001:00:00:00
但这组数据是character, 而不是date value
所以我需要把这组数据转换成sas的date value,并且减去 "01JAN2001"得到差值
我的code如下:
data homework10;
set class.homework10;
date2=input(date1,date9.);
format date2 date9.;
range=date2-'01JAN2001'dt;
run;
proc print data=homework10;
var date1 date2 range;
run;
现在我的问题,经过打印,我得到的date2确实只是date1里面的日期部分
1. 我所有的date2数值理论上都是大于01JAN2001这个值的,但是得出的range都是负值
,这事怎
么回事? 比如“-1277926548”。
2. 如何把range这个数据以“天数”的形式表示?
谢谢
s******y
发帖数: 352
13
what about this?
%sysfunc(inputN(&somedt2,date9))>%sysfunc(inputN(&sysdate.,date9))
t*****2
发帖数: 94
14
来自主题: Statistics版 - ##问一个SAS de 问题##
如下:
DATA date;
INPUT calendar gender $;
CARDS;
14567 M
14524 F
14570 M
15516 M
RUN;
------
DATA NEW;
SET date;
format calendar date9.;
PUT 'YEAR: ' year(15516) ;
RUN;
在LOG里一直说SYNTAX错了。但是改成这样:
DATA NEW;
SET date;
format calendar date9.;
Y=year(15516)
PUT 'YEAR: ' y ;
RUN;
就没有问题了。这到底是什么情况?为什么YEAR不能放在PUT statement里呢?
谁能为我解忧呢? O.0?
谢谢
l****u
发帖数: 529
15
来自主题: Statistics版 - 一个SAS的时间区域求值问题
try this one, maybe it works
data new;
input @1 startdate date9. @11 stopdate date9.;
cards;
29Mar2007 02Apr2007
15Apr2007 20Apr2007
15Mar2007 18Mar2007
30Mar2007 31Mar2007
18Apr2007 21Apr2007
25Mar2007 30Mar2007
;
run;
proc sql;
select startdate into:var1 separated by' ' from new;
select stopdate into:var2 separated by' 'from new;
select count(*) into: num from new;
quit;
%let total=%eval(&num.*&num);
data new1;
array start [ &num.] (&var1.);
array stop [ &num.] (&var2.);
array ... 阅读全帖
o*******w
发帖数: 2310
16
来自主题: Statistics版 - WHICH ONE IS CORRECT?
A raw data file is listed below.
----|----10---|----20---|----30
son Frank 01/31/89
daughter June 12-25-87
brother Samuel 01/17/51
The following program is submitted using this file as input.
data work.family;
infile file-specification;

run;
Which INPUT statement correctly reads the values for the variable BIRTHDATE
as SAS date values?
A. input relation $ first_name $ birthdate date9.;
B. input relation $ first_name $ birthdate mmddyy8.;
C. input relation $ first_na... 阅读全帖
z*******4
发帖数: 8
17
来自主题: Statistics版 - 怎么把sas date变成monyyyy形式?
data date;
input x : mmddyy10.;
datalines;
01/01/2012
;
data date;
set date;
y=substr(put(x, date9.),3);
run;
proc print data=date;
format x date9.;
run;
k*******a
发帖数: 772
18
来自主题: Statistics版 - 很挑战的data transformation problem help
data a;
input date date9. akanr akber ;
format date date9.;
datalines;
31mar1999 1 2
30jun1999 2 3
30sep1999 4 5
31dec1999 1 2
;
run;
proc transpose data=a out=b;
by date;
var akanr akber;
run;
最后的结果排排序,该改名就可以了。
l****u
发帖数: 529
19
data yourdata;
set yourdata;
week=substr(put(date-weekday(date)+1,date9.),1,5)||'to'||
substr(put(date+7-weekday(date),date9.),1,5);
run;
l****u
发帖数: 529
20
来自主题: Statistics版 - 大家练练手吧,挺有意思的一道题
share my code:
data step + proc sql:
proc sort data=one; by id startdate; run;
data one; set one;
by id;
t+((startdate-lag(enddate))>30)-t*first.id;
run;
Proc sql;
create table two as
select distinct id, min(startdate) format=date9.,
max(enddate) format=date9.
from one;
group by id, t;
quit;
l****u
发帖数: 529
21
来自主题: Statistics版 - 大家练练手吧,挺有意思的一道题
Pure proc sql:
proc sql;
create table b as
select b.id,b.startdate as strtdt
from one a, one b
where a.id=b.id and a.startdate-b.enddate>30 and
monotonic(a.id)=monotonic(b.id)+1;
quit;
proc sql;
create table c as
select one.id, one.startdate, sum(one.startdate>strtdt) as cont
from one left join b
on one.id=b.id and one.startdate>b.strtdt
group by one.id, strtdt;
quit;
proc sql;
create table d as
select distinct a.id, min(a.startdate) format=date9.,
... 阅读全帖
x******7
发帖数: 122
22
来自主题: Statistics版 - SAS BASE 六一儿童节
几个小时前考了BASE, 内容几乎可以认为全部来自题库50+70+123,62题中大概20题
可以认为是变体
错了3题,大概知道错了下面两题/三题 顺便回忆了其它的一些题
1.
data temp;
infile xxx;
date="01feb1980"d

how to generate ship_note in the form “Feb 01, 1980”
A.ship_note=put(date,date9.)
B.ship_note=put(date,date9.,worddate20.)
C.ship_note=put(date,worddate20.)
D.ship_note=input(.....)
我选了错误答案B,
2.
x y
5 1
4 6
5 4
data one two other;
if x ge 5 then output one;
else if y le 5 then output two;
else output other;
How many obs in dataset one, two and other?
毫不犹豫选... 阅读全帖
l**********8
发帖数: 305
23
来自主题: Statistics版 - SAS macro Debug
就是debug不出来,大神们救我啊
******************* 完整的 CODE ***************
%let dataloc = /disk/agedisk1/medicare/data/20pct/car;
libname bworkhos "/disk/agebulk5/medicare.work/lbaker-DUA23466/ausmita/temp"
;
*libname temp "/disk/agebulk5/medicare.work/lbaker-DUA23466/lbaker/data/xw";
ods listing file = "/disk/agebulk5/medicare.work/lbaker-DUA23466/ausmita/
temp/carrier_12222015.lst";
proc printto
log="/disk/agebulk5/medicare.work/lbaker-DUA23466/ausmita/temp/carrier_
12222015.log";
run;
*--------------... 阅读全帖
l**********8
发帖数: 305
24
来自主题: Statistics版 - SAS macro Debug
就是debug不出来,大神们救我啊
******************* 完整的 CODE ***************
%let dataloc = /disk/agedisk1/medicare/data/20pct/car;
libname bworkhos "/disk/agebulk5/medicare.work/lbaker-DUA23466/ausmita/temp"
;
*libname temp "/disk/agebulk5/medicare.work/lbaker-DUA23466/lbaker/data/xw";
ods listing file = "/disk/agebulk5/medicare.work/lbaker-DUA23466/ausmita/
temp/carrier_12222015.lst";
proc printto
log="/disk/agebulk5/medicare.work/lbaker-DUA23466/ausmita/temp/carrier_
12222015.log";
run;
*--------------... 阅读全帖
s****d
发帖数: 244
25
来自主题: Faculty版 - SAS求助!
各位大神,我用下面的代码合并两个数据库,但是合并后的数据库中prices都为
missing value。请教是怎么回事啊?谢谢!
data bm;
set bm;
rename standard_and_poor_s_identifier=gvkey
historical_CRSP_permno_link_to_C=permno
data_date=date
company_name=cname
common_shares_used_to_calculate=cshr
var7=eps
Market_Value___Total=market;
format date ddmmyy10.;
cyear=year(date);
quarter=qtr(date);
run;
data mylib.prices;
set mylib.prices;
format date date9.;
cyear=year(date);
quarter=qtr(date);
run;
proc sql;
cr... 阅读全帖
U***3
发帖数: 2082
26
来自主题: Immigration版 - NSC 绿了,10月2日
485 10月2号收到,12月14日收到RFE,要求重寄结婚证和出生证明公证及翻译。1月17
日之后寄出RFE,1月23日后得到decision通知。全家同时绿。NSC真不容易。
从7 月16日寄出140, 到7月21日拿到RFE通知,然后RFE140 寄出在9月14日,得到
approve date9月17日。10月2日寄出485,到今天终于拿到approve 通知。半年了,也
真不容易啊。
k****6
发帖数: 587
27
来自主题: Immigration版 - NSC 报绿
恭喜恭喜

漫长的等待,终于绿了,没有想象的狂喜,只是无奈的一笑附上timeline8/27/2013,
received date9/16/2013 , received Fingerp........
c*****s
发帖数: 180
28
来自主题: WaterWorld版 - PURE WATER DO NOT NETER PLEASE
SAS OnlineTutor®: Advanced SAS®
Combining Data Vertically 6 of 28
backnextlesson menuLearning Pathhelp menu

Using an INFILE Statement (continued)
Assigning the Names of the Files to Be Read
The next step is to assign the names of the three files to be read to the
variable nextfile:
data work.quarter;
infile temp filevar=nextfile;
input Flight $ Origin $ Dest $
Date : date9. RevCargo : comma15.2;
In this case, let's use th
i*******t
发帖数: 145
29
西部凌晨12点差5分钟,verizon开始偷跑,顺利订到6+ 64 gold,delivery date9/19
★ 发自iPhone App: ChineseWeb 8.7
p***h
发帖数: 1462
30
来自主题: Database版 - Help! A SAS/Macro question. Thanks!
Please simplify the following program by macro statement. Thanks.
%let gennum12=378;
%let gendte12="06jul2001"d;
*******
*******;
data _null_;
x=mdy(month(&gendte12-28),01,year(&gendte12-28));
y=x+
mod(((6-weekday(x))>=0)*(6-weekday(x))+((6-weekday(x))<0)*(7+6-weekday(x)),7);
call symput('gennum11',put(&gennum12-(&gendte12-y)/7,z3.));
call symput('gendte11','"'!!put(y,date9.)!!'"d');
run;
da
n*****s
发帖数: 10232
31
来自主题: Statistics版 - 靠,这个哪错了?
%let date=31oct2007;
%put &date;
data _null_;
do i=0 to 6;
call symput('mon_'||left(put(i,8.)),put(intnx('month',"&date"d,i,'end'),
date9.));
end;
run;
%put &mon_0 &mon_6;
%macro mm;
%do i=0 %to 6;
data _null_;
call symput("mm_&i",substr(put("&&mon_&i"d,ddmmyy6.),3,4));
run;
%end;
%mend mm;
%mm;
%put &mm_0 &mm_6;
后面那个macro总解不出来... 部分log:
MLOGIC(MM): %DO loop index variable I is now 6; loop will iterate again.
MPRINT(MM): data _null_;
SYMBOLGEN: Macro variable I resol
t*****n
发帖数: 167
32
来自主题: Statistics版 - SAS 问题请教
1.A raw data file is listed below.
1---+----10---+----20---+---
son Frank 01/31/89
daughter June 12-25-87
brother Samuel 01/17/51
The following program is submitted using this file as input:
data work.family;
infile 'file-specification';

run;
Which INPUT statement correctly reads the values for the variable Birthdate
as SAS
date values?
a. input relation $ first_name $ birthdate date9.;
b. input relation $ first_name $ birthdate mmddyy8.;
c. input relation $ first_n
c******j
发帖数: 270
33
来自主题: Statistics版 - SAS proc format的问题
写了这么一段code
LIBNAME Mylib 'C:\Documents and Settings\cloverzj\My Documents\SAS';
proc format lib=mylib;
value $itemfmt
'C'='Cassette'
'R'='Radio'
'T'='Television';
run;
data sasuser.orders;
infile aug99dat;
input ID 3. @5 Date date7.
Item $13 Quantity 15-17
Price 19-24 TotalCost 26-32;
format date date9. totalcost dollar9.2;
format Item $itemfmt.;
run;
proc print data=sasuser.orders;
run;
可是运行的时候总是说The format $ITEMFMT was not found or cou
H***y
发帖数: 340
34
来自主题: Statistics版 - 请教一个sas的基本问题
为什么不能用first.和last.呢?
log
NOTE: 变量 first.ticker 未初始化。
NOTE: 变量 last.ticker 未初始化。
NOTE: 从数据集 STARTUP.REGTEST 读取了 26 个观测。
NOTE: 数据集 STARTUP.REGBEGIN 有 0 个观测和 6 个变量。
NOTE: 数据集 STARTUP.REGEND 有 0 个观测和 6 个变量。
code
data startup.regbegin startup.regend;
set startup.regtest;
if first.ticker
then do;
begindate=date;
format begindate date9.;
output startup.regbegin;
end;
if last.ticker
then do;
p********a
发帖数: 5352
35
来自主题: Statistics版 - 求教SAS问题
YAHOO的股市DATA?你把DATE FORMAT改成DATE9.就可以了
看看俺的MACRO
%macro getdata(tic);
FILENAME myurl URL "http://ichart.finance.yahoo.com/table.csv?s=&tic";
DATA &tic;
INFILE myurl FIRSTOBS=2 missover dsd;
format date yymmdd10.;
INPUT Date: yymmdd10. Open High Low Close Volume Adj_Close ;
if date>=today()-180;
RUN;
p********a
发帖数: 5352
36
来自主题: Statistics版 - 求教SAS问题
if length>8 then colon is necessary. Date9. reads 9 characters.
G**S
发帖数: 1108
37
来自主题: Statistics版 - 如何在sas里读入849.342的日期?
z=(x-1960)*365.25;

format z date9.;
c****g
发帖数: 156
38
DATA _NULL_;
call symput ('today', compbl(put(today(), date9.)));
run;
proc export data = files
outfile = "c:\filename&today." dbms = xls replace ;
run;
h******e
发帖数: 1791
39
来自主题: Statistics版 - help: sas error message
thanks, another question: what is the role of "< >" in the following code:
....................
%let a = < %str(%sysfunc(date(),date9.) : %sysfunc(time(),time5.)) >;
....................
b******e
发帖数: 23
40
来自主题: Statistics版 - 请教一个sas的sort date变量问题
是用informat DATE9. 对么?
p*****d
发帖数: 44
41
来自主题: Statistics版 - Quick Question
我新手一个。。。
试试, date9., 能读出来
j**********e
发帖数: 442
42
来自主题: Statistics版 - Quick Question
不好意思,不行啊。
原始数据的一部分:
date
4-Dec-08
18-Dec-04
13-Sep-07
15-Sep-07
8-May-07
程序:
data date;
infile 'C:\research\date.csv' firstobs=2 dsd missover;
input date date9.;
format date yymmdd10.;
run;
读出来的:
.
2004-12-18
2007-09-13
2007-09-15
.
就是说第一和第五个observation读不出来。
还有,如何输出20041218类型的日期变量?
多谢指教!
p*****d
发帖数: 44
43
来自主题: Statistics版 - 已解决
在准备SAS BASE,有一道关于INPUT的问题不是很清楚
data work.month;
date=input('13mar2000', date9.);
run;
答案说DATE这个variable的长度为8,这是为什么呢?
谢谢!!
h**h
发帖数: 488
44
来自主题: Statistics版 - SAS时间处理求教
It works. Thanks.
date9. format can now be used to calculate the age. Interesting to see input
function can transform the date1 to the SAS time variables. I wonder I can
use it for other purpose.

use
a*****3
发帖数: 601
45
data test2 ;
input @1 q1 date9. ;
format q1 yymmdd10. ;
datalines;
12NOV1993
;
run;
还有个问题,没看完你就删了?
n*****s
发帖数: 10232
46
来自主题: Statistics版 - sas string date 转换
put(17519,date9.);
y*****t
发帖数: 1367
47
来自主题: Statistics版 - sas string date 转换
如果那个数字的变量是numeric的,那在data step里加一行
format xyz date9.;
就行了~
s******y
发帖数: 352
48
来自主题: Statistics版 - help with my SAS macro
why you need an extra step for creating a M var.
%let Date =%qsysfunc(inputN(01JAN2006,date9), yymmddn8);
%put >&date<;
%let Date =%qsysfunc(putN('01JAN2006'd, yymmddn8));
%put >&date<;
BAOZI please!

out
s******y
发帖数: 352
49
data have;
input ID :$8. Visit Date :date9.
Unconfirmed_response :$8.;
cards;
1001 1 12JAN2009 SD
1001 2 13MAR2009 uPR
1001 3 28MAR2009 uPR
1001 4 02MAY2009 uPR
1001 5 31MAY2009 SD
1001 6 02AUG2009 uPR
1001 7 18AUG2009 uPR
1001 8 12SEP2009 SD
;
run;
data have;
set have;
by ID Unconfirmed_response notsorted;
gp+1*first.Unconfirmed_response-gp*first.ID;
run;
proc sql;
create table want as
select *,... 阅读全帖
S********a
发帖数: 359
50
来自主题: Statistics版 - 【包子】date 变量 赋值问题
有100个数据,有个变量名叫:date, 数据是06/17/2008这种形式的
我想把数据分成三个dataset,07/20/2008前,07/20/2008~09/17/2008, 09/17/2008
以后
data b c d;
set a;
format date DATE9.;
date1 = '20JULY2008'd;
date2 = '17SEPT2008'd;
if date < date1 then output b;
if data > date2 then output d;
else output c;
run;
出了error msg : Invalid date/time/datetime constant '20JULY2008'd.
Invalid date/time/datetime constant '17SEPT2008'd.
麻烦帮我看看,我自己觉得没错啊,但是就是不行。
包子答谢!
1 2 下页 末页 (共2页)