<?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: Create datasets based on different dates on date field. in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50432#M10536</link>
    <description>Ksharp&lt;BR /&gt;
pardon my winter joke ( &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; about the elves.&lt;BR /&gt;
 &lt;BR /&gt;
As to oveflowing macro variable capacity, there is always a choice of solutions, but since so much depends on the application, I would treat each as a special case. Once when I bumped into the 32K limit (similar to your case asigning labels in a macro variable) I mistakenly thought it was a statement limit, but it is just the limited capacity of the macro var. My quick work around was a generate macro and array of macro variables. one for each label. PROC SQL still filled the values, just into  :lab1 - :lab9999 instead of into :labels separated by ' ' &lt;BR /&gt;
and collect the number of macro variables created from &amp;amp;sqlobs &lt;BR /&gt;
and use something like that %gen() macro to generated the list %gen( &amp;amp;n_labs, pattern=%str(&amp;amp;)lab###)  &lt;BR /&gt;
Here is a demo to clarify&lt;BR /&gt;
proc sql noprint ;&lt;BR /&gt;
select cats( name, '=', quote(trim(coalesce(label,name))) )&lt;BR /&gt;
into  :lab1 - :lab9999 &lt;BR /&gt;
from  dictionary.columns&lt;BR /&gt;
where libname='SASHELP' and memname='CLASS'&lt;BR /&gt;
;&lt;BR /&gt;
%let n_labs=&amp;amp;sqlobs ;&lt;BR /&gt;
quit  ;&lt;BR /&gt;
%put label %gen( &amp;amp;n_labs, pattern=%str(&amp;amp;)lab### );&lt;BR /&gt;
&lt;BR /&gt;
demonstrates building a label statement&lt;BR /&gt;
label Name="Name" Sex="Sex" Age="Age" Height="Height" Weight="Weight"&lt;BR /&gt;
&lt;BR /&gt;
Each application is different when environment limits are approached, so I choose my preference when I know more.&lt;BR /&gt;
 &lt;BR /&gt;
Peter</description>
    <pubDate>Thu, 23 Dec 2010 20:09:34 GMT</pubDate>
    <dc:creator>Peter_C</dc:creator>
    <dc:date>2010-12-23T20:09:34Z</dc:date>
    <item>
      <title>Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50420#M10524</link>
      <description>Hi all.&lt;BR /&gt;
I'd like to create datasets based on the different dates in a date column from a base dataset before exporting them to csv files. Eg.&lt;BR /&gt;
&lt;BR /&gt;
Dates                Item&lt;BR /&gt;
01APR2010       A&lt;BR /&gt;
01APR2010       B&lt;BR /&gt;
01APR2010       C&lt;BR /&gt;
05JUL2010        A&lt;BR /&gt;
20JUL2010        E&lt;BR /&gt;
&lt;BR /&gt;
I can only create a dataset (output_item_01APR2010) with only data with  01APR2010 by using the following code. &lt;BR /&gt;
&lt;BR /&gt;
%let transdt = 01APR2010;&lt;BR /&gt;
&lt;BR /&gt;
data output_item_&amp;amp;transdt;&lt;BR /&gt;
set base_table;&lt;BR /&gt;
where transaction_dt="&amp;amp;transdt"d;&lt;BR /&gt;
run; &lt;BR /&gt;
&lt;BR /&gt;
How do I create multiple datasets based on different dates on the date field without having to specify each date using the %let statement? &lt;BR /&gt;
&lt;BR /&gt;
Thanks!&lt;BR /&gt;
&lt;BR /&gt;
KYW</description>
      <pubDate>Wed, 15 Dec 2010 03:20:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50420#M10524</guid>
      <dc:creator>KYW</dc:creator>
      <dc:date>2010-12-15T03:20:49Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50421#M10525</link>
      <description>This is a two pass process.  First you need a list of distinct dates and then use that list with a macro %DO loop.  This article on sasCommunity does something similar.  Ron Fehd has a number of papers on macro list processing.&lt;BR /&gt;
&lt;A href="http://www.sascommunity.org/wiki/Automatically_Separating_Data_into_Excel_Sheets" target="_blank"&gt;http://www.sascommunity.org/wiki/Automatically_Separating_Data_into_Excel_Sheets&lt;/A&gt;&lt;BR /&gt;
Let us know if you need more detail.</description>
      <pubDate>Wed, 15 Dec 2010 03:36:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50421#M10525</guid>
      <dc:creator>ArtC</dc:creator>
      <dc:date>2010-12-15T03:36:54Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50422#M10526</link>
      <description>[pre]&lt;BR /&gt;
data temp;&lt;BR /&gt;
input Dates : date9. Item $;&lt;BR /&gt;
format dates date9.;&lt;BR /&gt;
cards;&lt;BR /&gt;
01APR2010 A&lt;BR /&gt;
01APR2010 B&lt;BR /&gt;
01APR2010 C&lt;BR /&gt;
05JUL2010 A&lt;BR /&gt;
20JUL2010 E&lt;BR /&gt;
;&lt;BR /&gt;
proc sql feedback;&lt;BR /&gt;
 select distinct dates from temp;&lt;BR /&gt;
 select distinct dates &lt;BR /&gt;
  into : date1 - : date&amp;amp;sqlobs.&lt;BR /&gt;
  from temp;&lt;BR /&gt;
quit;&lt;BR /&gt;
options  mprint mlogic;&lt;BR /&gt;
%macro create_tables;&lt;BR /&gt;
data %do j=1 %to &amp;amp;sqlobs.;&lt;BR /&gt;
         output_item_&amp;amp;&amp;amp;date&amp;amp;j&lt;BR /&gt;
	 %end;&lt;BR /&gt;
	 ;&lt;BR /&gt;
  set temp;&lt;BR /&gt;
select ( dates );&lt;BR /&gt;
 %do i=1 %to &amp;amp;sqlobs.;&lt;BR /&gt;
   when ("&amp;amp;&amp;amp;date&amp;amp;i"d) output output_item_&amp;amp;&amp;amp;date&amp;amp;i;&lt;BR /&gt;
 %end;&lt;BR /&gt;
   otherwise;&lt;BR /&gt;
end;&lt;BR /&gt;
run;&lt;BR /&gt;
%mend;&lt;BR /&gt;
&lt;BR /&gt;
%create_tables&lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Ksharp

Message was edited by: Ksharp</description>
      <pubDate>Wed, 15 Dec 2010 06:29:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50422#M10526</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2010-12-15T06:29:17Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50423#M10527</link>
      <description>Hi ArtC. Thanks for the excellent resources. I've applied the method in the article and it works great.</description>
      <pubDate>Wed, 15 Dec 2010 08:24:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50423#M10527</guid>
      <dc:creator>KYW</dc:creator>
      <dc:date>2010-12-15T08:24:32Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50424#M10528</link>
      <description>Hi KSharp. Nice code there. Will try this out to optimize my current coding.</description>
      <pubDate>Wed, 15 Dec 2010 08:26:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50424#M10528</guid>
      <dc:creator>KYW</dc:creator>
      <dc:date>2010-12-15T08:26:42Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50425#M10529</link>
      <description>KYW&lt;BR /&gt;
as always SAS offers more than one way to do this kind of thing.  So here is a hybrid of sql and data steps.&lt;BR /&gt;
I like using SQL to help solve this problem because working on windows so much I want to avoid I/O as much as possible so read as little data as possible. &lt;BR /&gt;
For each date value, your original model solution reads the whole table (assuming no index on data would exist and be used in this case). &lt;BR /&gt;
Quite efficiently SQL will create a list of just the date values into a new table. From the new table SQL is good/convenient at filling a macro variable with the syntax inolving the dates. &lt;BR /&gt;
&lt;BR /&gt;
*1 first collect a list of the dates;[pre]proc sql noprint ;&lt;BR /&gt;
create table dates as select distinct date from your.data ;[/pre]* now create the pieces of syntax that will refer to dates;[pre]%let output_table_prefix = your.output_item_ ;&lt;BR /&gt;
  select "&amp;amp;output_table_prefix" !! put( date, date9. ) length= 41&lt;BR /&gt;
    into : tables separated by ' ' from dates ;[/pre]* the other date piece is the decisions to write to each dated-table ;[pre]  select ' date=' !! put( date, z6.) !! &lt;BR /&gt;
" then output &amp;amp;output_table_prefix" !! put( date, date9. ) &lt;BR /&gt;
  into :outputs separated by '; else if ' from dates ;&lt;BR /&gt;
quit ;[/pre]* And finally assemble these bits into a (not long) data step (because SQL seems able to write only one table at a time, and data steps can write all the dated-tables you need in a single pass ;[pre]option symbolgen ;&lt;BR /&gt;
data &amp;amp;tables ;&lt;BR /&gt;
  set your.data ;&lt;BR /&gt;
  if &amp;amp;outputs ;&lt;BR /&gt;
  else do ;&lt;BR /&gt;
    put 'unexpected ' date= date9. ' on row ' _n_ ;&lt;BR /&gt;
    stop ; * very unexpected ;&lt;BR /&gt;
  end ;&lt;BR /&gt;
run ;&lt;BR /&gt;
[/pre]In this approach your data are read twice: first (a light touch) to create the distinct dates list; and second, to read and write the data to the date-named tables.&lt;BR /&gt;
Should be quick.&lt;BR /&gt;
 &lt;BR /&gt;
Peter</description>
      <pubDate>Sun, 19 Dec 2010 17:44:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50425#M10529</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2010-12-19T17:44:52Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50426#M10530</link>
      <description>Hi Peter.&lt;BR /&gt;
&lt;BR /&gt;
Thank you for your detailed explanation.&lt;BR /&gt;
&lt;BR /&gt;
Regarding your codes above, specifically in the final part (data &amp;amp;table), what if I have a master dataset of around 100GB? Would the set statement slow down the process if the master dataset is not splitted into smaller chunks based on a specific period?</description>
      <pubDate>Tue, 21 Dec 2010 08:21:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50426#M10530</guid>
      <dc:creator>KYW</dc:creator>
      <dc:date>2010-12-21T08:21:38Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50427#M10531</link>
      <description>&amp;gt; Regarding your codes above, specifically in the final&lt;BR /&gt;
&amp;gt; part (data &amp;amp;table), what if I have a master dataset&lt;BR /&gt;
&amp;gt; of around 100GB? Would the set statement slow down&lt;BR /&gt;
 &lt;BR /&gt;
no&lt;BR /&gt;
the solution is optimal for data not sorted or indexed on that date and was designed for application when it is difficult, not only to re-write the data, but particularly difficult to sort 100GB. &lt;BR /&gt;
 &lt;BR /&gt;
The only issue for performance I see, might occur where you have very many distinct dates. But that is also a problem for your application = "what use is it to have 1000 tables from 3 years of data?"&lt;BR /&gt;
  &lt;BR /&gt;
peter</description>
      <pubDate>Tue, 21 Dec 2010 13:11:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50427#M10531</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2010-12-21T13:11:29Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50428#M10532</link>
      <description>Yes.Peter.&lt;BR /&gt;
You have mentioned a problem in your code.&lt;BR /&gt;
Macro variable has limited length (32767 or something else),That is to say when &amp;amp;outputs can not hold all the value from PROC SQL, will trigger an error.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Ksharp.</description>
      <pubDate>Wed, 22 Dec 2010 07:05:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50428#M10532</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2010-12-22T07:05:52Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50429#M10533</link>
      <description>Ksharp&lt;BR /&gt;
recently a usage note circulated reminding me that there is a 64K limit on macro variable length. &lt;BR /&gt;
However, I think there might be serious environment limitations if a tenth of that limit were used to hold the &amp;amp;outputs macro variable. &lt;BR /&gt;
Have you ever created so many tables in one data step?&lt;BR /&gt;
100 tables would need perhaps up to 40 characters of the macro variable each just 4K.&lt;BR /&gt;
I think the problem is not so much the limitation of macro variable widths, as : &lt;BR /&gt;
1 is there enough memory for a data step to support the metadata required for all 100 tables?&lt;BR /&gt;
2 what does an application want to do with the 100 tables  ?&lt;BR /&gt;
&lt;BR /&gt;
I think the environment will fail before the capacity of the macro variable is found to be a limit.&lt;BR /&gt;
(maybe not as I have no trouble running something as simple as &lt;BR /&gt;
%macro gen(n, pattern=###, from=1) ;&lt;BR /&gt;
%do i= &amp;amp;from %to &amp;amp;n ;&lt;BR /&gt;
%sysfunc( tranwrd( %superq(pattern), ###, &amp;amp;i ))&lt;BR /&gt;
%end ;&lt;BR /&gt;
%mend ;&lt;BR /&gt;
%put demo %gen( 7, from=4,pattern= abc###ab### ) ; &lt;BR /&gt;
&lt;BR /&gt;
option fullstimer ;&lt;BR /&gt;
data %gen( 1111, pattern= test### );&lt;BR /&gt;
set sashelp.class ;&lt;BR /&gt;
run;&lt;BR /&gt;
which does successfully create 1111 copies of sashelp.class with these fullstimer notes[pre]NOTE: The data set WORK.TEST1110 has 19 observations and 5 variables.&lt;BR /&gt;
NOTE: The data set WORK.TEST1111 has 19 observations and 5 variables.&lt;BR /&gt;
NOTE: DATA statement used (Total process time):&lt;BR /&gt;
      real time           12.98 seconds&lt;BR /&gt;
      user cpu time       0.73 seconds&lt;BR /&gt;
      system cpu time     7.37 seconds&lt;BR /&gt;
      Memory                            36156k&lt;BR /&gt;
      OS Memory                         43544k&lt;BR /&gt;
      Timestamp            22/12/2010  11:28:52[/pre] That OS Memory usage scales up with the number of datasets created - and I imagine also with the number of variables.&lt;BR /&gt;
 &lt;BR /&gt;
I'm still betting that the 64K capacity of a macro variable won't be the limiting factor for the application.&lt;BR /&gt;
 &lt;BR /&gt;
Do you have the optimal alternative that minimises the number of passes through the 100GB while not suffering that limited capacity in &amp;amp;outputs?&lt;BR /&gt;
  &lt;BR /&gt;
hth&lt;BR /&gt;
 &lt;BR /&gt;
peterC</description>
      <pubDate>Wed, 22 Dec 2010 11:40:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50429#M10533</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2010-12-22T11:40:06Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50430#M10534</link>
      <description>Hi.Peter.&lt;BR /&gt;
&amp;gt;Have you ever created so many tables in one data step?&lt;BR /&gt;
&lt;BR /&gt;
I have not created so many datasets before.But I used the method you mentions to label the variables in lots of datasets before,finally the macro variable &amp;amp;outputs overflows the max length of itself under UNIX environment.So I have to sparse the &amp;amp;outputs as I mentioned.&lt;BR /&gt;
&lt;BR /&gt;
And your gived example is very interesting and useful for me.&lt;BR /&gt;
Admittedly this way is very to waste OS source,Also hope someone can give more optimal&lt;BR /&gt;
alternative. About @data _null_;?? It is long time no see him/her and Mr.Patrick.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Ksharp</description>
      <pubDate>Thu, 23 Dec 2010 02:14:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50430#M10534</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2010-12-23T02:14:13Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50431#M10535</link>
      <description>&amp;gt; Hi.Peter.&lt;BR /&gt;
&amp;gt;&lt;BR /&gt;
&amp;gt; alternative. About @data _null_;?? It is long time no&lt;BR /&gt;
&amp;gt; see him/her and Mr.Patrick.&lt;BR /&gt;
&amp;gt; Ksharp&lt;BR /&gt;
 &lt;BR /&gt;
Ksharp&lt;BR /&gt;
( &amp;gt; you ask where are two most valuable posters?)&lt;BR /&gt;
 &lt;BR /&gt;
maybe they are missing because of local culture.&lt;BR /&gt;
In this country little children are warned to be good or Father Christmas might not come. &lt;BR /&gt;
Next Saturday, Santa Clause alias Father Christmas, will have delivered presents (overnight) to all the good children. &lt;BR /&gt;
Now since this culture developed BI (before the interrnet), delivering to all the good children in one night takes a lot of planning and preparation and help, so perpaps the missing posters are among Santa's Elves (those who help Santa)&lt;BR /&gt;
;-) &lt;BR /&gt;
I understand some of this culture has spread to other parts of the world so now Santa's task is even bigger ;-))&lt;BR /&gt;
 &lt;BR /&gt;
merry christmas</description>
      <pubDate>Thu, 23 Dec 2010 09:54:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50431#M10535</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2010-12-23T09:54:25Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50432#M10536</link>
      <description>Ksharp&lt;BR /&gt;
pardon my winter joke ( &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; about the elves.&lt;BR /&gt;
 &lt;BR /&gt;
As to oveflowing macro variable capacity, there is always a choice of solutions, but since so much depends on the application, I would treat each as a special case. Once when I bumped into the 32K limit (similar to your case asigning labels in a macro variable) I mistakenly thought it was a statement limit, but it is just the limited capacity of the macro var. My quick work around was a generate macro and array of macro variables. one for each label. PROC SQL still filled the values, just into  :lab1 - :lab9999 instead of into :labels separated by ' ' &lt;BR /&gt;
and collect the number of macro variables created from &amp;amp;sqlobs &lt;BR /&gt;
and use something like that %gen() macro to generated the list %gen( &amp;amp;n_labs, pattern=%str(&amp;amp;)lab###)  &lt;BR /&gt;
Here is a demo to clarify&lt;BR /&gt;
proc sql noprint ;&lt;BR /&gt;
select cats( name, '=', quote(trim(coalesce(label,name))) )&lt;BR /&gt;
into  :lab1 - :lab9999 &lt;BR /&gt;
from  dictionary.columns&lt;BR /&gt;
where libname='SASHELP' and memname='CLASS'&lt;BR /&gt;
;&lt;BR /&gt;
%let n_labs=&amp;amp;sqlobs ;&lt;BR /&gt;
quit  ;&lt;BR /&gt;
%put label %gen( &amp;amp;n_labs, pattern=%str(&amp;amp;)lab### );&lt;BR /&gt;
&lt;BR /&gt;
demonstrates building a label statement&lt;BR /&gt;
label Name="Name" Sex="Sex" Age="Age" Height="Height" Weight="Weight"&lt;BR /&gt;
&lt;BR /&gt;
Each application is different when environment limits are approached, so I choose my preference when I know more.&lt;BR /&gt;
 &lt;BR /&gt;
Peter</description>
      <pubDate>Thu, 23 Dec 2010 20:09:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50432#M10536</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2010-12-23T20:09:34Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50433#M10537</link>
      <description>Dear Peter.&lt;BR /&gt;
Good Holidays!&lt;BR /&gt;
&lt;BR /&gt;
&amp;gt;I understand some of this culture has spread to other parts of the world so now Santa's task is even bigger ;-))&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Yes.You are right . In China (Bei Jing) where I lived in, there are lots of Christmas Trees and Christmas Songs around me,and It is hard to see foreign friends now, maybe they have gone to their homeland to holiday.Unfortunately I have to work even though it is not too heavy,We will get Holidays until February 2,2011 that is Chinese Tradition New Year.&lt;BR /&gt;
&lt;BR /&gt;
After look at your code, I found some problem in it.&lt;BR /&gt;
First,Macro variable &amp;amp;sqlobs is only generated after sql statement executed,that is to mean you need execute the same sql statement twice.&lt;BR /&gt;
Second.You label variable by using data step,which will scan the whole data set and will very slow when this dataset is very big (about 200G),So can use 'proc datasets +modify+label',that will be more efficient than yours ,since 'proc datasets' will not read the dataset in PDV and modify label directly.&lt;BR /&gt;
BTW, the approach I used is what you mentioned.&lt;BR /&gt;
&lt;BR /&gt;
Merry Christmas!&lt;BR /&gt;
Cheers.&lt;BR /&gt;
Ksharp</description>
      <pubDate>Fri, 24 Dec 2010 03:02:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50433#M10537</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2010-12-24T03:02:27Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50434#M10538</link>
      <description>thank you Ksharp&lt;BR /&gt;
it is very interesting to hear how such culture spreads&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&amp;gt; Yes.You are right . In China (Bei Jing) where I lived&lt;BR /&gt;
&amp;gt; in, there are lots of Christmas Trees and Christmas&lt;BR /&gt;
&amp;gt; Songs around me,and It is hard to see foreign friends&lt;BR /&gt;
&amp;gt; now, maybe they have gone to their homeland to&lt;BR /&gt;
&amp;gt; holiday.Unfortunately I have to work even though it&lt;BR /&gt;
&amp;gt; is not too heavy,We will get Holidays until February&lt;BR /&gt;
&amp;gt; 2,2011 that is Chinese Tradition New Year.&lt;BR /&gt;
 &lt;BR /&gt;
so, best wishes for your new year when it comes&lt;BR /&gt;
&lt;BR /&gt;
&amp;gt; &lt;BR /&gt;
&amp;gt; After look at your code, I found some problem in it.&lt;BR /&gt;
&amp;gt; First,Macro variable &amp;amp;sqlobs is only generated after&lt;BR /&gt;
&amp;gt; sql statement executed,that is to mean you need&lt;BR /&gt;
&amp;gt; execute the same sql statement twice.&lt;BR /&gt;
&lt;BR /&gt;
not in my SAS system![pre]proc sql noprint ; select name into :n1-:n999 from sashelp.class ;[/pre] fills &amp;amp;sqlobs with only one select statement! Have you tested your statement? (or mine?)&lt;BR /&gt;
On my system &amp;amp;sqlobs does not exist until a "PROC SQL" statement executes. The value is filled by an sql select statement even if it would output no rows, like&lt;BR /&gt;
select name into :names from sashelp.class where age &amp;gt; 16 ;&lt;BR /&gt;
 &lt;BR /&gt;
Can you demonstrate how or when  PROC SQL fails to fill SQLOBS on any valid select statement ?&lt;BR /&gt;
 &lt;BR /&gt;
 &lt;BR /&gt;
 &lt;BR /&gt;
&amp;gt; Second.You label variable by using data step,&lt;BR /&gt;
&lt;BR /&gt;
Where-ever I suggested this, I certainly should be reminded about the impact of an unneccessary pass through potentially large data!&lt;BR /&gt;
Please could you point out or give me a hyperlink to where I provided this bad advice?&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&amp;gt; &lt;BR /&gt;
&amp;gt; Merry Christmas!&lt;BR /&gt;
&amp;gt; Cheers.&lt;BR /&gt;
&amp;gt; Ksharp&lt;BR /&gt;
&lt;BR /&gt;
cheers from London, UK&lt;BR /&gt;
peterC

fixing bad grammar      &lt;BR /&gt;
Message was edited by: Peter.C</description>
      <pubDate>Fri, 24 Dec 2010 09:36:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50434#M10538</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2010-12-24T09:36:40Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50435#M10539</link>
      <description>Dear Peter.&lt;BR /&gt;
&amp;gt;not in my SAS system!&lt;BR /&gt;
&lt;BR /&gt;
proc sql noprint ; select name into :n1-:n999 from sashelp.class ;&lt;BR /&gt;
&lt;BR /&gt;
fills &amp;amp;sqlobs with only one select statement! Have you tested your statement? (or mine?)&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Your code is right . It is my fault.I am too careless.Forgives me not careful to see your code.&lt;BR /&gt;
I think I am too confidence and arrogant to  check.Sorry.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&amp;gt;Please could you point out or give me a hyperlink to where I provided this bad advice?&lt;BR /&gt;
&lt;BR /&gt;
I think you are very seasoned expert about SAS.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Cheers.&lt;BR /&gt;
Ksharp

Message was edited by: Ksharp</description>
      <pubDate>Mon, 27 Dec 2010 02:35:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50435#M10539</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2010-12-27T02:35:27Z</dc:date>
    </item>
    <item>
      <title>Re: Create datasets based on different dates on date field.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50436#M10540</link>
      <description>ArtC wrote:&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; This is a two pass process.  First you need a list of&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; distinct dates and then use that list with a macro&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; %DO loop.&lt;BR /&gt;  &lt;BR /&gt;
&lt;BR /&gt;&lt;BR /&gt;
No. It doesn't have to be. With a moderate amount of data for each subset, it is easy to implement a one-pass solution using hash.&lt;BR /&gt;
&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#008000;font-family:Courier New;font-size:10pt;"&gt;/*&amp;nbsp;test&amp;nbsp;data&amp;nbsp;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="color:#000080;font-family:Courier New;font-size:10pt;"&gt;data&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;one;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#0000FF;font-family:Courier New;font-size:10pt;"&gt;input&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;date&amp;nbsp;:&lt;/SPAN&gt;&lt;SPAN style="color:#008080;font-family:Courier New;font-size:10pt;"&gt;date9.&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;item&amp;nbsp;:&lt;/SPAN&gt;&lt;SPAN style="color:#008080;font-family:Courier New;font-size:10pt;"&gt;$1.&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#0000FF;font-family:Courier New;font-size:10pt;"&gt;cards&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;01APR2010&amp;nbsp;A&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;01APR2010&amp;nbsp;B&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;01APR2010&amp;nbsp;C&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;05JUL2010&amp;nbsp;A&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20JUL2010&amp;nbsp;E&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="color:#000080;font-family:Courier New;font-size:10pt;"&gt;run&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&amp;nbsp;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#008000;font-family:Courier New;font-size:10pt;"&gt;/*&amp;nbsp;separate&amp;nbsp;out&amp;nbsp;to&amp;nbsp;daily&amp;nbsp;datasets.&amp;nbsp;one-pass&amp;nbsp;solution,&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="color:#008000;font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assuming&amp;nbsp;that&amp;nbsp;the&amp;nbsp;data&amp;nbsp;are&amp;nbsp;already&amp;nbsp;sorted&amp;nbsp;by&amp;nbsp;date.&amp;nbsp;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="color:#000080;font-family:Courier New;font-size:10pt;"&gt;data&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#0000FF;font-family:Courier New;font-size:10pt;"&gt;_null_&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#0000FF;font-family:Courier New;font-size:10pt;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="color:#008080;font-family:Courier New;font-size:10pt;"&gt;0&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#0000FF;font-family:Courier New;font-size:10pt;"&gt;then&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#0000FF;font-family:Courier New;font-size:10pt;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;one;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#008000;font-family:Courier New;font-size:10pt;"&gt;/*&amp;nbsp;to&amp;nbsp;prep&amp;nbsp;pdv&amp;nbsp;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#FF0000;font-family:Courier New;font-size:10pt;"&gt;dcl&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;hash&amp;nbsp;h(ordered:&lt;/SPAN&gt;&lt;SPAN style="color:#800080;font-family:Courier New;font-size:10pt;"&gt;'ascending'&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;h.definekey(&lt;/SPAN&gt;&lt;SPAN style="color:#800080;font-family:Courier New;font-size:10pt;"&gt;'id'&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;h.definedata(&lt;/SPAN&gt;&lt;SPAN style="color:#800080;font-family:Courier New;font-size:10pt;"&gt;'item'&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;h.definedone();&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&amp;nbsp;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#0000FF;font-family:Courier New;font-size:10pt;"&gt;do&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#0000FF;font-family:Courier New;font-size:10pt;"&gt;until&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;(last.date);&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#0000FF;font-family:Courier New;font-size:10pt;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;one;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#0000FF;font-family:Courier New;font-size:10pt;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;date&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#0000FF;font-family:Courier New;font-size:10pt;"&gt;notsorted&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;+&amp;nbsp;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="color:#008080;font-family:Courier New;font-size:10pt;"&gt;1&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;h.add();&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#0000FF;font-family:Courier New;font-size:10pt;"&gt;end&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name&amp;nbsp;=&amp;nbsp;catt(&lt;/SPAN&gt;&lt;SPAN style="color:#800080;font-family:Courier New;font-size:10pt;"&gt;"item_"&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;,&amp;nbsp;put(date,&lt;/SPAN&gt;&lt;SPAN style="color:#008080;font-family:Courier New;font-size:10pt;"&gt;date9.&lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;));&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;h.output(dataset:&amp;nbsp;name);&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="color:#000080;font-family:Courier New;font-size:10pt;"&gt;run&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color:#008000;font-family:Courier New;font-size:10pt;"&gt;/*&amp;nbsp;on&amp;nbsp;log&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="color:#008000;font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;NOTE:&amp;nbsp;The&amp;nbsp;data&amp;nbsp;set&amp;nbsp;WORK.ITEM_01APR2010&amp;nbsp;has&amp;nbsp;3&amp;nbsp;observations&amp;nbsp;and&amp;nbsp;1&amp;nbsp;variables.&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="color:#008000;font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;NOTE:&amp;nbsp;The&amp;nbsp;data&amp;nbsp;set&amp;nbsp;WORK.ITEM_05JUL2010&amp;nbsp;has&amp;nbsp;1&amp;nbsp;observations&amp;nbsp;and&amp;nbsp;1&amp;nbsp;variables.&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="color:#008000;font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;NOTE:&amp;nbsp;The&amp;nbsp;data&amp;nbsp;set&amp;nbsp;WORK.ITEM_20JUL2010&amp;nbsp;has&amp;nbsp;1&amp;nbsp;observations&amp;nbsp;and&amp;nbsp;1&amp;nbsp;variables.&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;
&lt;P style="padding:0"&gt;&lt;SPAN style="color:#008000;font-family:Courier New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Dec 2010 15:13:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Create-datasets-based-on-different-dates-on-date-field/m-p/50436#M10540</guid>
      <dc:creator>chang_y_chung_hotmail_com</dc:creator>
      <dc:date>2010-12-28T15:13:28Z</dc:date>
    </item>
  </channel>
</rss>

