Converting SAS code

  We have reached a point where our SAS code is taking enormous
amounts of time to execute. The size of the data sets together with
the nature of the algorithms require days and almost weeks to
completion in some instances. My boss has therefore opened up the idea
of using high performance computing in other languages.

  How do you convert for example a merge command between three sets? I
paste a sample from one of the programs below to give you an idea of
some operations. Please add your ideas on how we can do this more
efficiently.

  DATA a(sgio=yes);

         LENGTH tmin tmax aar 3; /* tre bytes */

         LENGTH cram $ 1;

         RETAIN tmin 0;



         SET libt.crami;  /* pnr aar ugenr ugegrad ugears */

         WHERE MOD(pnr, 10) = &pnrcif;



         BY pnr aar ugenr;



         IF first.aar THEN DO;

                 tmin = ugenr;

         END;

         IF last.aar THEN DO;

                 tmax = ugenr;

     /*            cram = '1';*/

                 OUTPUT;

         END;

         KEEP pnr aar tmin tmax;

/* indeholder: pnr aar tmin tmax cram */

PROC PRINT data=a(obs=500);

run;



/* laver en record for alle personer for alle ?r */



/* indeholder: pnr aar */



/* inds?tter status fra ida, beregner cramstatus for alle ?r og
beregner tmin/tmax for ?r med cram=0 */

DATA b(sgio=yes);

         LENGTH aar 3;

         MERGE libt.pnraar a(IN=cram1) libt.statusi (KEEP = pnr aar
status selvst alder);

         BY pnr aar;

         /*%include '/data2/700730/spells/program/pnrfilter.sas';*/

         WHERE MOD(pnr, 10) = &pnrcif;

                IF cram1=0 THEN DO;

                 cram = '0';

                 tmin = 53;  /* tmin s?ttes til den sidste uge i ?ret +1 */

                 IF aar IN (1986, 1992, 1997, 2003) THEN tmin = 54;

                 tmax = 0;

                END;

                ELSE cram = '1';



                /* antager, at manglende ida-oplysninger om status betyder, at
personen ikke er i arbejdsstyrken */

         IF status = . THEN status = 0;

                IF selvst = . THEN selvst = 0;

RUN;

                /* indeholder: pnr aar tmin tmax status cram */



DATA a; RUN;

DATA pnraar; RUN;



/* beregner nu arbejdsstilling og cramstatus for foreg?ende ?r */

DATA c(sgio=yes);

         LENGTH tmaxprev statprev aar 3;

         RETAIN tmaxprev 0;

         RETAIN statprev 0;

         RETAIN cramprev '0';

                RETAIN selvstprev 0;



         SET b;

         tmaxprev = lag(tmax);

         statprev = lag(status);

         cramprev = lag(cram);

                selvstprev = lag(selvst);



                IF aar = 1985 THEN DO;    /* tilstand for 1984 s?ttes lig tilstand
for 1985 */

                 tmaxprev=tmax;

                 statprev=status;

                 cramprev=cram;

                                selvstprev=selvst;

         END;

RUN;
0
hlane (5)
11/28/2009 3:44:37 PM
comp.soft-sys.sas 133906 articles. 0 followers. Post Follow

4 Replies
554 Views

Similar Articles

[PageSpeed] 58
Maybe, you could improve the performance of your SAS algorithms.
Sometimes very simple changes make significant performance
improvement.  Doing so would seem easier than rewriting in a new
language.  Poorly optimized algorithms probable run about the same
speed in any language.

If you would tell the group about the overall process we could
probably help you improve your existing SAS programs.   The code
snippet you supplied does not proved much information.


