Re: SAS Advanced Programming Exam for SAS 9: SAS Joke of the year. #4
I still contend and stick with they should both be able to program and know
how SAS works. I prefer the intervewing company give a test, were the
person being interviewed is sat in front a laptop or desktop and told to
write code to solve some problems. No online help no books just the persona
nd the computer. This weeds out those who can code and those who cant, from
those who can you then talk to them about the code they wrote and you can
deduce those who understand how SAS works and thos who dont. The pool you
are left with are the qualified candidates atleast from a SAS perspective
and you can make your choice from there.
Comprimise is like telling a lie, it gets easier and easier. Each
comprimise you make, that becomes your standard.
Perfection doesnt exist, once you reach it, its not perfect anymore. It
means something else.
From: Ed Heaton <EdHeaton@WESTAT.COM>
Reply-To: Ed Heaton <EdHeaton@WESTAT.COM>
Subject: Re: SAS Advanced Programming Exam for SAS 9: SAS Joke of the year.
Date: Tue, 4 Sep 2007 16:52:16 -0400
Okay, I think I need to weigh-in on this.
First, the exam is designed to test what you know about how SAS works.
I think it does a fair job at that. (I say so partly because I only
scored 89 on the exam. Now, I didn't prepare for the exam; I was really
testing the exam when I took it as opposed to using the exam to test my
The exam doesn't know how well you can program...Re: R vs. SAS (was Replacement for SAS (SPSS vs. SAS, redux)) #4
No, sorry if I made it sound that way.....
SAS and R are totally different in the way they work, how they are
structured, what the statements look like, and so on. Not like French
and Spanish, not even like English and Spanish. More like English and
R has a lot in common with S Plus, both are based on the S language.
But there is no hostility that I know of between S Plus and R (unlike
the situation with Linux)
>>> <ben.powell@CLA.CO.UK> 2/5/2004 10:36:32 AM >>> wrote
Sounds like R is the SAS equivalent of Linux .. who are incidentally in
sort...Re: SAS Parallel processing
if (for obvious reasons since you are rsubmitting code) you can not give us
ready-to-run code then at least show us the error messages you get.
> -----Urspruengliche Nachricht-----
> Von Ram
> Gesendet: Dienstag, 31. Juli 2007 02:51
> I am relatively new to SAS parallel processing scene and trying to
> work on the following piece of code using SAS 9 on a PC. The remote
> server has 4 processors and this is a UNIX based server. On my PC
> windows based SAS, I execute the following code after connecting to
> the remote server.
[ lots of code snipped / rb ]
> I get several errors while processing the above program. I tested the
> sas programs in the %include statement 'simulate.sas' and
> 'outputs.sas' but these do not give me errors while processed
> individually. However, when I try to include the macros in these
> programs into the code above, I get errors. Sometimes it also happens
> that I run the program but I am not able to see the output for any of
> the tasks. The log says "Remote submit to task 1 complete" (which
> means the loop for j has run only for j=1, while typically I have j=1
> to 10), and then the program terminates and I get no output.
> Can someone help me out with this ?
> Thanks a ton,
...Re: Parallel Processing in SAS
> I've heard that there are opportunties to do some parallel processing if
> your server has multiple CPUs.
I think there are also opportunities for parallel processing with single
CPU machines that support threading; one tread can execute while another
is waiting for I/O to complete, for example.
> We have 4 CPUs running on windows 2003 SP1.
> Anyone have any insight or articles about Parallel processing?
You might look through the SAS web site; there have been several SUGI
papers about parallel processing, and probably some SASGloF papers as well.
> I heard only a few procs can actually utilize and take advantage of parallel
> processing, but wasn't sure.
There are only a few procedures (SORT and SQL and the
SUMMARY/REPORT/TABULATE family are probably the most commonly used, but
there are other ways to get parallel processing.
If your program can be split manually into appropriate chunks, you can
use Multi-Processor Connect to parallelize your work. You could also
use regular connect, but there are some advantages to MP Connect.
There is a pipe engine that uses parallel processing.
In 9.2, there will be a threaded database and a threaded data step;
neither is exactly like the current base engine and data step.
I think the SPDE libname engine uses parallel processing for searches;
there's also a SPDS table server product.
Some SAS/Access products use multithreading for data transfer.
There is a grid computing option, ...Re: SAS vs. SPLUS vs. SAS #4
matrix is indispensible tool in implementing modern data mining algorithm,
but we only have native matrix opertion capability in IML.
Recently I discovered that in SAS/Base SAS/Stat, we were able to conduct
several important matrix manipulations and I able to translate those
prototype algorithms on textbook into SAS.
I just submited a paper to SGF2010 on this topic, hope the paper can be
On Fri, 11 Dec 2009 13:09:32 -0800, Paul Miller <pjmiller_57@YAHOO.COM>
>I’ve recently become interested in sequential clinical trials des...Re: Deleting SAS Data from a SAS DATASET #4
Summary: PROC DATASETS; AGE statement. + VIEWs
This won't help you delete data from your very big data set, but you
may find this example interesting.
You say you append data monthly to a big data set then when big gets
too big you need to clean out the old. And that takes a very long
However if you don't physically append but use a view to
append/combine you may find it easier to get rid of the unwanted old
Consider this code. it pushes MonthlyUpdate onto the stack of 24 data
sets and the 24th data set is deleted. Then all the data sets get
renamed to produce a new group of 24. You can see from the notes how
the operation works. The data sets don't have to use a numbered range
M01-M24 I did that for my convenience.
proc datasets library=work;
age MonthlyUpdate m01-m24;
NOTE: Deleting WORK.M24 (memtype=DATA).
NOTE: Aging the name WORK.M23 to WORK.M24 (memtype=DATA).
NOTE: Aging the name WORK.M22 to WORK.M23 (memtype=DATA).
NOTE: Aging the name WORK.M21 to WORK.M22 (memtype=DATA).
NOTE: Aging the name WORK.M20 to WORK.M21 (memtype=DATA).
NOTE: Aging the name WORK.M19 to WORK.M20 (memtype=DATA).
NOTE: Aging the name WORK.M18 to WORK.M19 (memtype=DATA).
NOTE: Aging the name WORK.M17 to WORK.M18 (memtype=DATA).
NOTE: Aging the name WORK.M16 to WORK.M17 (memtype=DATA).
NOTE: Aging the name WORK.M15 to WORK.M16 (memtype=DATA).
NOTE: Aging the name WORK.M14 to WORK.M15 (memtype=DATA).
NOTE: Aging the name WORK.M13 to WORK.M14 (me...Re: To SAS or not To SAS (or whatever else)!!, #4 1551156
Like Charles said, many of the comparisons you are seeking can already be
found throughout the list's archives.
I've been using SAS since 1973, SPSS since 1975, and I won't waste
bandwidth describing my various experience with all of the other software
which have been available to academics and researchers since that time.
As everyone seems to agree, the required SAS learning curve isn't just
steep but, as the product's capabilities continue to expand, the curve
keeps getting steeper. However, being one who finally figured out how to
use my VCR just before it bec...Re: SAS AF application is not supported in SAS EG? #4
There's a lot of fun in writing web front ends to SAS, and you can
even use the knowledge for something else later.
We used SAS/Intrnet (application broker and htmSQL) a lot at First
Caelum non animum mutant qui trans mare currunt.
On Oct 29, 2009, at 7:09 am, Joe Whitehurst wrote:
> Then you might not know what fun you're missing :))
> On Wed, Oct 28, 2009 at 7:50 PM, Savian <firstname.lastname@example.org> wrote:
>> On Oct 28, 11:41 am, UKR ...Re: SAS-L Panel / SAS-L Archives #4
If someone follows a thread all the way to the end, then yes, the
correct answer(s) will usually be found. But the Text Miner would have
to be able to find "the answer you just gave was wrong, and here's why"
messages, and not report the original wrong answers. That's what I
think would be hard.
And David's joking, of course: sometimes there are clearly and
unarguably wrong answers on SAS-L. I've given them myself
Manager, Technical Development
Metrics Department, First Health
West Sacramento, California USA
>>> "Peter Flom" <flom@NDRI.ORG> 12/23/2003 2:17 PM >>>
I think, actually, this is one of the great strengths of mailing
SAS-L in particular: Mistakes don't survive.
If you ask an "expert", he or she may get it wrong. Everyone makes
mistakes (except Ian :-). People can also misunderstand questions.
But, if you post a question here, and someone posts a wrong response,
or if a question is confusing, things get straightened out, usually
>>> "David L. Cassell" <cassell.david@EPAMAIL.EPA.GOV> 12/23/2003
4:29:34 PM >>>
Jack Hamilton <JackHamilton@FIRSTHEALTH.COM> replied:
> An interesting problem with running text miner against SAS-L: how do
> avoid returning incorrect answers?
Come now. Surely you don't mean to imply that anyone ever gives a
*wrong* answer on SAS-L...Re: Cannot Allocate a SAS Library in Interactive SAS(TSO) #4
sometimes the easy way is to copy that thing to DASD in a batch job -
someone might have a sample job for that and then allocate it in your SAS
Hope that helps...
On Wed, 24 Feb 2010 05:33:05 -0500, Horne, Jim - James S
>Dynamic allocation under TSO - especially tape allocation - is something
specific to each shop. You need to contact your friendly systems
programmer at your shop and ask them for help because it does look as if
you are not allowed to allocate tapes. They can help you work around this.
>I hope this helps ...Re: old SAS guy with new SAS question #4
I think Ron Fehd was working on recreating MXG on the PC, though I'm not
sure what he's using for input (I'm guessing they're all OS and monitoring
tool specific). You might want to email him off-list to see what he's
doing. But I think the couple of responses you've gotten so far should get
you over the initial hump of reading in varying length variables.
Let us know where we can help next--there are several of us on the listserv
that either do MXG or lived and breathed MXG in the past.
On Sun, 16 Nov 2008 21:18:36 -0600, John F. Regus <jfregus@IX.NETCOM.COM> wrote:
>You three were of the most help to an old man in simplifying how to get
output from my PC file into a SAS dataset. However, when I did use the
INPUT statement I coded INPUT $. thinking this would put everything into
its natural place in the output SAS table. Wrong. It only got the first
variable of 5 characters.
>I went through my "Little SAS Book" trying to find the answer to this but
the "Little SAS Book" has an appropriate title...it is little and does not
cover a lot of things. SAS help and documentation takes you over the hills
and through the woods without getting to the point or even a concise answer.
>Here is my problem.
>I am reading a .csv PC flat file (I conquered the problem of reading the PC
file into a SAS dataset by adding the INPUT statement...only not all the
data goes through because I need...Re: Running sas code on mainframe through SAS-UNIX #4
Something like this should be possible as I have done it in the past. Note
the "site filetype=jes" which submits your JCL/SAS Program to the MVS
ftp -nv hostname << EOT
You should get back something like "250 Transfer completed successfully"
and "known to JES as <jobnumber>"
On Fri, 15 Sep 2006 13:15:48 +0200, Robert Bardos <bardos2@ANSYS.CH> wrote:
>I ought to be busily doing other things so I'll just sketch out a...Re: Searching for SAS Programming Tips: A Guide to Efficient SAS #4
The book you;re talknig about is aimed for SAS 6. That's a bit out of date.
You might be happier going to the SAS Publishing webpages and looking for
Bob Virgile's book on SAS Efficiency instead.
David L. Cassell
3115 NW Norwood Pl.
Corvallis OR 97330
FREE pop-up blocking with the new MSN Toolbar � get it now!
...Re: combine n SAS datasets in to one SAS dataset. #4
Filename allfiles ('d:\conv\2008*.asc'); * Filenames can use
At 10:53 AM 1/14/2009, email@example.com wrote:<br>
<blockquote type=cite class=cite cite="">Hi,<br>
I have a similar problem in my SAS macro;<br>
I have many ascii files where name are 2008011.asc to 2008123<br>
year = 2008, month=01 to 12 and dekad = 1 to 3;<br>
To import all my files, I have writed 2 similars macro contain
<x-tab> </x-tab>%Do i= 1
<x-tab> </x-tab>%DO j = 1
%let dataname ="d:\conv\20080&i&j.asc";<br>
and for second<br><br>
<x-tab> </x-tab>%Do i= 10
<x-tab> </x-tab>%DO j = 1
%to &dekad;...Re: SAS-L BOF at SAS Global Forum 2009 #4
Thanks all, very honored! It's a pleasure to learn from everyone and
occasionally return some of that learning to others. I regularly amaze my
(much more experienced) colleagues with tips from the list :)
Hopefully I'll be able to attend one of the SGFs someday soon and meet you
On Wed, Mar 25, 2009 at 7:49 PM, Arthur Tabachneck <firstname.lastname@example.org>wrote:
> My congratulations to DataNull and Joe, as well, both extremely well
> And, if you had as much trouble as I did in trying to click on Mike's link
> to the analyses, hopefully the following will work better:
> p.s. Many, many thanks to Ron Fehd and Art Carpenter for showing me how to
> post such links to the wiki.
> On Wed, 25 Mar 2009 16:42:25 -0700, Nordlund, Dan (DSHS/RDA)
> <NordlDJ@DSHS.WA.GOV> wrote:
> >Congratulations to data _null_ (Hall of Fame) and Joe Matisse (SASLROY) --
> well deserved.
> >Daniel J. Nordlund
> >Washington State Department of Social and Health Services
> >Planning, Performance, and Accountability
> >Research and Data Analysis Division
> >Olympia, WA 98504-5204
> >> -----Original Message-----
> >> From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of
> >> Mike Rhoad...Re: How to get the location of SAS code in the same SAS code thru #4
I use a macro from Frank DiIorio, CodeCrafters, Inc. that rely on SAS
proc sql noprint;
into :Source_Code separated by ' '
where fileref like "#LN00006"
The store is optional since I like to store compiled macros in a single
location and call in with a mstored and sasmstore= options.
I just add the following to my code to get a footnote indicating the full
path and name of code submitted:
footnote1 "SOURCE CODE: &source_c...Re: Reusing code from SAS Program in another SAS Program #4
In response to a question by Keith, Paul Choate suggested using
%INC. The suggestion is reasonable, but not his explanation.
Since %INC is a macro you can put it anywhere in open code and
it will read the code snippet during compilation.
%INC is neither a macro nor a macro instruction. It is one of a
few old SAS commands that begin with a %-sign and predate the
current macro language. This can be shown by a batch job run
with the option NOMACRO. Here is the log.
NOTE: SAS (r) Proprietary Software Release 8.2 (TS2M0)
Licensed to The SAS Learning Edition V2.0, Site
...Re: SAS Parallel processing #3 1565310
Like Robert said: it is impossible to help you without knowing anything,
but your machines and how many processors they have. We don't know, where
the problem is located, if we don't know which errors you get!
One idea: you say, you test macros in your local environment? When you
call them in remote programs, you get errors? Maybe something that the
macro %xyz is unknown? That's the case if they are local to your PC and
you submit and execute code on a remote machine!
By the way: do we talk of parallel-processing, or remote-processing?
On Tue, 31 Jul 2007 09:29:15 +0200, Robert Bardos <bardos2@ANSYS.CH> wrote:
>if (for obvious reasons since you are rsubmitting code) you can not give
>ready-to-run code then at least show us the error messages you get.
>> -----Urspruengliche Nachricht-----
>> Von Ram
>> Gesendet: Dienstag, 31. Juli 2007 02:51
>> I am relatively new to SAS parallel processing scene and trying to
>> work on the following piece of code using SAS 9 on a PC. The remote
>> server has 4 processors and this is a UNIX based server. On my PC
>> windows based SAS, I execute the following code after connecting to
>> the remote server.
> [ lots of code snipped / rb ]
>> I get several errors while processing the above program. I tested the
>> s...Re: SAS/Oracle Processing Question #4
You can use this program to test whether the selection of claims
information on the dw will overwhelm your SAS server. The SQL program
that you are considering may promote part of the WHERE clause and yield
the same result, but this test guarantees that.
proc sql noprint;
create table local.claimmerge as
from local.eligibility inner join (select dw.type1claims where
type1claims.date between 1/1/2004 and 12/31/2000)
order by ID;
A more efficient program would subset dw claims to those that match ID's
in the local eligibility dataset. One would hope that the SAS/Access
Oracle engine and SAS SQL compiler would transfer and cache distinct
values of the eligibility ID on the dw side, then execute the program
there. Check the SAS-L archives for a similar thread. You may find an
Oracle cache or index solution.
The only efficiency problem in this situation has nothing to do with
hash or other indexing, or lack of such. It has to do with difficulties
in building indexes on the dw side when values that need indexing reside
on another platform.
From: email@example.com [mailto:firstname.lastname@example.org]
On Behalf Of Paul Kirby
Sent: Friday, March 28, 2008 4:49 PM
Subject: SAS/Oracle Processing Question
I'm trying to figure out if I can offload the processing work for some
big merges/joins onto ...Re: Windows XP SAS v9 faster than UNIX SAS v9? #4
A couple suggestions based on my limited expertise in this area:
1. Search the SAS Notes:
(http://support.sas.com/techsup/search/sasnotes.html) -- maybe "must
contain" "phrase" "DATA step" and "should contain" "words" "poor slow
performance". There are a couple involving DATA steps with missing
values: I'm not sure whether or not they are relevant to your situation.
2. Contact SAS Tech Support, if you haven't already.
From: email@example.com [m...Re: How to filter sas data sets into separate sas data sets #4
Something like this is the old way. You could use a proc sql if you
have a new enough version. Increase your buffersize and if you have
enough memory you may get it into a hash routine.
MERGE small (IN=A OBS=500) big ;
From: SAS(r) Discussion [mailto:SAS-L@listserv.vt.edu] On Behalf Of
Sent: Monday, April 02, 2007 10:53 AM
Subject: How to filter sas data sets into separate sas data sets
This is my failing point in coding SAS. T...Re: Storing SAS-programs and -macros in SAS-datasets on a HOST-platform #4
SI provide an example of using a sas catalog as if it were a pds
(as a "aggregate storage location"), in the onlinedoc at
(this is a 9.1.3 link, but the example is valid since before sas v8)
However, sas catalogs don't (neccessarily) make cross/platform
operations easier. A program is usually a lot smaller that the
space it takes up in a sas catalog as a source entry. If you have
a lot of programs, the proc upload or download time may become
less welcome ;-)
"Aggregate storage location&quo...Re: Unused Mainframe Features (was: PC SAS vs. Mainframe SAS) #4
Im Auftrag von Joe Whitehurst
Gesendet: Sonntag, 17. September 2006 15:56
Betreff: Re: Unused Mainframe Features (was: PC SAS vs. Mainframe
Do you really mean to say this?
" So no, you are not limited to neither 24 rows nor to 80
Well, as you guessed, I meant to say something along the opposite.
(Got to be careful with all this "no .. not .. neither .. nor").
Got lost in translation somehow.
Makes me long for the "highlight nonsensical constructs" feature
of modern mail clients. Especially when used for participation in
public discussion fora ... 8^)
Many thanks and kind regards
...Re: Include SAS code w/o including SAS code #4
I actually never want to store the macro code. I only want it available in a
temp file which I then consume. For example:
...do some sas stuff...
I want to save the contents, formatted, into a text file (i.e.
c:\temp\program.sas) which I can then consume in another application. I also
want to execute the code. Hence:
Save the contents of the macro file to a text file with CRLF included. I
don't want the run, merely the statements.
From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of Fehd,
Ronald J. (CDC/CCHIS/NCPHI)
Sent: Tuesday, August 12, 2008 8:15 AM
Subject: Re: Include SAS code w/o including SAS code
you want to save the macro code in its own file
access then depends on modifying one of the three uses of the word:
A SASautos Companion: Reusing Macros
Ron Fehd the macro maven CDC Atlanta GA USA RJF2 at cdc dot gov
> -----Original Message-----
> From: Alan Churchill
> Ok, I think this might be doable but I am drawing a blank.
> Suppose I have this code:
> %macro xyz;
> data temp.temp4;
> .do some sas stuff.
> Is there a way to write the macro statements out to a file? I
> can run them
> but I would also like to ...