LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (January 2011, week 1)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Thu, 6 Jan 2011 10:35:58 -0500
Reply-To:     Nat Wooding <nathani@VERIZON.NET>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Nat Wooding <nathani@VERIZON.NET>
Subject:      Re: Multiple Semicolons (was PROC EXPLODE and semicolons)
In-Reply-To:  <201101061510.p06Bl9Tc029630@wasabi.cc.uga.edu>
Content-Type: text/plain; charset="US-ASCII"

Art

I have not touched IML in decades but will take your word for it. As for people using multiple semicolons, I suspect that someone learned of CARDS4 at one point and made it a habit and passed this along to others but the reason for doing it was lost. It's sort of like some aspects church liturgy. For example, at one time in medieval Europe and England, the local church was the only large building in some areas and was used for markets and the like. A fence was needed to keep the animals away from the alter and now the animals are elsewhere but some churches still have the communion rail although the original purpose has been long lost to most communicants. At least, that's the story that I've been told.

Nat

-----Original Message----- From: Arthur Tabachneck [mailto:art297@ROGERS.COM] Sent: Thursday, January 06, 2011 10:10 AM To: SAS-L@LISTSERV.UGA.EDU; Nat Wooding Subject: Re: Multiple Semicolons (was PROC EXPLODE and semicolons)

Nat,

I don't know what the original rationale was, but being able to include semi-colons within datalines can be quite useful when using datalines to create include files and code being used within IML. For example, take a look at: http://www.google.ca/url? sa=t&source=web&cd=9&sqi=2&ved=0CFMQFjAI&url=http%3A%2F%2Fpsych.colorado.edu %2F~carey%2Fsaspairs%2FDocs%2FIntroduction%2520to%2520SASPairs.doc&rct=j&q=w hen%20datalines4%20needed&ei=adYlTcTXDsG78gaPiO37AQ&usg=AFQjCNEOzPHE9MNVrtwT 7PtiPb1AjIJGsw

or,in short form: http://tiny.cc/41c0l

However, more interestingly, I've always wondered why so many people end all data lines with 4 (or more) semi-colons, or why the longer datalines command is more often used than the shorter 'cards'.

Art -------- On Thu, 6 Jan 2011 08:50:49 -0500, Nat Wooding <nathani@VERIZON.NET> wrote:

> Earlier in this thread, a couple folks commented on how they had never >needed to deal with SAS data that had embedded semicolons. In case anyone >missed it, yesterday's Post > >modulen: where does SAS look? > >included semicolons. Admittedly, the work that was being done was not a >typical (to me, at least) SAS job. The first part of the post read: > >(Snip) > >I have stumped the local SUG with this problem, which hopefully has a simple >explanation. I am using the following code to write an attribute table and >call a routine from a proprietary dll. The dll has 3 routines, but I am just >trying to call the first: > >***This section writes the attribute table; filename sascbtbl >"C:\Home\HDD\SAS\sascbtbl.dat"; data _null_; > infile cards; > file sascbtbl; > input; > put _infile_; > cards4; >ROUTINE AprLimOpen MINARG=3 MAXARG=3 MODULE=APRLIM RETURNS=LONG; > ARG 1 INPUT CHAR FORMAT=$cstr200. BYADDR; > ARG 2 INPUT CHAR FORMAT=$cstr200. BYADDR; > ARG 3 OUTPUT NUM FORMAT=pib4. BYADDR; > >(snip) > >Just as an afterthought, the Cards4 dates back to the early days of >mainframe SAS jobs where it was common to submit a job with embedded data >rather than read them from a tape or file. I can't think why I would have >ever had data with semicolons but someone must have convinced Messrs. Barr >and Goodnight of the need. Or, maybe they just wanted to be able to do Proc >Explode. A SAS 72 manual or one of the later ones in the decade may give >hints of the sequence of these events but mine is packed away. > >Nat Wooding


Back to: Top of message | Previous page | Main SAS-L page