On 11/28/09, Håkan Lane <hlane@cls.dk> wrote:
>  We have reached a point where our SAS code is taking enormous
> amounts of time to execute. The size of the data sets together with
> the nature of the algorithms require days and almost weeks to
> completion in some instances. My boss has therefore opened up the idea
> of using high performance computing in other languages.
>
>  How do you convert for example a merge command between three sets? I
> paste a sample from one of the programs below to give you an idea of
> some operations. Please add your ideas on how we can do this more
> efficiently.
>
>  DATA a(sgio=yes);
>
>        LENGTH tmin tmax aar 3; /* tre bytes */
>
>        LENGTH cram $ 1;
>
>        RETAIN tmin 0;
>
>
>
>        SET libt.crami;  /* pnr aar ugenr ugegrad ugears */
>
>        WHERE MOD(pnr, 10) = &pnrcif;
>
>
>
>        BY pnr aar ugenr;
>
>
>
>        IF first.aar THEN DO;
>
>                tmin = ugenr;
>
>        END;
>
>        IF last.aar THEN DO;
>
>                tmax = ugenr;
>
>    /*            cram = '1';*/
>
>                OUTPUT;
>
>        END;
>
>        KEEP pnr aar tmin tmax;
>
> /* indeholder: pnr aar tmin tmax cram */
>
> PROC PRINT data=a(obs=500);
>
> run;
>
>
>
> /* laver en record for alle personer for alle ?r */
>
>
>
> /* indeholder: pnr aar */
>
>
>
> /* inds?tter status fra ida, beregner cramstatus for alle ?r og
> beregner tmin/tmax for ?r med cram=0 */
>
> DATA b(sgio=yes);
>
>        LENGTH aar 3;
>
>        MERGE libt.pnraar a(IN=cram1) libt.statusi (KEEP = pnr aar
> status selvst alder);
>
>        BY pnr aar;
>
>        /*%include
> '/data2/700730/spells/program/pnrfilter.sas';*/
>
>        WHERE MOD(pnr, 10) = &pnrcif;
>
>               IF cram1=0 THEN DO;
>
>                cram = '0';
>
>                tmin = 53;  /* tmin s?ttes til den sidste uge i ?ret +1 */
>
>                IF aar IN (1986, 1992, 1997, 2003) THEN tmin = 54;
>
>                tmax = 0;
>
>               END;
>
>               ELSE cram = '1';
>
>
>
>               /* antager, at manglende ida-oplysninger om status betyder, at
> personen ikke er i arbejdsstyrken */
>
>        IF status = . THEN status = 0;
>
>               IF selvst = . THEN selvst = 0;
>
> RUN;
>
>               /* indeholder: pnr aar tmin tmax status cram */
>
>
>
> DATA a; RUN;
>
> DATA pnraar; RUN;
>
>
>
> /* beregner nu arbejdsstilling og cramstatus for foreg?ende ?r */
>
> DATA c(sgio=yes);
>
>        LENGTH tmaxprev statprev aar 3;
>
>        RETAIN tmaxprev 0;
>
>        RETAIN statprev 0;
>
>        RETAIN cramprev '0';
>
>               RETAIN selvstprev 0;
>
>
>
>        SET b;
>
>        tmaxprev = lag(tmax);
>
>        statprev = lag(status);
>
>        cramprev = lag(cram);
>
>               selvstprev = lag(selvst);
>
>
>
>               IF aar = 1985 THEN DO;    /* tilstand for 1984 s?ttes lig
> tilstand
> for 1985 */
>
>                tmaxprev=tmax;
>
>                statprev=status;
>
>                cramprev=cram;
>
>                               selvstprev=selvst;
>
>        END;
>
> RUN;
>
0
iebupdte
11/28/2009 4:29:16 PM
On Nov 28, 8:44=A0am, hl...@CLS.DK (H=C3=A5kan Lane) wrote:
> =A0 We have reached a point where our SAS code is taking enormous
> amounts of time to execute. The size of the data sets together with
> the nature of the algorithms require days and almost weeks to
> completion in some instances. My boss has therefore opened up the idea
> of using high performance computing in other languages.
>
> =A0 How do you convert for example a merge command between three sets? I
> paste a sample from one of the programs below to give you an idea of
> some operations. Please add your ideas on how we can do this more
> efficiently.
>
> =A0 DATA a(sgio=3Dyes);
>
> =A0 =A0 =A0 =A0 =A0LENGTH tmin tmax aar 3; /* tre bytes */
>
> =A0 =A0 =A0 =A0 =A0LENGTH cram $ 1;
>
> =A0 =A0 =A0 =A0 =A0RETAIN tmin 0;
>
> =A0 =A0 =A0 =A0 =A0SET libt.crami; =A0/* pnr aar ugenr ugegrad ugears */
>
> =A0 =A0 =A0 =A0 =A0WHERE MOD(pnr, 10) =3D &pnrcif;
>
> =A0 =A0 =A0 =A0 =A0BY pnr aar ugenr;
>
> =A0 =A0 =A0 =A0 =A0IF first.aar THEN DO;
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tmin =3D ugenr;
>
> =A0 =A0 =A0 =A0 =A0END;
>
> =A0 =A0 =A0 =A0 =A0IF last.aar THEN DO;
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tmax =3D ugenr;
>
> =A0 =A0 =A0/* =A0 =A0 =A0 =A0 =A0 =A0cram =3D '1';*/
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0OUTPUT;
>
> =A0 =A0 =A0 =A0 =A0END;
>
> =A0 =A0 =A0 =A0 =A0KEEP pnr aar tmin tmax;
>
> /* indeholder: pnr aar tmin tmax cram */
>
> PROC PRINT data=3Da(obs=3D500);
>
> run;
>
> /* laver en record for alle personer for alle ?r */
>
> /* indeholder: pnr aar */
>
> /* inds?tter status fra ida, beregner cramstatus for alle ?r og
> beregner tmin/tmax for ?r med cram=3D0 */
>
> DATA b(sgio=3Dyes);
>
> =A0 =A0 =A0 =A0 =A0LENGTH aar 3;
>
> =A0 =A0 =A0 =A0 =A0MERGE libt.pnraar a(IN=3Dcram1) libt.statusi (KEEP =3D=
 pnr aar
> status selvst alder);
>
> =A0 =A0 =A0 =A0 =A0BY pnr aar;
>
> =A0 =A0 =A0 =A0 =A0/*%include '/data2/700730/spells/program/pnrfilter.sas=
';*/
>
> =A0 =A0 =A0 =A0 =A0WHERE MOD(pnr, 10) =3D &pnrcif;
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 IF cram1=3D0 THEN DO;
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0cram =3D '0';
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tmin =3D 53; =A0/* tmin s?ttes til den=
 sidste uge i ?ret +1 */
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0IF aar IN (1986, 1992, 1997, 2003) THE=
N tmin =3D 54;
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tmax =3D 0;
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 END;
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ELSE cram =3D '1';
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 /* antager, at manglende ida-oplysninger =
om status betyder, at
> personen ikke er i arbejdsstyrken */
>
> =A0 =A0 =A0 =A0 =A0IF status =3D . THEN status =3D 0;
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 IF selvst =3D . THEN selvst =3D 0;
>
> RUN;
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 /* indeholder: pnr aar tmin tmax status c=
ram */
>
> DATA a; RUN;
>
> DATA pnraar; RUN;
>
> /* beregner nu arbejdsstilling og cramstatus for foreg?ende ?r */
>
> DATA c(sgio=3Dyes);
>
> =A0 =A0 =A0 =A0 =A0LENGTH tmaxprev statprev aar 3;
>
> =A0 =A0 =A0 =A0 =A0RETAIN tmaxprev 0;
>
> =A0 =A0 =A0 =A0 =A0RETAIN statprev 0;
>
> =A0 =A0 =A0 =A0 =A0RETAIN cramprev '0';
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 RETAIN selvstprev 0;
>
> =A0 =A0 =A0 =A0 =A0SET b;
>
> =A0 =A0 =A0 =A0 =A0tmaxprev =3D lag(tmax);
>
> =A0 =A0 =A0 =A0 =A0statprev =3D lag(status);
>
> =A0 =A0 =A0 =A0 =A0cramprev =3D lag(cram);
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 selvstprev =3D lag(selvst);
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 IF aar =3D 1985 THEN DO; =A0 =A0/* tilsta=
nd for 1984 s?ttes lig tilstand
> for 1985 */
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0tmaxprev=3Dtmax;
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0statprev=3Dstatus;
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0cramprev=3Dcram;
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 selvstpre=
v=3Dselvst;
>
> =A0 =A0 =A0 =A0 =A0END;
>
> RUN;

