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 (July 1996, week 3)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Mon, 15 Jul 1996 20:47:14 -0400
Reply-To:     Alain Dufour <Alain_Dufour@INRS-URB.UQUEBEC.CA>
Sender:       "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From:         Alain Dufour <Alain_Dufour@INRS-URB.UQUEBEC.CA>
Subject:      Re: SAS-L Digest - 12 Jul 1996 - Special issue
In-Reply-To:  <199607130116.VAA07565@hermes.inrs-urb.uquebec.ca> from
              "Automatic digest processor" at Jul 12, 96 09:15:01 pm

Concernant le probleme des categories manquantes dans un proc FREQ, ca n'a pas l'air d'etre facile a resoudre: voir les messages 3 et 5....

ALain

> > There are 21 messages totalling 1110 lines in this issue. > > Topics in this special issue: > > 1. Query with macro resolving > 2. file contribution server? > 3. Forcing SAS to output all categories of a variable, even if it is missing > 4. Memory Problem (2) > 5. Forcing SAS to output all categories of a variable, even if > 6. Thanks: Help - Time in SAS Output > 7. Forcing SAS to output all categories of a variable, even > 8. MVS SAS output conversion to RTF document (2) > 9. Forcing SAS to output all categories of a variable, > 10. South East SAS Users Group (SESUG) Wants You! > 11. SAS dataset on PC to UNIX > 12. Binomial Confidence Interval > 13. What does this error mean? > 14. Printing Proc Plot from Output Window > 15. AF vs FRAME > 16. OOPS!!! (was: South East SAS Users Group (SESUG) Wants You > 17. Computer Hell and Lost Mail?? > 18. trying to get R-squared to 9 decimal places > 19. SAS to Excel and back > > ---------------------------------------------------------------------- > > Date: Fri, 12 Jul 1996 11:48:45 EDT > From: Ian Whitlock <whitloi1@WESTATPO.WESTAT.COM> > Subject: Re: Query with macro resolving > > Subject: Query with macro resolving > Summary: It's a matter of logic, not macro resolving. > Respondent: Ian Whitlock <whitloi1@westat.com> > > Nelson Kinnersley <nelson@DIRCON.CO.UK> asks an interesting question: > > Why does > > %IF &where NE %THEN > > give different results for > > WHERE = a eq 1 > and > WHERE = a eq 1 and b eq 1 > > To find out it is simpler to work with %EVAL and %PUT. Now > > (*) %eval ( a eq 1 ne ) is 1 > and > (**) %eval ( a eq 1 and b eq 1 ne ) is 0 > > Of course by now one should realize that what Nelson wanted was to find > out if the WHERE expression was null or not(if not see his message at > the end). Unfortunately he fell into the trap of evaluating logical > expressions. The quick cure for this problem is a little quoting > > %eval ( %quote(&where) ne ) > > You must hide the EQ and the AND symbols from %EVAL in order to get a > real test of whether &WHERE is null or not. > > Now let's try to understand what happened with (*) and (**). > > a eq 1 > > is false (letters and numbers are never equal) i.e. 0, hence > > %eval ( a eq 1 ne ) = %eval ( 0 ne ) > > But 0 and null are not equal, thus the expression (*) is true, i.e. 1. > > How does %EVAL read ( a eq 1 and b eq 1 ne )? You first have to > understand how to add parentheses to get an unambiguous expression. > > Since I wouldn't trust anything but %EVAL I stared at the following > log. > > NOTE: AUTOEXEC processing completed. > > 1 %put %eval ( 0 ne ) ; > 1 > 2 %put %eval ( 0 and 0 ne ) ; > 0 > 3 %put %eval ( 0 and ( 0 ne ) ) ; > 0 > 4 %put %eval ( ( 0 and 0 ) ne ) ; > 1 > 5 %put %eval ( ne ) ; > 0 > 6 %put %eval ( %quote(0) ne ) ; > 1 > 7 %put %eval ( %quote(0 and 0) ne ) ; > 1 > 8 %put %eval ( %quote(a=1 and b=1) ne ) ; > 1 > 9 %put %eval ( %quote(a=1) ne ) ; > 1 > 10 %put %eval ( ne ) ; > 0 > > From lines 2 and 3 one can see > > %eval ( a eq 1 and b eq 1 ne ) > > is equivalent to > > %eval ( (a eq 1) and ( ( b = 1 ) ne ) ) > %eval ( 0 and ( 0 ne ) ) > %eval ( 0 and 0 ) > > which is just 0. Thus (*) and (**) have different values and neither > has anything to do with the question whether &WHERE is null or not! > > You now know why the macro programmer *must* learn to quote. I have > been told it is easy. And after many years of questioning I see that > it is, but don't quote me. > > Ian Whitlock > ------------------------------- Message Contents ------------------------------- > SAS-L, > > Perhaps the following is a well known feature but it was unexpected to me > when I found it happening, so I thought I would see how many others were > unaware of it. > > If I want to apply some conditional statements within a macro I usually > test if the macro argument is blank. For example in the the following I > want to conditionally apply a WHERE statement if the macro argument > contains a string (similarly for applying a BY statement): > > %IF &where NE %THEN %DO; > WHERE &where; > %END; > > This works fine if &where is a simple expression e.g. day eq 1 > but the %IF clause evaluates to FALSE if it is a composite expression e.g. > day eq 1 and sex eq 1 > > I know that a workaround is to enclose &where with brackets in the %IF > statement but I still don't fully understand why it fails on composite > clauses. > > Anybody got any insight or is this news to you? > > I've included some SAS code below to reproduce the problem (a stripped > down version of the original problem in which the WHERE statement was > within a PROC FREQ). > > Nelson > > title 'Test Data'; > * Set-up some test data; > data testdata; > do a=1 to 3; > do b=1 to 4; > c=int(100*ranuni(a*b)); > output; > end; > end; > run; > > proc print;run; > > options mprint mlogic symbolgen; > > %macro test(indata=,where=,outdata=); > > data &outdata; > set &indata; > %if &where ne %then %do; > where &where; > %end; > run; > > %mend test; > > %test(indata=testdata,where=a eq 1,outdata=testout1); > > title2 'Correctly Applies WHERE clause - so datasets differ'; > proc compare data=testdata compare=testout1; > run; > > %test(indata=testdata,where=a eq 1 and b eq 1,outdata=testout2); > > title2 'WHERE clause evaluates to FALSE and so datasets identical - > WRONG'; > proc compare data=testdata compare=testout2; > run; > > ------------------------------ > > Date: Fri, 12 Jul 1996 18:32:17 -0500 > From: GERALD ZUCKIER <ZUCKIER@CHIME.ORG> > Subject: file contribution server? > > Having received no updates since 22 May, I must ask, has anyone else received > any updates from the SAS file contribution server since then? And if so, > presumably I have been dropped, and can anyone remind me how to reregister with > it? > > ------------------------------ > > Date: Fri, 12 Jul 1996 13:39:15 -0400 > From: "Theisen, Anne C." <anne@RTI.ORG> > Subject: Forcing SAS to output all categories of a variable, > even if it is missing > > I periodically have subsets of data where a category on a variable will > be missing. I need to output this category even if it is missing. Is > there a way to do this. For example, RACE, has 1=white 2=black > 3=hispanic 4=other. There are times when I have no "others" in the > sample but I still need to see that "other" was and option... > > white 25 25.0% > black 25 25.0% > hisp 50 50.0% > other 0 0.0% > > ------------------------------ > > Date: Thu, 11 Jul 1996 17:52:06 GMT > From: "John E. Bentley" <bentleyj@IX.NETCOM.COM> > Subject: Re: Memory Problem > > I don't think that running the job in batch mode is the solution. > SAS/Windows isn't designed like that. > > First check the size of the swap file. SAS recommends 25 megabytes. > Then try running the program with all non-SAS applications closed. > > Have you run DOS's memmaker routine? It'll move all tsr's and some > drivers to high memory to free up more memory for DOS (and Windows, > since it's running under DOS). > > If you do want to add memory, right now it's cheap, cheap, cheap. > > Good luck. > > > Eli Baker <ebaker@MAIL.MED.CORNELL.EDU> wrote: > > >Hi gang, > > >Well, it finally happened: I have a problem which comes back with an 'out of > >memory' notation. When I was using the DOS version, I merely ran the job in > >batch and it always solved the problem. Can one run a batch job for SAS > >6.10?? If not, what's the most efficient way of increasing the available > >memory? I'm running 6.10 on a 486 with 8 megs of RAM. > > >TIA > > >Eli Baker, CUMC > > John E. Bentley > Chicago, IL, USA > ----------------------------------- > Send lawyers, guns, and money. > > ------------------------------ > > Date: Fri, 12 Jul 1996 10:50:04 PDT > From: TWB2%Rates%FAR@GO50.COMP.PGE.COM > Subject: Re: Forcing SAS to output all categories of a variable, even if > > In many PROC's, the MISSING option will do this. I am not referring to > the option statement which specifies a print value for missing values, > but to an option available in several PROC's: > > PROC FREQ DATA=MINE.ALLMINE; > WHERE LASTDATE LT '01JAN94'D; > TABLE RACE*AGECAT / MISSING; > RUN; > > By the way, I almost always use the LIST option on FREQ table requests > to get a format like your example below. I did not code the LIST option > on this sample because I did not want readers to think the sequence > "LIST MISSING" was a single option. > > Tim Berryhill - Contract Programmer and General Wizard > TWB2@PGE.COM > Frequently at Pacific Gas & Electric Co., San Francisco > The correlation coefficient between their views and > my postings is slightly less than 0 > ----------------------[Reply - Original Message]---------------------- > > Sent by:"Theisen, Anne C." <anne@RTI.ORG> > I periodically have subsets of data where a category on a variable will > be missing. I need to output this category even if it is missing. Is > there a way to do this. For example, RACE, has 1=white 2=black > 3=hispanic 4=other. There are times when I have no "others" in the > sample but I still need to see that "other" was and option... > > white 25 25.0% > black 25 25.0% > hisp 50 50.0% > other 0 0.0% > > ===================================================================== > > ------------------------------ > > Date: Fri, 12 Jul 1996 18:50:46 -0500 > From: GERALD ZUCKIER <ZUCKIER@CHIME.ORG> > Subject: Re: Memory Problem > > Not specifically SAS-related, but if this is Windows 3.x a lot of these out of > memory messages are the result of running out of memory in the graphics resource > segment, which is 64K and cannot be increased. There are various shareware and > commercial (norton utilities) items around that will monitor resource usage for > you, and even sound an alarm when you get near danger. Meanwhile, in case it is > your graphics segment, you might try getting rid of a bunch of fonts, icons, > whatever might be taking up memory, and try again. > > ------------------------------ > > Date: Fri, 12 Jul 1996 11:57:42 -0700 > From: Wei Yen <WEI@OFM.WA.GOV> > Subject: Thanks: Help - Time in SAS Output > > Many thanks to Raymond Hu, Kevin Martin, and Tom Abernathy who responded to > my post "Help - Time in SAS Output". The question was how to reset the date > and time in the SAS output header to the current date and time instead of > the date and time when SAS was first opened. All of them indicated that > macro variables be created to store values generated from system date and > time functions and then refer to the macro variables in the title > statements. Although this solution requires more work than I expected (I > was looking for something like a SAS system option), it appears to the best > because no other choices are available. Thanks again. > > Wei Yen > State of Washington Office of Financial Management > > ------------------------------ > > Date: Fri, 12 Jul 1996 12:23:12 PDT > From: TWB2%Rates%FAR@GO50.COMP.PGE.COM > Subject: Re: Forcing SAS to output all categories of a variable, even > > Oh, how silly of me! I answered the wrong question again. The actual > question is MUCH harder than the one I answered. > > If the category '2' does not appear in the data, SAS does not notice > that 1, 3 and 4 all appeared and insert a 2. Even worse, when the > subsetting happened to exclude all category 4 observations, SAS does not > notice that the categories include 1, 2 and 3 but not 4 and add 4, while > not adding 5 which is not a valid category at all. > > I suppose in the case of a subsetting WHERE, SAS could read the excluded > observations to look for excluded categories, but it does not. If you > use intermediate datasets and subsetting IF's, there is no way for SAS > to check. > > If you REALLY want the omitted lines inserted, you will have to tell SAS > what lines to insert: > > DATA FILLIN; > DO CAT=1 TO 4; > COUNT=0; > PERCENT=0; > OUTPUT; > END; > RUN; > > PROC FREQ DATA=MYDATA.ALLMINE; > WHERE CAT GT 2; > TABLE CAT / NOPRINT OUT=WORK.DATA; > RUN; > > DATA REPORT; > MERGE FILLIN > DATA; > BY CAT; > RUN; > > PROC PRINT DATA=REPORT; > RUN; > > The FILLIN dataset has all values of CAT, with obs reflecting a count of > zero and a percent of zero for each category. The PROC FREQ generates > an output dataset with non-missing values of COUNT and PERCENT for each > value of CAT which satisfied the WHERE clause (or whatever subsetting > you choose). The merge reads the FILLIN obs, with COUNT and PERCENT of > zero, then overwrites them with the actual counts from the PROC FREQ > output dataset. Where PROC FREQ did not generate an ob because the > category did not exist, the values from FILLIN are retained in the final > report. > > See why I answered the easy question, instead? > > Tim Berryhill - Contract Programmer and General Wizard > TWB2@PGE.COM > Frequently at Pacific Gas & Electric Co., San Francisco > The correlation coefficient between their views and > my postings is slightly less than 0 > ----------------------[Reply - Original Message]---------------------- > > Sent by:"Theisen, Anne C." <anne@rti.org> > Thanks for the suggestion. I tried it. This give me the percentage of > "missing" data for the variable but won't show that a category is > missing. For example, if RACE is suppose to have categories 1,2,3,4... > and noone responded 2, (and there is missing data) this is what I get.. > > . 10 10% > 1 25 25% > 3 25 25% > 4 40 40% > > but category 2 is not shown as a 0 response at 0%. What do you suggest? > Is it possible to show the "2" response option? > > Thanks, Anne > > > > ===================================================================== > > ------------------------------ > > Date: Thu, 11 Jul 1996 18:48:55 GMT > From: Jukka Ketelaars <J.J.Ketelaars@INTER.NL.NET> > Subject: Re: MVS SAS output conversion to RTF document > > On Wed, 10 Jul 1996 16:34:30 -0700, Bruce Kayton > <bakayton@ix.netcom.com> wrote: > > >I am working on a project that proposes to convert MVS SAS reports to an > >RTF document. The objective is to distribute reports via e-mail using > >the RTF document in an e-mail attachment. > > Hi Bruce, I have used SAS to create RTF files to feed to the Microsoft > Help Compiler. It's actually very easy, you just write a datastep that > creates your RTF file from your input file. > > The boring bit is of course where you search all the RTF codes, and > have to output them. The easiest way to do this (in my opinion anyway) > is to just create your document lay-out with a word processor, save it > as an RTF file, then reverse engineer it and create a datastep that > outputs RTF. > > This outputfile is nothing special as no special codes appear in the > RTF file, just plain ASCII (or EBCDIC). When you transfer it to the > LAN, do it with CR/LF and ASCII conversion. > > Jukka > -- > J.J.Ketelaars@inter.NL.net > > ------------------------------ > > Date: Fri, 12 Jul 1996 15:37:30 EDT > From: Ian Whitlock <whitloi1@WESTATPO.WESTAT.COM> > Subject: Re: Forcing SAS to output all categories of a variable, > > Subject: Forcing SAS to output all categories of a variable, > Summary: It's not an option, but with a little effort you might > make it work. > Respondent: Ian Whitlock <whitloi1@westat.com> > > Anne C. Theisen <anne@RTI.ORG> expresses a desire given many times > before, on and off SAS-L: > > >I periodically have subsets of data where a category on a variable will > >be missing. I need to output this category even if it is missing. Is > >there a way to do this. For example, RACE, has 1=white 2=black > >3=hispanic 4=other. There are times when I have no "others" in the > >sample but I still need to see that "other" was and option... > > > > white 25 25.0% > > black 25 25.0% > > hisp 50 50.0% > > other 0 0.0% > > Currently this is not an option on PROC FREQ. I assume we are talking > about the FREQ results of a single variable. The problem here is that > you know 4 is a missing category and 5 is not, but how can SAS know? > > A reasonable answer is "I formatted the variable with 4 values, those > are the values I want and only those." Now are are getting some where, > FREQ knows what it counted, the format knows what should be counted. > It only remains to update the format information with the counts and > produce a report or wait until SI does the work. > > Here is the code for Ann's case. It illustrates the special case > where the format is a one-to-one mapping between values and labels and > the variable of interest is numeric. (One could generalize and have a > macro manage the process below, but I would want to think about it a lot > before coding it that way. For now, think of RACE, W, and RACE. as > pre-macro variables.) > > data w ; /* test data */ > do i = 1 to 100 ; > select ; > when ( i <= 25 ) race = 1 ; > when ( i <= 50 ) race = 2 ; > otherwise race = 3 ; > end ; > output ; > end ; > run ; > > proc format ; /* test format */ > value race > 1 = 'white' > 2 = 'black' > 3 = 'hisp' > 4 = 'other' > ; > run ; > > Now we are ready to put the plan into action. > > /* get the freq */ > proc freq data = w ; > table race / noprint out = __fqdata ; > run ; > > /* get the format */ > proc format lib = work > cntlout = __fmdata ( keep = start ) ; > select race ; > run ; > > /* convert character to numeric */ > data __fmdata ( keep = race ) ; > set __fmdata ; > race = input ( left ( start ) , best12. ) ; > run ; > > proc sort data = __fmdata ; > by race ; > run ; > > proc sort data = __fqdata ; > by race ; > run ; > > data __cnts ; /* update the format with counts */ > update __fmdata __fqdata ; > by race ; > if count = . then count = 0 ; > if percent = . then percent = 0 ; > if percent > 0 then percent = percent / 100 ; > run ; > > /* print the report */ > proc print data = __cnts ; > format race race. percent percent. ; > run ; > > Observations had an article about managing this sort of trick for PROC > TABULATE within the last two years, I think. There the work was done > prior to the TABULATE instead of after. > > Ian Whitlock > > ------------------------------ > > Date: Fri, 12 Jul 1996 16:06:36 EDT > From: "F.Joseph Kelley" <JKELLEY@UGA.CC.UGA.EDU> > Subject: South East SAS Users Group (SESUG) Wants You! > > Hi SESUG Attendees! > Well, with the South Eastern SAS Users' Group (SESUG) Conference > coming up this October, I know (!) that many of you are interested > in working as Session Coordinators. This is an easy (well, pretty > much) and fun way to involve yourself in the workings of the > Conference (none of the user group conferences - SUGI, SESUG, NESUG, > etc - just put themselves on y'know). Session Coordinators are > present to assist the speakers and attendees and generally to > assure that a presentation goes smoothly. Typically, several > are present, though the number can vary. You don't work the > entire Conference, just a few hours (of course you may volunteer > for more). > > (begin blatant appeal) > I will be chairing the "Statistics, Econometrics & Operations > Research" Section, and I need some coordinators. We have a > number of presentations lined up and some assistance is going > to be essential. It goes without saying that Session Coordinators > get all the fame, glory and prestige possible. They also get > a ribbon on their badge. All that! > (end blatant appeal) > > OK, seriously, if you are interested in getting involved in the > conference, this is a great way to start. And I could use the > help. If you are interested in working in one of the other > sections, I have included the names and email addresses of my collegues > at the bottom of this note. I cannot say whether they are in need of > any assistance. > > Thanks, and see you in Atlanta -- > Joseph Kelley > Section Chair, Statistics, Econometrics, & Operations > Research: SESUG '96 > > jkelley@uga.cc.uga.edu > > PS For Registration information, contact my collegue George Matthews > george@uga.cc.uga.edu > If you are interested in working Registration, he is the one to > talk to.... > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > skenny@quintiles.com Susan Kenney > 0006495817@mcimail.com Dave Riba > > advanced tutorials > --------------------------------- > > rcfinch@hiwaay.net Randy Finch > spdeb@tva.gov Dan Bruns > > applications > --------------------------------- > > 0005251597@mcimail.com Melissa Garreans > usjpimrk@ibmmail.com Margaret Richardson > > beginning tutorials > --------------------------------- > > jrpassmore@mcimail.com (soon to become: Passmore@NandO.net) > Robert Passmore > > clinic > --------------------------------- > > maribeth@stat.mcg.edu Maribeth Johnson > 0005949476@mcimail.com Andy Kuligowski > > coder's corner > -------------------------------- > > william-jacoby@sc.edu William Jacoby > > Information Visualization > -------------------------------- > > merecb@interpath.com Eric Brinsfield > pdalberth@fhi.org Paul Dalberth > > Host Systems > -------------------------------- > > Jkelley@uga.cc.uga.edu Joseph Kelley > > Statistics/Econometrics/Operations Research > -------------------------------- > > gerri_furlow@ncsu.edu Gerri Furlow > sally_muller@unc.edu Sally Muller > > User Support and Training > -------------------------------- > > ctoppe@cscmail.csc.com Chris Toppe > > data warehousing > -------------------------------- > > ------------------------------ > > Date: Thu, 11 Jul 1996 15:09:50 -0500 > From: Bruce S Libman <blibman@SUNSET.BACKBONE.OLEMISS.EDU> > Subject: SAS dataset on PC to UNIX > > Hello, > > I need to transfer a SAS data set from the PC (DOS) to > mainframe UNIX. What is the protocol for doing this data transfer? > > Thanks, > > Bruce > > > Bruce Libman > Department of Biology > University of Mississippi > University, MS 38677 > blibman@olemiss.edu > > ------------------------------ > > Date: Fri, 12 Jul 1996 17:17:44 EDT > From: Timothy Ousley <ousleytm@PWFL.COM> > Subject: Re: Binomial Confidence Interval > > Hi SAS-Lers, > > Just my $.02 on confidence intervals for the binomial (bernoulli) > parameter. The following program produces a table of all possible > outcomes of a binomial experiment along with exact one-sided and two-sided > confidence intervals for each outcome. To use it, just change the values of thetwo macro variables at the top of the program: n = the number of trials in the experiment and conf = the percent confidence desired. > > Tim > > ============================================================================== > > /************************************************************/ > /* This program creates a table of confidence limits for */ > /* p = the bernoulli parameter where: */ > /* n = sample size, conf = confidence level. */ > /* To make a new table, change the values of the macro */ > /* variables 'n' and 'conf" on lines 9 and 10 below. */ > /* Programmer: Tim Ousley 407-796-8023 > /************************************************************/ > > %let n = 100; *Sample size (the number of bernoulli trials); > %let conf = 95; *Confidence level in percent (e.g.conf = 95 for alpha of .05); > > options pageno=1 nodate; > > data binci; > > alpha = (100-&conf)/100; > do x = 0 to &n; > phat=x/&n; > > If ( (x > 0) & (x < &n)) then do; > pu=betainv(1-alpha/2,x+1,&n-x); > pl=betainv(alpha/2,x,&n-x+1); > end; > else do; > pu = .; > pl = .; > end; > > if (x < &n) then pub=betainv(1-alpha,x+1,&n-x); > else pub = 1; > > if (x>0) then plb=betainv(alpha,x,&n-x+1); > else plb = 0; > > output; > end; > > proc print label noobs; > var x phat pl pu plb pub; > label > x = 'Number of Successes' > phat = 'P hat' > pl = 'Two sided lower confidence limit' > pu = 'Two sided upper confidence limit' > plb = 'One sided lower bound' > pub = 'One sided upper bound' ; > > title1 "Table of &conf% Confidence Limits for p"; > title2 "Sample size = &n"; > run; > > > > |===================================================================| > | Tim Ousley | > | Pratt & Whitney | > | Mail Stop 731-82 INTERNET: ousleytm@pwfl.com | > | P.O. Box 109600 Voice : 407-796-8023 | > | West Palm Beach, FL 33410-9600 Fax : 407-796-5362 | > |===================================================================| > > ------------------------------ > > Date: Thu, 11 Jul 1996 23:13:00 -0700 > From: Gavin <bizarre@ICON.CO.ZA> > Subject: Re: What does this error mean? > > Your Swap file is too small, increase it to at least 15mb. > > Maria Winter wrote: > > > > Hope someone can help... > > > > Trying to run SAS on my notebook resultet in > > "SAS: Host Internal Error: 11" > > Now what does this mean? > > (I'm not the world's greatest SAS-expert, I just had to try and cope > > with it because I accepted a job teaching SAS to archeologists and I'm > > > > still at beginner's level => so please try and reply in proper English > > (or German) and not in SAS-speak...) > > > > Thx in advance > > > > Maria Winter > > ------------------------------ > > Date: Fri, 12 Jul 1996 17:11:54 EDT > From: Lorna Simon <Lorna.Simon@BANYAN.UMMED.EDU> > Subject: Re: Printing Proc Plot from Output Window > > Dear SAS-Lers, > > I have what I hope is a simple problem for more clever minds than mine to > solve. I'm trying to print a simple plot of a daily mood score for a number > of months, one month per page (with a by statement). I'm using linesize=132 > and pagesize=61. In the output window, I can see a point plotted for each > day of the month. But when I print it (landscaped), only about 2/3 of the > points print. The entire X axis does print out, however. Does this have > something to do with my printer, or have I left out some option? I'm using > a Panasonic KX-P2624 dot matrix printer with a Gateway 2000 Pentium 75. Any > ideas would be appreciated. > > Lorna J. Simon, M.A., Research Associate > Center for Psychosocial & Forensic Services Research > Department of Psychiatry > University of Massachusetts Medical School > 55 Lake Avenue North > Worcester, MA 01655-0329 > > Phone: 508-856-5498, 508-793-1550 > FAX: 508-754-5007 > email: lsimon@banyan.ummed.edu > > ------------------------------ > > Date: Fri, 12 Jul 1996 18:02:42 -0400 > From: UTRF048@DSIBM.OKLADOT.STATE.OK.US > Subject: Re: AF vs FRAME > > In article <Pine.SUN.3.92.960711144031.2768M-100000@wubios>, > Mary Bednarski <maryb@WUBIOS.WUSTL.EDU> writes: > > >Hi everyone, > > > >We are using SAS 6.08 on Windows 3.11 but moving toward SAS 6.11. > >We run programs that create reports and perform various data management > >activities via an AF menu system. > > > >Our question is: what are the advantages/disadvantages of FRAME over > > AF? > > > >Mary Bednarski, Programmer > >Washington University School of Medicine > > Mary, SAS/FRAME entries are actually like Visual Basic, i.e. it is > actually SAS's version of OOP. > > Good Luck > Masoud > > ------------------------------ > > Date: Fri, 12 Jul 1996 18:11:26 EDT > From: "F.Joseph Kelley" <JKELLEY@UGA.CC.UGA.EDU> > Subject: OOPS!!! (was: South East SAS Users Group (SESUG) Wants You > > Hi again SESUG attendees ...... > Well, in my haste to provide you with the email address of the SESUG '96 > Conference Registrar, my collegue George Matthews, I managed to send the > alias I have for him in my nicknames file. Sorry George, and SESUG-ers. > For info on registration, use: > > gmatthew@uga.cc.uga.edu George Matthews > > This will work _much_ better. -- Joe > jkelley@uga.cc.uga.edu > > (it's Friday, and I'm getting outta here) > > ------------------------------ > > Date: Fri, 12 Jul 1996 11:26:01 -0400 > From: Paul Wehr <wehrp@AA.WL.COM> > Subject: Re: MVS SAS output conversion to RTF document > > Bruce Kayton wrote: > > > > I am working on a project that proposes to convert MVS SAS reports to an > > RTF document. The objective is to distribute reports via e-mail using > > the RTF document in an e-mail attachment. > > > > Has anyone done something similar or is there a utility that I am not > > aware of? If so I'd appreciate some input. > > > > TIA > > -- > > |Bruce Kayton |"Life is what happens while you're busy | > > |bakayton@ix.netcom.com | making other plans" - John Lennon | > > ----------------------------------------------------------------------- > > We've done a similiar thing at our site. Take a look at > http://pages.prodigy.com/paul_wehr/sugi21.htm#benefits and see if that is > close to what you are looking for. The web document is an HTML version of > the paper I did at SUGI 21. > > If you are interested in the source code, mail me at wehrp@aa.wl.com, and > I would be happy to mail it to you. > > On the other hand, you should be able to mail the original default SAS > output with a MIME type of "text/plain", and bypass RTF altogether. > > Hope this helps, > > -paul > > -- > "Take charge. Think it through. Make it happen." > Paul Wehr Ann Arbor, MI: http://pages.prodigy.com/paul_wehr/ > wehrp@aa.wl.com tnxt15b@prodigy.com traverlks@aol.com > RIP: wally@eworld.com :( > > ------------------------------ > > Date: Fri, 12 Jul 1996 16:48:17 -0700 > From: Paul OldenKamp <oldenkmp@REDWOOD.RT.CS.BOEING.COM> > Subject: Computer Hell and Lost Mail?? > > ---------------------------------------------------------------------- > CONTENT: Computer Hell and Lost Mail?? > REL/PLTF: N/A > E-ADDR: oldenkmp@espresso.rt.cs.boeing.com > NAME: Paul OldenKamp > PHONE: (206)865-4481 > ---------------------------------------------------------------------- > Hello All, > > I have been suffering from the effects of mail disruptions and system > upgrades(?) for the past week. > > While the disruption in the SAS-L was occuring late last week the > support(?) folks here changed my default mail server location. > > When it seemed that I wasn't receiving the SAS-L I sent a subscribe > message to the server. If one is currently subscribed the server just > sends back a message to that effect so there is no adverse consequence. > > This time the server subscribed me to my new address but only a few > scattered messages arrived. When the SAS-L go fixed messages arrived > for both my old mail server and my new one and were stored on my new > one but were not sent to Netscape on my PC since it still pointed to > the old location. > > Then on Monday my Sun was upgraded to Solaris 2.5 and my PC was > upgraded to Windows95. When I went home neither computer worked and > my most of my e-mail seemed to be missing. > > Finally on Wednesday I found where my mail was and transfered two > copies of all the SAS-L messages that had piled up since last week. > I have been cleaning up problems left over from all this for the > last two days. > > I have tried to reply to all messages sent to me personally since > July 3rd and if you have sent me a message and have not received > a reply you may want to resend it. Thanks. > -- > ---------------------------------------------------------------------- > // Paul OldenKamp > // Boeing Commercial Airplane Group . > // P. O. Box 3707, MS 7J-67 |\ > // Seattle, WA 98124-2207 | \____oo_ > //==========================================((__| /___> > // ___ ___ ___ ___ __ | // > // /__// //__ / /\ // _ |// > // /__//__//__ _/_ / //__/ '' > // > > ------------------------------ > > Date: Thu, 11 Jul 1996 20:46:30 GMT > From: Dean Nelson <denelson@FACSTAFF.WISC.EDU> > Subject: Re: trying to get R-squared to 9 decimal places > > In article <4rs8e2$p8m@news.wco.com>, doliov@wco.com says... > > > >Dean Nelson (denelson@facstaff.wisc.edu) wrote: > >:Does anyone know how to get R-squared from an OLS model to 9 decimal places? > >: > >your post piqued my interest. just as a matter of curiosity, why would > >you want the ninth decimal place of an R-square value? > > Evidently, the student with the problem will be calculating some statistic > based on the value of rsquare, and part of the calculation involves either > dividing or multiplying by 280,000, I forget which. > > Another problem has cropped up in this solution. The model he is using has > 68 independent variables. PROC RSQUARE generates all possible regressions... > (pause)...I think you are beginning to see the problem. Anyway, I tried to go > back to the documentation and found that the procedure isn't documented, at > least not in the latest manuals (I just happened to be thumbing through a > version 5 manual when I first came across it). After trying to track down > what happened to it, I finally decided to go back to PROC REG and see if I > could get what I needed there. Here is my quick and dirty solution: > > libname dir 'c:\public'; > > proc reg data=dir.health; > model weight=age height; > output out=reg r=resids; > > proc means data=dir.health noprint; > var weight; > output out=wmean var=totvar; > > proc means data=reg noprint; > var resids; > output out=rmean var=resvar; > > > data _null_; > merge wmean rmean; > rsquare=1-(resvar/totvar); > put rsquare 12.9; > > run; > > > Dean > > ------------------------------ > > Date: Fri, 12 Jul 1996 14:40:37 -0700 > From: Rodney Presley <rpresley@CCLINK.FHCRC.ORG> > Subject: SAS to Excel and back > > SAS running on local WIN NT machine over Novell network. > Excel 7.0 for WIN 95 running from local hard drive. > > Please refer to log below. > > The program appears to work correctly through line 227. Observations > from the SAS data set are written to the Excel spreadsheet. Data is > read from the Excel spreadsheet back into the SAS work file TEMP. It > appears that commands to save the Excel spreadsheet are sent by SAS > but nothing happens. Switching windows reveals that the Excel > spreadhseet is still named BOOK1. > > SI tech support has nothing to say about the commands that are sent to > Excel. Where can I learn more about this for Excel version 7? The > article by Mark Bodt in OBSERVATIONS, Vol. 5, No. 3 is aimed toward > Excel version 4. > > Any suggestions would be appreciated. > > 207 options noxwait noxsync ; > 208 > 209 /* send system command to start excel */ > 210 x cd c:\msoffice\excel > 210 ; > 211 x excel > 211 ; > 212 /* wait for excel to startup. Time varies and must be guessed. > */ > 213 data _null_; > 214 x=sleep(35); > 215 RUN; > > NOTE: The DATA statement used 40.8 seconds. > > > 216 /* filename to send data to spreadsheet */ > 217 filename names DDE 'Excel|[Book1]Sheet1!R1C1:r120c2'; > 218 data _null_ ; > 219 set charges.datadump; > 220 file names notab ; > 221 put fhcrcid '09'x pname ; > 222 run; > > NOTE: The file NAMES is: > FILENAME=Excel|[Book1]Sheet1!R1C1:r120c2, > RECFM=V,LRECL=256 > > NOTE: 77 records were written to the file NAMES. > The minimum record length was 17. > The maximum record length was 30. > NOTE: The DATA statement used 5.73 seconds. > > > 223 data temp; > 224 length pname $50; > 225 infile names truncover ; > 226 input fhcrcid pname $char50. ; > 227 run; > > NOTE: The infile NAMES is: > FILENAME=Excel|[Book1]Sheet1!R1C1:r120c2, > RECFM=V,LRECL=256 > > NOTE: 120 records were read from the infile NAMES. > The minimum record length was 1. > The maximum record length was 29. > NOTE: The data set WORK.TEMP has 120 observations and 2 variables. > NOTE: The DATA statement used 0.87 seconds. > > > 228 /* filename to pass system commands to Excel */ > 229 filename cmds DDE 'excel|system'; > 230 /* send command to Excel to save new worksheet */ > 231 data _null_; > 232 file cmds ; > 233 /* cannot use directories in specification of worksheet */ > 234 put '[file.save.as("temp.xls")]'; > 235 run; > > NOTE: The file CMDS is: > FILENAME=excel|system, > RECFM=V,LRECL=256 > > NOTE: 1 record was written to the file CMDS. > The minimum record length was 26. > The maximum record length was 26. > NOTE: The DATA statement used 6.66 seconds. > > > 236 /* close Excel */ > 237 data _null_; > 238 file cmd; > 239 put '[file.save]'; > 240 put '[file.exit]'; > 241 /* disentagle SAS from the files for Excel system and worksheet > */ > 242 filename cmds clear; > NOTE: Fileref CMDS has been deassigned. > 243 filename names clear ; > NOTE: Fileref NAMES has been deassigned. > 244 > > NOTE: The file CMD is: > FILENAME=c:\msoffice\excel\CMD.DAT, > RECFM=V,LRECL=256 > > NOTE: 2 records were written to the file CMD. > The minimum record length was 11. > The maximum record length was 11. > NOTE: The DATA statement used 0.78 seconds. > > > 245 proc fsview data=temp ; > 246 run; > > NOTE: The PROCEDURE FSVIEW used 4.97 seconds. > > ------------------------------ > > End of SAS-L Digest - 12 Jul 1996 - Special issue > ************************************************* >


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