<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Code running slow in SAS in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408224#M279444</link>
    <description>&lt;P&gt;If you can't get the program to finish my advice would be to run it step by step until you find something that doesn't finish - my guess is it'll be the Proc Reg but if you run it as I suggest at least you'll know where to concentrate your efforts.&lt;/P&gt;</description>
    <pubDate>Sat, 28 Oct 2017 08:54:02 GMT</pubDate>
    <dc:creator>ChrisBrooks</dc:creator>
    <dc:date>2017-10-28T08:54:02Z</dc:date>
    <item>
      <title>Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408219#M279443</link>
      <description>&lt;P&gt;Hi All,&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm running the codes below on two data sets but its taking extremely long to process. I don't really know what is wrong with my codes that is taking too long to process when i run. I have about 9700 firms in one data set and in another&amp;nbsp; data set a list of firms connected to each of the 9700 firms. Due to the slowness i did&amp;nbsp; run from 1-50 firms&amp;nbsp; but that is even not processing after a day. The code gives no errors. Any advice for me to correct the slowness. Thanks in advance for the help. Regards ejaa.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*****getiing the count of number of lpermno in help*****/&lt;BR /&gt;proc sql noprint; select count(lpermno) into: A from ase.help ; quit ;&lt;/P&gt;&lt;P&gt;%put &amp;amp;A ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/********getting a sequence order to observations**********/&lt;BR /&gt;Data ase.help ;&lt;BR /&gt;Set ase.help;&lt;BR /&gt;Retain seq 0 ;&lt;BR /&gt;Seq = seq + 1 ;&lt;BR /&gt;run ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*******Transpose help to get long format*********************/&lt;BR /&gt;proc transpose data=ase.help out=ase.help_trans;&lt;BR /&gt;by lpermno seq;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data ase.help_trans (Rename = (COL1 = companyid)) ;&lt;BR /&gt;Set ase.help_trans ;&lt;BR /&gt;Where COL1 ne . ;&lt;BR /&gt;Run ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%let C1 = 1 ;&lt;BR /&gt;%let c2 =&amp;nbsp;50 ;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/***********Separating each set of firms attched to lpermno*************/&lt;/P&gt;&lt;P&gt;%macro rpt;&lt;/P&gt;&lt;P&gt;%Do R = &amp;amp;C1 %to &amp;amp;C2;&lt;/P&gt;&lt;P&gt;data ase.lp&amp;amp;R. (rename = (Seq = seq&amp;amp;R.)) ;&lt;BR /&gt;Set ase.help_trans ;&lt;BR /&gt;Where seq = &amp;amp;R ;&lt;BR /&gt;Run ;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc sort data = ase.lp&amp;amp;R.; by companyid ; run ;&lt;BR /&gt;%end ;&lt;BR /&gt;%mend rpt ;&lt;/P&gt;&lt;P&gt;%rpt ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/***********Merge separated sets to help1******************/&lt;/P&gt;&lt;P&gt;Proc sort data = ase.help1 ; By companyid ; run ;&lt;/P&gt;&lt;P&gt;%macro rpt1;&lt;BR /&gt;%Do R = &amp;amp;C1 %to &amp;amp;C2;&lt;BR /&gt;data ase.com_1 ;&lt;BR /&gt;Merge ase.lp1 - ase.lp&amp;amp;R. ;&lt;BR /&gt;By companyid ;&lt;BR /&gt;run ;&lt;BR /&gt;%end ;&lt;BR /&gt;%mend rpt1 ;&lt;/P&gt;&lt;P&gt;%rpt1 ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Proc sort data = ase.com_1 ; By companyid ; run ;&lt;/P&gt;&lt;P&gt;data ase.com ;&lt;BR /&gt;Merge ase.help1(in= a drop = lpermno ) ase.com_1 ;&lt;BR /&gt;By companyid ;&lt;BR /&gt;If a ;&lt;BR /&gt;run ;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/**************Select different lpermno from help********************/&lt;/P&gt;&lt;P&gt;%macro rpt2;&lt;BR /&gt;%Do R = &amp;amp;C1 %to &amp;amp;C2;&lt;BR /&gt;Proc sort data = ase.lp&amp;amp;R. nodupkey out = ase.f&amp;amp;R.; By lpermno ; run ;&lt;BR /&gt;%end ;&lt;BR /&gt;%mend rpt2 ;&lt;/P&gt;&lt;P&gt;%rpt2 ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/***************************merge lpermno from help to help 1 *****************************/&lt;BR /&gt;Proc sort data = ase.help1 ; By lpermno ; run ;&lt;/P&gt;&lt;P&gt;%macro rpt3;&lt;BR /&gt;%Do R = &amp;amp;C1 %to &amp;amp;C2;&lt;BR /&gt;Data ase.Com_long1 ;&lt;BR /&gt;merge&amp;nbsp; ase.f1 - ase.f&amp;amp;R. ;&lt;BR /&gt;by lpermno ;&lt;BR /&gt;Run ;&lt;BR /&gt;%end ;&lt;BR /&gt;%mend rpt3 ;&lt;/P&gt;&lt;P&gt;%rpt3 ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data ase.Com_long ;&lt;BR /&gt;merge ase.help1 (in = a) ase.Com_long1 ;&lt;BR /&gt;by lpermno ;&lt;BR /&gt;If a ;&lt;BR /&gt;Run ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*************Getting different sets of firms out of help1***********************/&lt;BR /&gt;%macro rpt4;&lt;BR /&gt;%Do R = &amp;amp;C1 %to &amp;amp;C2;&lt;BR /&gt;data ase.sum&amp;amp;R. ;&lt;BR /&gt;Set ase.com ;&lt;BR /&gt;where seq&amp;amp;R. = &amp;amp;R ;&lt;BR /&gt;Run ;&lt;BR /&gt;Proc sort data = ase.sum&amp;amp;R. ; By date ; run ;&lt;BR /&gt;%end ;&lt;BR /&gt;%mend rpt4 ;&lt;/P&gt;&lt;P&gt;%rpt4 ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*******getting mean prices by date in all the sets*************************/&lt;BR /&gt;%macro rpt5;&lt;BR /&gt;%Do R = &amp;amp;C1 %to &amp;amp;C2;&lt;BR /&gt;proc summary data = ase.sum&amp;amp;R. ;&lt;BR /&gt;by date;&lt;BR /&gt;var vol;&lt;BR /&gt;output out=ase.sum_&amp;amp;R. mean=beta_vol ;&lt;BR /&gt;run;&lt;BR /&gt;%end;&lt;BR /&gt;%mend rpt5 ;&lt;/P&gt;&lt;P&gt;%rpt5 ;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/********************separating lpermno to different sets from help1*********************************/&lt;BR /&gt;%macro rpt6;&lt;BR /&gt;%Do R = &amp;amp;C1 %to &amp;amp;C2;&lt;BR /&gt;data ase.price&amp;amp;R. ;&lt;BR /&gt;Set ase.Com_long ;&lt;BR /&gt;where seq&amp;amp;R. = &amp;amp;R ;&lt;BR /&gt;Run ;&lt;BR /&gt;%end ;&lt;BR /&gt;%mend rpt6 ;&lt;/P&gt;&lt;P&gt;%rpt6 ;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/***********************Merging matching lpermno and attched firms by date*********************************/&lt;BR /&gt;%macro rpt7 ;&lt;BR /&gt;%Do R = &amp;amp;C1 %to &amp;amp;C2;&lt;BR /&gt;data ase.final&amp;amp;R.(drop = _TYPE_ _FREQ_ _NAME_ ) ;&lt;BR /&gt;Merge ase.price&amp;amp;R. (in = a) ase.sum_&amp;amp;R. (in = b) ;&lt;BR /&gt;By date ;&lt;BR /&gt;If a and b ;&lt;BR /&gt;run ;&lt;BR /&gt;%end ;&lt;BR /&gt;%mend rpt7 ;&lt;/P&gt;&lt;P&gt;%rpt7 ;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/************************Getting regression of each set**********************************/&lt;BR /&gt;%macro rpt8;&lt;BR /&gt;%Do R = &amp;amp;C1 %to &amp;amp;C2;&lt;BR /&gt;proc reg data=ase.final&amp;amp;R. outest = ase.result&amp;amp;R. ;&lt;BR /&gt;By lpermno ;&lt;BR /&gt;model vol = beta_vol stk ;&lt;BR /&gt;run;&lt;BR /&gt;%end ;&lt;BR /&gt;%mend rpt8 ;&lt;/P&gt;&lt;P&gt;%rpt8 ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/**********getting results together****************************/&lt;/P&gt;&lt;P&gt;%macro rpt9;&lt;BR /&gt;%Do R = &amp;amp;C1 %to &amp;amp;C2;&lt;BR /&gt;Data ase.reg1 ;&lt;BR /&gt;Set ase.result1 - ase.result&amp;amp;R. ;&lt;BR /&gt;run;&lt;BR /&gt;%end ;&lt;BR /&gt;%mend rpt9 ;&lt;/P&gt;&lt;P&gt;%rpt9 ;&lt;/P&gt;&lt;P&gt;/**********************END********************************/&lt;/P&gt;</description>
      <pubDate>Sat, 28 Oct 2017 05:42:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408219#M279443</guid>
      <dc:creator>EJAA</dc:creator>
      <dc:date>2017-10-28T05:42:43Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408224#M279444</link>
      <description>&lt;P&gt;If you can't get the program to finish my advice would be to run it step by step until you find something that doesn't finish - my guess is it'll be the Proc Reg but if you run it as I suggest at least you'll know where to concentrate your efforts.&lt;/P&gt;</description>
      <pubDate>Sat, 28 Oct 2017 08:54:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408224#M279444</guid>
      <dc:creator>ChrisBrooks</dc:creator>
      <dc:date>2017-10-28T08:54:02Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408228#M279445</link>
      <description>&lt;P&gt;Examine your log and look at the "real time" lines after each step. Especially the ones that show a high ratio between real time and cpu time are suspect and candidates for improvement. Also explain your data in more detail. Are they SAS datasets or tables in a DBMS? Do you use indexes? Maybe sorting will help? Performance is an elaborate field of expertise and lots of info is required before anyone can help. Share a sample of your data and above all your logs in this forum. The first commandment of performance analysis is " Thou Shalt Read Log Files". Use FULLSTIMER and MSGLEVEL=I options for more detailed info. And in case of macro's, use at least the MPRINT, SYMBOLGEN and MLOGIC options as well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hop this helps,&lt;/P&gt;