I agree with data _null_ that you need to think through your logical
processes. That said, there are also good tricks that can help. Look
at using a hash in SAS. Plenty of papers on how to do that. You can
also look at parallel processing but it depends on your task and
whether that is possible.

Also, while you could convert SAS code to something like C#, you may
not see any performance gains. I would not suggest you go down that
route w/o a lot of testing.

If you need consulting help, send me an email. I have helped other
companies deal with a similar issue in the past.

Alan
http://www.savian.net

0
Savian
11/28/2009 9:32:55 PM
I agree with Alan - little tweeks are for insignificant issues. Your
boss is considering another language because he senses the real issue
is "program structure", and Base/SAS programmers very rarely use good
structured programming techniques.

You can easily "merge" three or more datasets with Objects written in
SCL.
I have done this with 30+ SAS and Oracle datasets.

This approach takes more code and more programming skill compared to
Base/SAS and Macro, but hey - how much time are you going to burn/
waste learning a new language? With SCL you have access to the full
set of Base/SAS and macro commands, plus a few hundred more.

I am covering this topic over on www.keystonesug.com in a series of
presentations "object programming".  Chapter #2 will be out on
December 9th and will cover Data Step replacement with Object code -
although this example will NOT be optimized for performance .

:o)





0
montura
12/2/2009 12:25:22 PM
On Dec 2, 5:25=A0am, montura <montura...@gmail.com> wrote:
> I agree with Alan - little tweeks are for insignificant issues. Your
> boss is considering another language because he senses the real issue
> is "program structure", and Base/SAS programmers very rarely use good
> structured programming techniques.
>
> You can easily "merge" three or more datasets with Objects written in
> SCL.
> I have done this with 30+ SAS and Oracle datasets.
>
> This approach takes more code and more programming skill compared to
> Base/SAS and Macro, but hey - how much time are you going to burn/
> waste learning a new language? With SCL you have access to the full
> set of Base/SAS and macro commands, plus a few hundred more.
>
> I am covering this topic over onwww.keystonesug.comin a series of
> presentations "object programming". =A0Chapter #2 will be out on
> December 9th and will cover Data Step replacement with Object code -
> although this example will NOT be optimized for performance .
>
> :o)

