|
Toby,
For understandability .. yes! But it will still fail with an underscore
included as part of the interval name.
Art
On Mon, 7 May 2012 12:48:22 +0000, toby dunn <tobydunn@HOTMAIL.COM> wrote:
>Art,
>
>Shouldn't:
>
>options intervalds=( m_events=md_events_ds);
>
>Be this instead
>
>options intervalds=( md_events=md_events_ds);
>
>
>
>
>Toby Dunn
>
>
>If you get thrown from a horse, you have to get up and get back on, unless
you landed on a cactus; then you have to roll around and scream in pain.
>
>�Any idiot can face a crisis�it�s day to day living that wears you out�
>~ Anton Chekhov
>
>
>
>> Date: Mon, 7 May 2012 08:32:28 -0400
>> From: art297@ROGERS.COM
>> Subject: Possible intervalds option bug
>> To: SAS-L@LISTSERV.UGA.EDU
>>
>> Explanation: Either I've missed something regarding the intervalds system
>> option, or there is a bug that should be corrected. My SAS license
>> explicitly doesn't include tech support thus, if this is an error, I
would
>> appreciate it if someone would submit the problem.
>>
>> I was running some fairly simple code to identify whether individuals'
>> birthdays (not considering year) matched the "birthdays" of various
events.
>>
>> The two datasets were:
>>
>>
>> data md_events_ds;
>> informat date yymmdd8.;
>> informat event $80.;
>> format date begin date9.;
>> input date event &;
>> season+1;
>> do year=1900 to (year(date())+1);
>> begin=mdy(month(date),day(date),year);
>> output;
>> end;
>> cards;
>> 19680105 Prague Spring begins in Czechoslovakia
>> 19160108 Allies retreat from Gallipoli
>> 19700115 Gadafi is proclaimed premier of Libya
>> 19910116 The Persian Gulf War begins
>> 19610120 John F. Kennedy inaugurated
>> 19010122 Queen Victoria dies
>> ;
>>
>> proc sort data=md_events_ds;
>> by begin;
>> run;
>>
>> /*and*/
>>
>> data birthdates;
>> informat dob yymmdd8.;
>> format dob date9.;
>> input dob name $;
>> cards;
>> 19450108 John
>> 19620809 Susan
>> 19600122 Mary
>> ;
>>
>> The following doesn't work:
>>
>> options intervalds=( m_events=md_events_ds);
>> data want;
>> set birthdates;
>> match=(intnx('m_events',dob,0) eq dob);
>> run;
>>
>> /*however, the following does work*/
>> options intervalds=( mdevents=md_events_ds);
>> data want;
>> set birthdates;
>> match=(intnx('mdevents',dob,0) eq dob);
>> run;
>>
>> The only difference between the two sets of code is whether and
underscore
>> is or isn't included as part of the interval name.
>>
>> Am I missing something or is that a bug that should be reported?
>
|