&lt;P&gt;- Jan.&lt;/P&gt;</description>
      <pubDate>Sat, 28 Oct 2017 10:22:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408228#M279445</guid>
      <dc:creator>jklaverstijn</dc:creator>
      <dc:date>2017-10-28T10:22:47Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408239#M279446</link>
      <description>&lt;P&gt;Just spot-checking the program, the design looks like it will take about 25 times what it needs to.&amp;nbsp; Let me give you just a couple of examples, so you can rethink the process.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example 1:&amp;nbsp; %RPT&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This step reads the data set ASE.HELP_TRANS 50 times, once for each iteration of the %DO loop.&amp;nbsp; Better planning would read the data set just once, and would create all 50 data sets with one pass through the data.&amp;nbsp; Just a brief example to give you the idea:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sort data=ase.help_trans;&lt;/P&gt;
&lt;P&gt;by company_id;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data ase.lp1 (rename=(seq=seq1))&lt;/P&gt;
&lt;P&gt;ase.lp50 (rename=(seq=seq50));&lt;/P&gt;
&lt;P&gt;set ase.help_trans;&lt;/P&gt;
&lt;P&gt;if seq=1 then output ase.lp1;&lt;/P&gt;
&lt;P&gt;else if seq=50 then output ase.lp50;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The use of macro language would get a little more complex than what you have now.&amp;nbsp; Is that worth it, to cut out 95% of the time?&lt;/P&gt;
&lt;P&gt;By sorting first, you can eliminate the need for 50 sorts (albeit on smaller data sets) later.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example 2:&amp;nbsp; %RPT1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It's not clear if this step contains a typo, because it re-creates the same data set 50 times.&amp;nbsp; Each iteration replaces ASE.COM_1 with a new version.&amp;nbsp; If that's the intent, there is no need for the first 49 iterations.&amp;nbsp; If that's a typo, the program is still inefficient.&amp;nbsp; Assuming that the output should actually be named ASE.COM_&amp;amp;R the process should be simplified so that the interior of the loop reads:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;SPAN&gt;data ase.com_&amp;amp;R ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Merge ase.lp%EVAL(&amp;amp;R-1)&amp;nbsp; ase.lp&amp;amp;R. ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;By companyid ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;run ;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The first iteration would need a little extra attention, so that you don't merge a data set with itself.&amp;nbsp; But once you get to the 50th iteration, there is no need to merge 50 data sets.&amp;nbsp; Just merge 2 data sets (one of which is the merged result from the 49th iteration).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In summary, these are just a couple of examples.&amp;nbsp; The program was designed looking at only small pieces of the process and using macro language to repeat them 50 times.&amp;nbsp; A better approach would look at the larger process, and design something that requires much less work on the computer's part.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 28 Oct 2017 14:20:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408239#M279446</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-10-28T14:20:48Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408275#M279447</link>
      <description>&lt;P&gt;How many rows are your data sets?&lt;/P&gt;</description>
      <pubDate>Sat, 28 Oct 2017 18:02:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408275#M279447</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-10-28T18:02:36Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408456#M279448</link>
      <description>&lt;P&gt;What&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding&lt;/a&gt;&amp;nbsp;said.&lt;/P&gt;