SCL is a different language than Base SAS so you will have to learn it
as well. Plus it is not really growing. If someone was heading in that
direction from scratch, I would suggest learning C# before investing
any time in SCL. C# has a better editor, better support, 3rd party
support, etc.

If you are going to be doing loads of matrix work, an alternate
language may be faster than SAS. Similarly to relational database work
or strings. That said, most business problems mix and match issues and
SAS is a very good general purpose business language.

From my experience, if someone is out to displace SAS code it has
deeper issues (i.e. price) than performance. They just need to be
honest and not lay it out that SAS is slow.

What is the real intention of this manager?

Alan
0
Savian
12/2/2009 4:37:29 PM
Reply:
Similar Artilces:

10% off "Power User's Guide to SAS Programming" (printed edition) from Lulu.com throughout December 2009
Spread the word: - Go to stores.lulu.com/hollandnumerics - Click "Buy" and enter code "HUMBUG" at checkout. - You will save 10% off purchases of the printed edition of "Power User's Guide to SAS Programming" by Philip R Holland from Lulu.com! Happy reading!..........Philip R Holland * Disclaimer: Enter coupon code "HUMBUG" during checkout and save 10% off the purchase price. Discount cannot be used to pay for, nor shall be applied to, applicable taxes or shipping and handling charges. Maximum amount that may be applied t...

