<?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: Assign specific value to a group of variables in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Assign-specific-value-to-a-group-of-variables/m-p/477842#M286267</link>
    <description>&lt;P&gt;I don't understand this request:&lt;STRONG&gt; "For each ticker-date, the three variables (alpha, delta, gamma) randomly take values from the set {0.1, 0.3, 0.5, 0.7, 0.9}, one at a time."&lt;/STRONG&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Afterwards you want to generate every possible combination of values for alpha, delta and gamma? In that regard,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32733"&gt;@FreelanceReinh&lt;/a&gt;s solution is solid.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want to assign values from the specified set&amp;nbsp;&lt;STRONG&gt;{0.1, 0.3, 0.5, 0.7, 0.9}&lt;/STRONG&gt; to&amp;nbsp;&lt;SPAN&gt;alpha, delta and gamma, use the RAND Function with the Tables distribution. Some basic examples are given in the article &lt;A href="https://blogs.sas.com/content/iml/2011/07/13/simulate-categorical-data-in-sas.html" target="_self"&gt;Simulate Categorical Data In SAS&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 13 Jul 2018 12:03:30 GMT</pubDate>
    <dc:creator>PeterClemmensen</dc:creator>
    <dc:date>2018-07-13T12:03:30Z</dc:date>
    <item>
      <title>Assign specific value to a group of variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-specific-value-to-a-group-of-variables/m-p/477822#M286265</link>
      <description>&lt;P&gt;Hi everyone. I have an initial dataset like this&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data trades; 
input ticker date : monyy7. B S;
format date monyy7.;
 cards;
99999  JAN2001 90 40
99999  FEB2001 40 90
88888  MAY2002 40 70
88888  JUN2002 40 40
 ;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Now I want to create 3 variables: alpha, delta, gamma.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For each ticker-date, the three variables (alpha, delta, gamma) randomly take values from the set {0.1, 0.3, 0.5, 0.7, 0.9}, one at a time.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So for each ticker-date pair, there are 125 combinations of alpha, delta, gamma (there are 5 choices for alpha, followed by 5 choices for delta, followed by 5 choices for gamma ==&amp;gt; total = 5^3 combinations for each ticker-date)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So the output dataset is like this&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;Ticker&lt;/STRONG&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Date&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;B&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;S&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Alpha&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Delta&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Gamma&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;99999&lt;/TD&gt;&lt;TD&gt;Jan2001&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;40&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;99999&lt;/TD&gt;&lt;TD&gt;Jan2001&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;40&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;99999&lt;/TD&gt;&lt;TD&gt;Jan2001&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;40&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;99999&lt;/TD&gt;&lt;TD&gt;Jan2001&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;40&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;99999&lt;/TD&gt;&lt;TD&gt;Jan2001&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;40&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;99999&lt;/TD&gt;&lt;TD&gt;Jan2001&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;40&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.3&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;99999&lt;/TD&gt;&lt;TD&gt;Jan2001&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;40&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.3&lt;/TD&gt;&lt;TD&gt;0.3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;99999&lt;/TD&gt;&lt;TD&gt;Jan2001&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;40&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.3&lt;/TD&gt;&lt;TD&gt;0.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;99999&lt;/TD&gt;&lt;TD&gt;Jan2001&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;40&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.3&lt;/TD&gt;&lt;TD&gt;0.7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;99999&lt;/TD&gt;&lt;TD&gt;Jan2001&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;40&lt;/TD&gt;&lt;TD&gt;0.1&lt;/TD&gt;&lt;TD&gt;0.3&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;…..&lt;/TD&gt;&lt;TD&gt;……..&lt;/TD&gt;&lt;TD&gt;………&lt;/TD&gt;&lt;TD&gt;……..&lt;/TD&gt;&lt;TD&gt;………&lt;/TD&gt;&lt;TD&gt;……&lt;/TD&gt;&lt;TD&gt;……….&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Could anyone please help me how to do this? Thank you very much&lt;/P&gt;</description>
      <pubDate>Fri, 13 Jul 2018 10:26:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-specific-value-to-a-group-of-variables/m-p/477822#M286265</guid>
      <dc:creator>trungcva112</dc:creator>
      <dc:date>2018-07-13T10:26:22Z</dc:date>
    </item>
    <item>
      <title>Re: Assign specific value to a group of variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-specific-value-to-a-group-of-variables/m-p/477838#M286266</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/181905"&gt;@trungcva112&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The dataset containing &lt;EM&gt;all&lt;/EM&gt; combinations (sorted by alpha, delta, gamma within each&lt;SPAN&gt;&amp;nbsp;ticker-date pair&lt;/SPAN&gt;) could be created using DO loops:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set trades;