&lt;P&gt;You seem to be doing the same thing over and over gain on tiny bits of data.&lt;/P&gt;
&lt;P&gt;Please post and small data example of where you start from and what you want to obtain, and it can probably be derived in a few steps.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Oct 2017 03:16:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408456#M279448</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-10-30T03:16:33Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408462#M279449</link>
      <description>&lt;P&gt;The number of rows for the data set with 9700 firms is&amp;nbsp;&lt;STRONG&gt;19725636&amp;nbsp;&lt;/STRONG&gt;while the other is having 7927 rows. Thanks.&lt;/P&gt;</description>
      <pubDate>Mon, 30 Oct 2017 04:16:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408462#M279449</guid>
      <dc:creator>EJAA</dc:creator>
      <dc:date>2017-10-30T04:16:25Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408474#M279450</link>
      <description>&lt;P&gt;Hi ChrisNZ&lt;/P&gt;&lt;P&gt;Thanks for the direction.&lt;/P&gt;&lt;P&gt;Please attached sample data.Thanks in advance for the help. regards&lt;/P&gt;</description>
      <pubDate>Mon, 30 Oct 2017 05:03:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408474#M279450</guid>
      <dc:creator>EJAA</dc:creator>
      <dc:date>2017-10-30T05:03:33Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408480#M279451</link>
      <description>&lt;P&gt;Please don't ask us to do all your work. &lt;BR /&gt;Please post a &lt;STRONG&gt;small&lt;/STRONG&gt; data &lt;STRONG&gt;example&lt;/STRONG&gt; of where you start from &lt;STRONG&gt;and&lt;/STRONG&gt;&amp;nbsp;&lt;STRONG&gt;what you want to obtain&lt;/STRONG&gt;. Typically 100 observations is sufficient.&lt;/P&gt;</description>
      <pubDate>Mon, 30 Oct 2017 05:25:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408480#M279451</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-10-30T05:25:20Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408483#M279452</link>
      <description>&lt;P&gt;Thanks ChrisNZ.&lt;/P&gt;&lt;P&gt;Attached is a small sample of my dataset with reference to the nature of the data. In the end i want to obtain regression output for each firm. Thanks.&lt;/P&gt;</description>
      <pubDate>Mon, 30 Oct 2017 05:52:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408483#M279452</guid>
      <dc:creator>EJAA</dc:creator>
      <dc:date>2017-10-30T05:52:43Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408897#M279453</link>
      <description>&lt;P&gt;Feel free to not bother supplying&amp;nbsp;the basic information that's&amp;nbsp;necessary to answer your question, and to not getting answers.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's an example of how it's done: &lt;A href="https://communities.sas.com/t5/General-SAS-Programming/Creating-time-intervals-based-on-two-date-variables/m-p/406737#M51131" target="_blank"&gt;https://communities.sas.com/t5/General-SAS-Programming/Creating-time-intervals-based-on-two-date-variables/m-p/406737#M51131&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Oct 2017 20:37:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408897#M279453</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-10-30T20:37:28Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408961#M279454</link>
      <description>&lt;P&gt;Hi ChrisNZ.&lt;/P&gt;&lt;P&gt;Thanks once again.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Following your direction, this is how my dataset looks like:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data set “help” contains the number of firms connected to each firm.d1-d3 are companyid’s of firms connected to for instance firm with lpermno 10001.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;CompanyID &amp;nbsp;&amp;nbsp;lpermno &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;d1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;d2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;10675&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;10001&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8433&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1723398 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;620983&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10002&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;576969&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;8433&amp;nbsp; &amp;nbsp;&lt;BR /&gt;959&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10025&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;576969&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;1723398 &amp;nbsp; &amp;nbsp;&lt;BR /&gt;9137&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10028 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2070824&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;18195 &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data set “help1” contains daily volume and skt_returns for 9700 firms.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;CompanyID &amp;nbsp;&amp;nbsp;lpermno &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;date &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volume &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stk_returns&lt;BR /&gt;10675&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;10001&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/03/2000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;142 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.40&lt;BR /&gt;10675&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10001&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/04/2000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;245&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;10675&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;01/05/2000&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;285&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.42&lt;BR /&gt;10675&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10001 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/07/2000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;181&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.43 &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;10675&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;10001&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/10/2000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;149 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.44&lt;BR /&gt;620983&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 10002&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/03/2000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.30&lt;BR /&gt;620983&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 10002&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/04/2000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;280&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;620983&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;10002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;01/05/2000&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;230&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.32&lt;BR /&gt;620983&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;10002 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/07/2000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;190&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.33 &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;620983&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 10002&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/10/2000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;240&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.34&lt;/P&gt;&lt;P&gt;8433&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;10003&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/03/2000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;300 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.10&lt;BR /&gt;8433&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;10003&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/04/2000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;380&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;8433&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10003&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;01/05/2000&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;330&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.12&lt;BR /&gt;8433&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10003 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/07/2000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;390&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.13 &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;8433&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;10003&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/10/2000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;340 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.14&lt;/P&gt;&lt;P&gt;576969&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 10004 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/03/2000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;400 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.80&lt;BR /&gt;576969&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 10004&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/04/2000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;480&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.85&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;576969&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;10004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;01/05/2000&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;430&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.82&lt;BR /&gt;576969&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;10004 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/07/2000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;490&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.83 &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;576969&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 10004&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/10/2000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;440 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.84&lt;/P&gt;&lt;P&gt;1723398&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 10000 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/03/2000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;500 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.60&lt;BR /&gt;1723398&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 10000&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/04/2000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;580&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.65&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;1723398&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;10000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;01/05/2000&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;530&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.62&lt;BR /&gt;1723398&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;10000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/07/2000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;590&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.63 &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;1723398&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 10000&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/10/2000 &amp;nbsp; &amp;nbsp; &amp;nbsp; 500 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.64&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Final Table for firm with id 10001.&lt;/P&gt;&lt;P&gt;CompanyID &amp;nbsp;&amp;nbsp;lpermno &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;date &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volume &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stk_returns&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; beta_volume (obtained from firms connected to firm 10001)&lt;BR /&gt;10675&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;10001&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/03/2000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;142 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.40&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 21&lt;BR /&gt;10675&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10001&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/04/2000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;245&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;30&lt;/SPAN&gt;&lt;BR /&gt;10675&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;01/05/2000&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;285&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.42&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 40&lt;BR /&gt;10675&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10001 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/07/2000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;181&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.43&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 84&lt;/P&gt;&lt;P&gt;10675&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;10001&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/10/2000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;149 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.44&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;41&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;From data set help, I first create a portfolio of firms &amp;nbsp;connected to each firm from data set help1 to obtain portfolio of their volume called beta_volume (mean of volume for each day). I then created dataset for each firm&amp;nbsp; obtain the "final table" shown above. In the end, I run a regression where I regress volume on beta volume and stk_returns for each firm. This the work i used the earlier codes i posted to do.Thanks very much.&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;ejaa.&lt;/P&gt;</description>
      <pubDate>Tue, 31 Oct 2017 02:29:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408961#M279454</guid>
      <dc:creator>EJAA</dc:creator>
      <dc:date>2017-10-31T02:29:10Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408987#M279455</link>
      <description>&lt;P&gt;Please provide a sample small enough that we know how the value 21 (&lt;SPAN&gt;beta_volume&lt;/SPAN&gt;) that you are showing in the desired output is calculated. We can't see where it comes from here.&lt;/P&gt;</description>
      <pubDate>Tue, 31 Oct 2017 05:24:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408987#M279455</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-10-31T05:24:21Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408988#M279456</link>
      <description>&lt;P&gt;Please the beta_volume is the daily average/mean of the firms connected to a specific firm. So for instance in the example given, firm 10001 is connected to two firms thus&amp;nbsp;&lt;SPAN&gt;8433 &amp;amp; 1723398. Hence i obtain the average of daily volume of these two firms and link it to firm 10001 by date to produce the final table to run the regression.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;In my earlier code, this what i used to obtain the mean of firms connected to a specific firm.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%macro rpt5;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;%Do R = &amp;amp;C1 %to &amp;amp;C2;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;EM&gt;proc summary data = ase.sum&amp;amp;R. ;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;by date;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;var vol;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;output out=ase.sum_&amp;amp;R. mean=beta_vol ;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;run;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;%end;&lt;BR /&gt;%mend rpt5 ;&lt;/P&gt;&lt;P&gt;%rpt5 ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks very much.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 31 Oct 2017 05:34:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/408988#M279456</guid>
      <dc:creator>EJAA</dc:creator>
      <dc:date>2017-10-31T05:34:20Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/409344#M279457</link>
      <description>I am about to quit trying, The small example you supplied does not show the link you mention between firm 10001 and 8433 &amp;amp; 1723398, and does not show volumes that would explain how 41 is attained.</description>
      <pubDate>Wed, 01 Nov 2017 03:38:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/409344#M279457</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-11-01T03:38:25Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/409347#M279458</link>
      <description>&lt;P&gt;Thanks ChrisNZ for the great efforts.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please when we look into dataset "help" we see that firm 10001 is having firms with in colum d1 and d2 with companyid&amp;nbsp;&lt;SPAN&gt;8433 &amp;amp; 1723398. Thus these two firms are connected to firm 10001. On the beta volume sorry abt that, it should be as shown below. Thus the average daily volume of the two firms connected to firm 10001. Thanks once again.regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Final Table for firm with id 10001.&lt;/P&gt;&lt;P&gt;CompanyID &amp;nbsp;&amp;nbsp;lpermno &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;date &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volume &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stk_returns&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; beta_volume (obtained from firms connected to firm 10001)&lt;BR /&gt;10675&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;10001&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/03/2000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;142 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.40&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;400 (thus 300+500/2)&lt;BR /&gt;10675&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10001&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/04/2000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;245&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;480&lt;/SPAN&gt;&lt;BR /&gt;10675&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;01/05/2000&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;285&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.42&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;430&lt;BR /&gt;10675&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10001 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/07/2000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;181&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.43&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;490&lt;/P&gt;&lt;P&gt;10675&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;10001&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;01/10/2000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;149 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.44&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;420&lt;/P&gt;</description>
      <pubDate>Wed, 01 Nov 2017 03:52:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/409347#M279458</guid>
      <dc:creator>EJAA</dc:creator>
      <dc:date>2017-11-01T03:52:12Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/409353#M279459</link>
      <description>&lt;P&gt;We are getting there.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please tell me how this performs:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data HELP;
 input COMPANYID   LPERMNO  D1  D2  ;                       