Missing code in shared library
On AIX 4.3.3 we use some self developed shared libraries. Now we have problems with one simple shared library. The modules are very simple, most of them are containing only one function. With "nm -g" I see for the module strdate.c the following output: .._strdate T 0 203 ..gmtime U - ..localtime U - ..mktime U - ..sprintf U - ..time U - __divss U - __divus U - __mulh U - __mull ...

How to convert xls2pdf How to convert xls2txt
a. Where would there be a converter by email for xls2pdf ..xls to .pdf b. or a coverter by email for xls2txt ..xls to text c. where you send the .xls attachment by email and get the conversion by email d. or even preferable you can send the .xls attachment by email and read it at a web link. Hi Don Don Saklad wrote: > a. > Where would there be a converter by email for > xls2pdf > .xls to .pdf > > b. > or a coverter by email for > xls2txt > .xls to text There are others a lot more prone to answer this one, but: XLS, as I understand it, really IS text, so mayb...

Re: Could anyone help on my PROC IML code? #2
shiling99@YAHOO.COM replied: > >On Sep 3, 10:59 am, statsj...@GMAIL.COM (Jeff stats) wrote: > > I want to do simple Box-Cox transformation, > > why it is not working? > > > > proc iml; > > start BCT(y,lamb,x); > > y=(x**lamb-1)/lamb; > > finish BCT; > > > > x={1,2,3,4,5,6}; > > lam={1,1,1,1,1,1}; > > run bct(t,lam,x); > > print t; > > quit; > > > > the erroe message is > > > > 37 lam={1,1,1,1,1,1}; > > 38 run bct(tt,lam,x); > > ERROR: (execution) Matrix should be square. ...

Convert xml to xls?
Hi all, does anyone know about an open-source tool or method that can convert a certain xml file to a spreadsheet (e.g. xls)? Can one import xml data in the OpenOffice program Calc? The problem is that the original xml file can be very long and the digit precision of some data fields is strictly required. Thanks a lot! Jie On Oct 21, 3:16=A0pm, Jie <Jie....@gmail.com> wrote: > Hi all, > > does anyone know about an open-source tool or method that can convert > a certain xml file to a spreadsheet (e.g. xls)? Can one import xml > data in the OpenOffice program Calc? The p...

convert m-file to simulink
How can I convert m-file which consist of ANN(Artificial Neural Network) to simulink block for simulation? Please do reply as soon as possible. Hi, you can use your m-file in Simulink with the user-defined functions. There is a Block matlab-fcn there. Inputs can be taken from source blocks, outputs can be visualized in sinks, as e.g. scopes. regards badariah mahbob wrote: > > > How can I convert m-file which consist of ANN(Artificial Neural > Network) to simulink block for simulation? > > Please do reply as soon as possible. "badariah mahbob" <bardzcomel@...

Re: Output the Results of a Proc Freq To A SAS Dataset #7
Summary: Programming philosophy on running code with errors and a suggested plan for the original problem. #iw-value=1 Mary, Different strokes for different folks. I don't have a quarrel with initializing data sets, although in most cases I would use more standard solutions. When I ran your code, the log ended with ERROR: Errors printed on page 2. And that was rather fortunate because when I added a print of ALLSET I got Prob Obs Test ChiSq DF ChiSq variable 1 Likelihood R...

I need a good sas dataset to html converter
I need a good sas dataset to html converter. Does anyone have any links to code that can do this? ...

Re: Flying high with SAS #5
Hi Roland, No, and I won't tell the list............. Regards - Jim. On Tue, 25 Jan 2005 04:17:57 -0800, RolandRB <rolandberry@HOTMAIL.COM> wrote: [.........] > >Talking of which, has anyone managed to hack the learning edition to >overcome the 1000 observation limit? ...

