<?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: Weekday dummy Variables in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Weekday-dummy-Variables/m-p/387090#M92774</link>
    <description>&lt;P&gt;What is in that period variable? Is it a string value or a SAS date or something else? For a given period what rule is used to assign values to which dummy variable?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The answer is dependant on the above, there are likely any number of functions/ code steps to help but values are neede, input and desired output.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It may be time to run proc contents on your data set if you are not sure if your values are numeric or character and if values you think are "dates" actually have a SAS date, or time, or datetime, format associated.&lt;/P&gt;</description>
    <pubDate>Thu, 10 Aug 2017 16:49:19 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2017-08-10T16:49:19Z</dc:date>
    <item>
      <title>Weekday dummy Variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Weekday-dummy-Variables/m-p/387081#M92769</link>
      <description>&lt;P&gt;I&amp;nbsp;have dataset &amp;nbsp;which has around one million rows and It has Period as one column. I need to create 7 dummy variables, each for one day.&lt;/P&gt;&lt;P&gt;So is there any function which can create weekday dummy variables by looking at the period column?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in Advance!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Aug 2017 16:26:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Weekday-dummy-Variables/m-p/387081#M92769</guid>
      <dc:creator>Sfzz</dc:creator>
      <dc:date>2017-08-10T16:26:47Z</dc:date>
    </item>
    <item>
      <title>Re: Weekday dummy Variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Weekday-dummy-Variables/m-p/387090#M92774</link>
      <description>&lt;P&gt;What is in that period variable? Is it a string value or a SAS date or something else? For a given period what rule is used to assign values to which dummy variable?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The answer is dependant on the above, there are likely any number of functions/ code steps to help but values are neede, input and desired output.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It may be time to run proc contents on your data set if you are not sure if your values are numeric or character and if values you think are "dates" actually have a SAS date, or time, or datetime, format associated.&lt;/P&gt;</description>
      <pubDate>Thu, 10 Aug 2017 16:49:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Weekday-dummy-Variables/m-p/387090#M92774</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-08-10T16:49:19Z</dc:date>
    </item>
    <item>
      <title>Re: Weekday dummy Variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Weekday-dummy-Variables/m-p/387094#M92776</link>
      <description>&lt;P&gt;Yes, period is SAS Date. Im attaching sample in excel file.&lt;/P&gt;</description>
      <pubDate>Thu, 10 Aug 2017 16:57:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Weekday-dummy-Variables/m-p/387094#M92776</guid>
      <dc:creator>Sfzz</dc:creator>
      <dc:date>2017-08-10T16:57:37Z</dc:date>
    </item>
    <item>
      <title>Re: Weekday dummy Variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Weekday-dummy-Variables/m-p/387102#M92780</link>
      <description>&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; have;&lt;/P&gt;&lt;P&gt;infile datalines truncover;&lt;/P&gt;&lt;P&gt;input period $30. ;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;Sunday, June 4, 2017&lt;/P&gt;&lt;P&gt;Monday, June 5, 2017&lt;/P&gt;&lt;P&gt;Tuesday, June 6, 2017&lt;/P&gt;&lt;P&gt;Wednesday, June 7, 2017&lt;/P&gt;&lt;P&gt;Thursday, June 8, 2017&lt;/P&gt;&lt;P&gt;Friday, June 9, 2017&lt;/P&gt;&lt;P&gt;Saturday, June 10, 2017&lt;/P&gt;&lt;P&gt;Sunday, June 11, 2017&lt;/P&gt;&lt;P&gt;Monday, June 12, 2017&lt;/P&gt;&lt;P&gt;Tuesday, June 13, 2017&lt;/P&gt;&lt;P&gt;Wednesday, June 14, 2017&lt;/P&gt;&lt;P&gt;Thursday, June 15, 2017&lt;/P&gt;&lt;P&gt;Friday, June 16, 2017&lt;/P&gt;&lt;P&gt;Saturday, June 17, 2017&lt;/P&gt;&lt;P&gt;Sunday, June 18, 2017&lt;/P&gt;&lt;P&gt;Monday, June 19, 2017&lt;/P&gt;&lt;P&gt;Tuesday, June 20, 2017&lt;/P&gt;&lt;P&gt;Wednesday, June 21, 2017&lt;/P&gt;&lt;P&gt;Thursday, June 22, 2017&lt;/P&gt;&lt;P&gt;Friday, June 23, 2017&lt;/P&gt;&lt;P&gt;Saturday, June 24, 2017&lt;/P&gt;&lt;P&gt;Sunday, June 25, 2017&lt;/P&gt;&lt;P&gt;Monday, June 26, 2017&lt;/P&gt;&lt;P&gt;Tuesday, June 27, 2017&lt;/P&gt;&lt;P&gt;Wednesday, June 28, 2017&lt;/P&gt;&lt;P&gt;Thursday, June 29, 2017&lt;/P&gt;&lt;P&gt;Friday, June 30, 2017&lt;/P&gt;&lt;P&gt;Saturday, July 1, 2017&lt;/P&gt;&lt;P&gt;Sunday, July 2, 2017&lt;/P&gt;&lt;P&gt;Monday, July 3, 2017&lt;/P&gt;&lt;P&gt;Tuesday, July 4, 2017&lt;/P&gt;&lt;P&gt;Wednesday, July 5, 2017&lt;/P&gt;&lt;P&gt;Thursday, July 6, 2017&lt;/P&gt;&lt;P&gt;Friday, July 7, 2017&lt;/P&gt;&lt;P&gt;Saturday, July 8, 2017&lt;/P&gt;&lt;P&gt;Sunday, July 9, 2017&lt;/P&gt;&lt;P&gt;Monday, July 10, 2017&lt;/P&gt;&lt;P&gt;Tuesday, July 11, 2017&lt;/P&gt;&lt;P&gt;Wednesday, July 12, 2017&lt;/P&gt;&lt;P&gt;Thursday, July 13, 2017&lt;/P&gt;&lt;P&gt;Friday, July 14, 2017&lt;/P&gt;&lt;P&gt;Saturday, July 15, 2017&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; want;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;array wkday(*)&amp;nbsp; Sunday &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Monday &amp;nbsp;&amp;nbsp; &amp;nbsp;Tuesday &amp;nbsp; &amp;nbsp;Wednesday &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Thursday &amp;nbsp;Friday &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Saturday (&lt;STRONG&gt;7&lt;/STRONG&gt;*&lt;STRONG&gt;0&lt;/STRONG&gt;);&lt;/P&gt;&lt;P&gt;do _n_=&lt;STRONG&gt;1&lt;/STRONG&gt; to dim(wkday);&lt;/P&gt;&lt;P&gt;if vname(wkday(_n_))=scan(period,&lt;STRONG&gt;1&lt;/STRONG&gt;) then wkday(_n_)=&lt;STRONG&gt;1&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;else wkday(_n_)=&lt;STRONG&gt;0&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Aug 2017 17:29:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Weekday-dummy-Variables/m-p/387102#M92780</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2017-08-10T17:29:15Z</dc:date>
    </item>
    <item>
      <title>Re: Weekday dummy Variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Weekday-dummy-Variables/m-p/387103#M92781</link>
      <description>&lt;P&gt;As long as you are starting with a SAS date, it's easy to create a variable that takes on values of 1 through 7, depending on the day of the week:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;WD = weekday(period);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1 = Sunday, 7 = Saturday&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;While you could create dummy variables from these values, it's probably unnecessary.&amp;nbsp; SAS procedures that would use dummy variables usually let you specify WD as a CLASS variable, so the procedure can create its own dummy variables.&lt;/P&gt;</description>
      <pubDate>Thu, 10 Aug 2017 17:30:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Weekday-dummy-Variables/m-p/387103#M92781</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-08-10T17:30:28Z</dc:date>
    </item>
    <item>
      <title>Re: Weekday dummy Variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Weekday-dummy-Variables/m-p/387125#M92795</link>
      <description>&lt;P&gt;Here's a variation on&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;&amp;nbsp;solution.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Most important changes - no loop initialization as that seems to imply RETAIN. This assumes you're working with SAS dates, not character variables.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;*create sample data;
data have;
do period='04Jun2017'd to '15Jul2017'd;
output;
end;
format period weekdate21.;
run;

*create array/dummy vars - note this is overparameterized;
data want;
set have;
array wkday(*) Days1-Days7;

*initialize to 0, if initialized, implicit retain messes up data;
do i=1 to 7;
wkday(i)=0;
end;

*find day of week for period;
day_of_week = weekday(period);
*assign to value of 1;
wkday(day_of_week)=1;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 10 Aug 2017 18:15:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Weekday-dummy-Variables/m-p/387125#M92795</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-08-10T18:15:44Z</dc:date>
    </item>
  </channel>
</rss>

