Date: Mon, 5 Apr 2010 20:48:19 -0400
Reply-To: Scott Barry <sbarry@SBBWORKS.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Scott Barry <sbarry@SBBWORKS.COM>
Subject: Re: vvaluex error handling
On Mon, 5 Apr 2010 15:32:19 -0700, Sterling Paramore <gnilrets@GMAIL.COM> wrote:
>Dear SAS-L,
>
>I have some data with variable names like MembsEnr_Eff_Flag_200912,
>MembsEnr_Eff_Flag_201001, etc. (MembsEnr_Eff_Flag_YYYYMM). These fields are
>either "Y" or "N". I also have another variable called 'Membs_Enroll_yrmo,'
>but not all yearmonth values have a corresponding MembsEnr_Eff_Flag_YYYYMM
>field. I want to return rows where the flag field is "Y" and YYYYMM =
>'Membs_Enroll_yrmo'. I thought I'd use the vvaluex function (one I read
>about on this list, go SAS-L!),
>
>data EnrEff;
> set Enr (obs = 10);
> if vvaluex(cats("MembsEnr_Eff_Flag_",Membs_Enroll_yrmo)) = "Y" then
>output;
>run;
>
>This seems to work, but for every row where the variable does not exist, I
>get the following error message:
>
>NOTE: Argument to function VVALUEX is not a known variable name:
>MembsEnr_Eff_Flag_200812.
>NOTE: Invalid argument to function VVALUEX at line 18 column 8.
>
>
>The dataset is 90 million rows, so the log quickly grows too large to handle
>with this output. Is there any way to suppress the note in the log or do
>better error handling? I was hoping for something like:
>
> if vvalue_exist(...) then ....
>
>
>
>
>Thanks,
>Sterling
Suggested Google advanced search argument:
variable exist sas member site:sas.com
Results (one of several) yielded:
Sample 26003: Programatically determine if a variable exists in a data set
http://support.sas.com/kb/26/003.html
Scott Barry
SBBWorks, Inc.
|