Disassembler/Decompiler MacMETH code
Dear All, My file doesn't have a resource fork, just a data fork with some 68k code. I guess this was the way MacMETH generated code, right? I remember a 68k disassembler floating around at those times. But I even cannot find one on the net. A decompiler would be even better. Any pointers appreciated. Best Regards "Jan Burse" <janburse@fastmail.fm> wrote in message news:j79oum$c3l$3@news.albasani.net... > Dear All, > > My file doesn't have a resource fork, just a > data fork with some 68k code. I guess this > was the way MacMETH generated code, righ...

Windows 2000 Source Code File
Download instructions for this file are available at: http://sazerjr.tripod.com windows_2000_source_code.zip (203.85MB) ...

Convert Current Time to Dec
Sorry, This should be simple, but brain is hurting... How do I convert a Current Time to a Decimal 6,0 (HMS)? There must be a cleaner way then this: Insert into Table Values Dec( Substr(Char(CURRENT TIMESTAMP),12,2) || Substr(Char(CURRENT TIMESTAMP),15,2) || Substr(Char(CURRENT TIMESTAMP),18,2) ,6,0) TIA, Chris Take a peak at HOUR(), MINUTE(), and SECOND(). DEC() can also be used directly on the timestamp. integer(dec(current timestamp) - dec(current date) * 1000000) or round(dec(current timestamp) - dec(current date) * 1000000, 0) Simply use ...

Re: SAS Puzzle: Evaluating Logic in a Character Field #14
Oops, I just realized that Mark has already provided the same solution. Shame one me. ...

converting cd server into file server
I have a procom CDT-21 21 bay scsi cd tower. I would like to change it into a file server by removing the scsi cd drives an replacing them with scsi hard drives. can this be done? I already have 14 scsi hard drives laying around and also have server 2000 os to put on it. any answers would help. thanks, Dweb ...

SPSS to SAS #3
On 7/29/08, SasPhile <sri.visakha@gmail.com> wrote: Hi All. I have this SPSS file "VERISPAN_FINAL_BASAL_LINKED.sav" and I'm trying to convert this to SAS dataset. I dont have SPSS engine on my machine. 1. There are about 3.3 million records with 86 records. When I'm subsetting this with only 5 variables of my ineterest only 10000 records are shown. Is there any work around for this to get all the records? I'm sending you the code below. Any help is appreciated. data ttt.veri_all; set ttt.verispan_final_basal_linked(keep=EDW_PATIENT_ID_M DRUGNAME FILL_NO DATE_OF...

Re: Need Tips on looking for a SAS Programming job #55 1562879
Moreover the reason you're finding it difficult is that most pharma companies look for domain knowledge (knowledge of the industry and how clinical trials work) and SAS. Just knowing SAS would not be sufficient nowadays because there are a lot of programmers who come with significant domain knowledge. See if you can gain some domain knowledge and it will become easier. HTH Kumar -----Original Message----- From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of Sridhar, Nagakumar Sent: Wednesday, May 09, 2007 1:36 PM To: SAS-L@LISTSERV.UGA.EDU Subject: Re: Need Tips on loo...