cards;
10675    10001   8433     1723398   
run;
 
data HELP1;
input COMPANYID   LPERMNO   DATE : mmddyy10.  VOLUME  STK_RETURNS ;
cards;
10675    10001     01/03/2000    142     0.40
10675    10001     01/04/2000    245     0.45         
10675    10001     01/05/2000    285     0.42
10675    10001     01/07/2000    181     0.43      
10675    10001     01/10/2000    149     0.44
8433     10003     01/03/2000    300     0.10
8433     10003     01/04/2000    380     0.15         
8433     10003     01/05/2000    330     0.12
8433     10003     01/07/2000    390     0.13      
8433     10003     01/10/2000    340     0.14
1723398  10000     01/03/2000    500     0.60
1723398  10000     01/04/2000    580     0.65         
1723398  10000     01/05/2000    530     0.62
1723398  10000     01/07/2000    590     0.63      
1723398  10000     01/10/2000    500     0.64
run;

data WANT;
  set HELP1;
  if _N_=1 then do;
    dcl hash H(dataset:'HELP');
    H.definekey('LPERMNO');
    H.definedata('D1','D2');
    H.definedone();
    dcl hash H1(dataset:'HELP1(rename=(VOLUME=BETA))');
    H1.definekey('COMPANYID','DATE');
    H1.definedata('BETA');
    H1.definedone();
    call missing(D1,D2,BETA);
  end;
  call missing(D1,D2,BETA,BETA1,BETA2);
  rc=H.find();
  rc=H1.find(key:D1,key:DATE );
  BETA1=BETA;
  rc=H1.find(key:D2,key:DATE );
  BETA2=BETA;
  AVG=(BETA1+BETA2)/2;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I left the intermediate calculations in the final table.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" rules="all" frame="box" cellspacing="0" cellpadding="5" summary="Procedure Print: Data Set WORK.T"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;&lt;FONT size="1"&gt;COMPANYID&lt;/FONT&gt;&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;&lt;FONT size="1"&gt;LPERMNO&lt;/FONT&gt;&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;&lt;FONT size="1"&gt;DATE&lt;/FONT&gt;&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;&lt;FONT size="1"&gt;VOLUME&lt;/FONT&gt;&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;&lt;FONT size="1"&gt;STK_RETURNS&lt;/FONT&gt;&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;&lt;FONT size="1"&gt;D1&lt;/FONT&gt;&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;&lt;FONT size="1"&gt;D2&lt;/FONT&gt;&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;&lt;FONT size="1"&gt;BETA&lt;/FONT&gt;&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;&lt;FONT size="1"&gt;BETA1&lt;/FONT&gt;&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;&lt;FONT size="1"&gt;BETA2&lt;/FONT&gt;&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;&lt;FONT size="1"&gt;rc&lt;/FONT&gt;&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;&lt;FONT size="1"&gt;AVG&lt;/FONT&gt;&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;10675&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;10001&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;14612&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;142&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;0.40&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;8433&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;1723398&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;500&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;300&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;500&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;0&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;400&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;10675&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;10001&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;14613&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;245&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;0.45&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;8433&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;1723398&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;580&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;380&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;580&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;0&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;480&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;10675&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;10001&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;14614&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;285&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;0.42&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;8433&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;1723398&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;530&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;330&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;530&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;0&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;430&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;10675&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;10001&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;14616&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;181&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;0.43&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;8433&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;1723398&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;590&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;390&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;590&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;0&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;490&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;10675&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;10001&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;14619&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;149&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;0.44&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;8433&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;1723398&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;500&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;340&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;500&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;0&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;FONT size="1"&gt;420&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Nov 2017 05:00:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/409353#M279459</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-11-01T05:00:06Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/409706#M279460</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/136147"&gt;@EJAA&lt;/a&gt;&amp;nbsp;So?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Using 8k and 20m rows respectively, this takes 1min 20s on my machine.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data HELP (keep=COMPANYID LPERMNO D1 D2)
     HELP1(keep=COMPANYID LPERMNO DATE VOLUME);
  do COMPANYID= 1 to 8000;
    LPERMNO=COMPANYID+100000;
    D1     =int(ranuni(0)*8000);
    D2     =int(ranuni(0)*8000);
    output HELP;
    do DATE='01jan2010'd to '01jan2017'd;
      VOLUME=int(ranuni(0)*999);
      output HELP1;
    end;
  end;
  format DATE date9.;