do alpha=0.1, 0.3, 0.5, 0.7, 0.9;
  do delta=0.1, 0.3, 0.5, 0.7, 0.9;
    do gamma=0.1, 0.3, 0.5, 0.7, 0.9;
      output;
    end;
  end;
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;To have alpha, delta and gamma &lt;EM&gt;randomly&lt;/EM&gt; take values, a random number function would be applied at some point, but this doesn't seem to be what you want.&lt;/P&gt;</description>
      <pubDate>Fri, 13 Jul 2018 11:55:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-specific-value-to-a-group-of-variables/m-p/477838#M286266</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2018-07-13T11:55:44Z</dc:date>
    </item>
    <item>
      <title>Re: Assign specific value to a group of variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-specific-value-to-a-group-of-variables/m-p/477842#M286267</link>
      <description>&lt;P&gt;I don't understand this request:&lt;STRONG&gt; "For each ticker-date, the three variables (alpha, delta, gamma) randomly take values from the set {0.1, 0.3, 0.5, 0.7, 0.9}, one at a time."&lt;/STRONG&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Afterwards you want to generate every possible combination of values for alpha, delta and gamma? In that regard,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32733"&gt;@FreelanceReinh&lt;/a&gt;s solution is solid.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want to assign values from the specified set&amp;nbsp;&lt;STRONG&gt;{0.1, 0.3, 0.5, 0.7, 0.9}&lt;/STRONG&gt; to&amp;nbsp;&lt;SPAN&gt;alpha, delta and gamma, use the RAND Function with the Tables distribution. Some basic examples are given in the article &lt;A href="https://blogs.sas.com/content/iml/2011/07/13/simulate-categorical-data-in-sas.html" target="_self"&gt;Simulate Categorical Data In SAS&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 13 Jul 2018 12:03:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-specific-value-to-a-group-of-variables/m-p/477842#M286267</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2018-07-13T12:03:30Z</dc:date>
    </item>
    <item>
      <title>Re: Assign specific value to a group of variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-specific-value-to-a-group-of-variables/m-p/477844#M286268</link>
      <description>&lt;P&gt;Cartesian Product.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data x;
do i=0.1, 0.3, 0.5, 0.7, 0.9;
 output;
end;
run;

data trades; 
input ticker date : monyy7. B S;
n+1;
format date monyy7.;
 cards;
99999  JAN2001 90 40
99999  FEB2001 40 90
88888  MAY2002 40 70
88888  JUN2002 40 40
 ;
run;

proc sql;
create table want as
 select a.*,b.i as alpha,c.i as beta,d.i as gamma
  from trades as a,x as b,x as c,x as d
   order by n,alpha,beta,gamma;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 13 Jul 2018 12:08:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-specific-value-to-a-group-of-variables/m-p/477844#M286268</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-07-13T12:08:35Z</dc:date>
    </item>
    <item>
      <title>Re: Assign specific value to a group of variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-specific-value-to-a-group-of-variables/m-p/477845#M286269</link>
      <description>&lt;P&gt;Another way to have fun with it: Use SQL's capabilty of building cartesian joins:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data trades; 
input ticker date : monyy7. B S;
format date monyy7.;
 cards;
99999  JAN2001 90 40
99999  FEB2001 40 90
88888  MAY2002 40 70
88888  JUN2002 40 40
 ;
run;

data source;
input value;
cards;
0.1
0.3
0.5
0.7
0.9
;
run;

proc sql;
create table want as
select * from
  trades,
  source (rename=(value=alpha)),
  source (rename=(value=delta)),
  source (rename=(value=gamma))
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="1 2 3 4 5 6 7"&gt;&lt;EM&gt;Edit: expanded the code with dataset trades.&lt;/EM&gt; &lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 13 Jul 2018 12:10:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-specific-value-to-a-group-of-variables/m-p/477845#M286269</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-07-13T12:10:50Z</dc:date>
    </item>
    <item>
      <title>Re: Assign specific value to a group of variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Assign-specific-value-to-a-group-of-variables/m-p/477863#M286270</link>
      <description>&lt;P&gt;Hi draycut. Yes, I would like to generate &lt;STRONG&gt;all&lt;/STRONG&gt; possible combination of values for alpha, delta and gamma. So each ticker-date pair must has 125 combinations, with no duplicate. I will try &lt;A href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32733" target="_blank"&gt;@FreelanceReinhard&lt;/A&gt;s solution&lt;/P&gt;</description>
      <pubDate>Fri, 13 Jul 2018 13:36:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Assign-specific-value-to-a-group-of-variables/m-p/477863#M286270</guid>
      <dc:creator>trungcva112</dc:creator>
      <dc:date>2018-07-13T13:36:42Z</dc:date>
    </item>
  </channel>
</rss>