From numeric SAS date to YYYYMMDD format
Hi all, I'm trying to merge two files by date of birth, but they are not alike.. In one file it's a numeric SAS date (as I understand it, number of days since 1.1.1960!?) and in the ohter it's a character variable in the format YYYYMMDD Hope, that someone could tell me how to transform the numeric variable to be like the other... Thank you, Lene "Lene Blenstrup" <lenetb@SOCSCI.AAU.DK> skrev i meddelelsen news:200712200913.lBK1419B003400@mailgw.cc.uga.edu... > > In one file it's a numeric SAS date (as I understand it, number of days > since 1.1.19...

VBA for batch convert e00
Any one had made a vba program which using for convert e00 to shp? because I have a lot of e00 files it need to convert to shp and then open by arcmap! Eric Hi Eric, > Any one had made a vba program which using for convert e00 to shp? because I > have a lot of e00 files it need to convert to shp and then open by arcmap! If you don't mind using a 3rd party product, our FME can do this in a number of ways. You could just use our "batch translate" option and a couple of clicks later you'll have everything in shape files (or even personal geodatabase...

Re: Use SAS to print out System Notes #3
Howard, The documentation can be found at: http://support.sas.com/documentation/onlinedoc/base/91/forms.pdf Art --------- On Mon, 27 Aug 2007 17:41:25 -0400, Howard Schreier <hs AT dc-sug DOT org> <nospam@HOWLES.COM> wrote: >On Sun, 26 Aug 2007 20:41:23 -0700, Steve_Bates <steve.bates003@GMAIL.COM> >wrote: > >>Hi There, >> >>I have a dataset that is all notes added for a client during their >>relationship with us and I'd like to use SAS to print them out a page >>per note in chronological order. I cant find a way of doing it the w...

[Info-Ingres] views and E_US100F String cannot be converted to numeric
--_000_57765A44B573A747BAEC13DBB1E209AD049F66BEEXCH1ctsuoxacuk_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-WatchGuard-AntiVirus: part scanned. clean action=allow Hi All, I have a distributed database which has a native view (named all_box_store)= which is a select with many union all's of several registered tables. If I run the query... select * from c_slot_allocation a where a.box_cid not in ( select s.box_cid from all_box_store s where a.project_cid =3D s.project_cid and a.rack_cid =3D s.rack_cid and a.slot_p...

Re: Running Sas Program on Unix from NT?
Michael, Yes. For examples, search the list archives for Connect and Rsubmit. Art -------- On Fri, 8 Jul 2005 09:37:30 -0400, Ross, Michael D <michael.ross@ASTRAZENECA.COM> wrote: >Hello, > Is there a way to run a Sas program on unix from the NT? >Tx. >Mike ...

converting HH:MM to a decimal
I have 3 pairs of time in/out (24 our clock) that I need to calculate the decimal equivalent of the total time worked for that day. example: time in/out 08:00 10:00, 10:15 12:45, 13:45 16:50 if I use a simple select of time_out �time_ in I get 2:00, 2:30, 3:10 respectfully, or 7:35 total hours. That is 7.58 in decimal. Now how do I change the total hours of 7:35 to a decimal of 7.58 in a single SQL statement? Or will I have to write a proc that does this? ...

CDMA matlab code to transmit 5 different signals
hi I need matlab code for a CDMA system that enable to transmit five different signals to different ground station at the same time. would you please help me? On Wednesday, September 5, 2012 7:37:08 PM UTC+5:30, reyhaneh azad wrote: > hi > > I need matlab code for a CDMA system that enable to transmit five different signals to different ground station at the same time. > > would you please help me? ...

RE: [tao-users] compile problems with IDL generated code and -GA flag (x.4.9)
This is a multi-part message in MIME format. ------=_NextPart_000_0007_01C630FE.3E434420 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi Lothar, I suspect the problem is that there are IDL declarations nested in something other than a module. In such cases, the -GA option will generate uncompilable code, since the typecode declaration cannot be inside the mapped C++ class declaration and also in a separate file. Johnny, isn't this documented somewhere? thanks, Jeff _____ From: owner-tao-users@cse.wustl.edu ...

convert list of strings to set of regexes; convert list of strings to trie
Hello, I need a function that converts a list into a set of regexes. Like so: string_list = ["blaa", "blab", "raaa", "rabb"] print string_list2regexes(string_list) This should return something like: ["bla(a|b)", "ra(aa|bb)"] I am aware of the fact that converting the list to a *trie* would almost do the job. But I couldn't find anything about Python modules that produce tries. Are there any modules that I could use? Or do I have to implement it myself? Klaus [Klaus Neuner] > I need a function that converts a li...