run;


data WANT;
  if _N_=1 then do;
    dcl hash H(dataset:'HELP');
    H.definekey('LPERMNO');
    H.definedata('D1','D2');
    H.definedone();
    dcl hash H1(dataset:'HELP1(rename=(VOLUME=BETA))');
    H1.definekey('COMPANYID','DATE');
    H1.definedata('BETA');
    H1.definedone();
  end;
  set HELP1;
  call missing(D1,D2,BETA,BETA1);
  RC    = H.find();
  RC    = H1.find(key:D1,key:DATE );
  BETA1 = BETA;
  RC    = H1.find(key:D2,key:DATE );
  AVG   = (BETA+BETA1)/2;
  keep COMPANYID LPERMNO DATE VOLUME AVG;
run;

&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;NOTE: There were 8000 observations read from the data set WORK.HELP.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: There were 20464000 observations read from the data set WORK.HELP1.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: Missing values were generated as a result of performing an operation on missing values.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; Each place is given by: (Number of times) at (Line):(Column).&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; 5116 at 45:15 &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: There were 20464000 observations read from the data set WORK.HELP1.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: The data set WORK.WANT has 20464000 observations and 10 variables.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: Compressing data set WORK.WANT decreased size by 27.29 percent. &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; Compressed is 9101 pages; un-compressed would require 12517 pages.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NOTE: DATA statement used (Total process time):&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; real time 1:19.48&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; user cpu time 1:16.51&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; system cpu time 2.65 seconds&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; memory 1313268.82k&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt; OS Memory 1341000.00k&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;Step Count 532 Switch Count 267&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 02 Nov 2017 04:42:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/409706#M279460</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-11-02T04:42:18Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/409712#M279461</link>
      <description>&lt;P&gt;Hi ChrisNZ&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I sincerely apologies for the late update. I had few issues yesterday and was off hence me not updating you with reference to the codes you sent. Thanks very much for the understanding and really appreciate the&amp;nbsp; great efforts.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please just as you opinionated earlier on, we are getting there.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have run the code and it worked perfectly on the sample above and is very fast of which i tried to follow the codes so i can modify the variables to enable me apply the codes to the bigger data i have but didnt work.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please as i could only indicate the nature of the data when posting the question, I couldnt show much data but in my sample data HELP, the column runs from d1-d313 with most have value (companyid). Thus a specific firm could be linked to more than one firm. For instance a specific firm could be linked to just one while others two while others 20 etc. So firm with id 10001 is linked to more than two firms in the actual but couldnt show all as you requested i only post few sample for assessment and direction.Hence i have something like this below for data help&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;CompanyID &amp;nbsp;&amp;nbsp;lpermno &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;d1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;d2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;d3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;d4&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;d5&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; d6&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;d7&amp;nbsp; &amp;nbsp; &amp;nbsp; d8&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;d9&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;d10&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;10675&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;10001&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8433&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1723398 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;2070824&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;18195&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;620983&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10002&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;576969&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;8433&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;959&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10025&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;576969&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;1723398 &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;9137&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10028 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2070824&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;18195&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;8433&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 12540&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 576969&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Also please in the data help1, aside this variables, i have other variables price, market_returns in addition to &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;CompanyID &amp;nbsp;&amp;nbsp;lpermno&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;volume&amp;nbsp; &amp;nbsp; &amp;nbsp; stk_returns.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I have tried several times trying to follow your codes but still getting it wrong.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Please we are almost there and i seek for further direction to enable me apply on the main data as the codes work on the small sample data posted earlier. Thanks very much ChrisNZ for this great assistance.regards ejaa.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 02 Nov 2017 06:57:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/409712#M279461</guid>
      <dc:creator>EJAA</dc:creator>
      <dc:date>2017-11-02T06:57:25Z</dc:date>
    </item>
    <item>
      <title>Re: Code running slow in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/409809#M279462</link>
      <description>&lt;P&gt;Hi Ejaa,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;More a comment on the datamodel: whenever I see a table that has columns like your d1-d313 a get the feeling that a transposition would make any processing a lot easier and your dataset less sparse. Eg, what happens if there is need for a d314? Compare these approaches:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;CompanyID lpermno   d1   d2   
0675      10001     8433 1723398 &lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;with &lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE&gt;CompanyID  lpermno   d
0675       10001     8433
0675       10001     1723398 &lt;/PRE&gt;
&lt;P&gt;See &lt;A href="https://www.pharmasug.org/proceedings/2012/TF/PharmaSUG-2012-TF10.pdf" target="_self"&gt;this paper&lt;/A&gt; for a more indepth discussion.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It would be an easy transformation and could greatly help speed up or at least simplify your code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;- Jan&lt;/P&gt;</description>
      <pubDate>Thu, 02 Nov 2017 13:06:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Code-running-slow-in-SAS/m-p/409809#M279462</guid>
      <dc:creator>jklaverstijn</dc:creator>
      <dc:date>2017-11-02T13:06:28Z</dc:date>
    </item>
  </channel>
</rss>

