<?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: To create data set based on multiple macro variables in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/To-create-data-set-based-on-multiple-macro-variables/m-p/297953#M62613</link>
    <description>&lt;P&gt;Could we take a step back here. &amp;nbsp;What is it your actually trying to do - test data/required output. &amp;nbsp;Why for instance are you counting numbers of X, and then putting that into a macro variable, then reading that data into a dataset? &amp;nbsp;It seems to be a very log way around doing a simple insert:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc sql;
&amp;nbsp; insert into RESULTS
&amp;nbsp; set TEST="ABC",
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RESULT=(select count(distinct SUBJECT) from ABC);
quit;&lt;/PRE&gt;
&lt;P&gt;However, even that seems a bit convoluted. &amp;nbsp;Why not just use the summary procedures and such like? &amp;nbsp;If its different datasets, and you need a count by dataset then here is simple example of how to combine the datasets (in your case you would just need to keep subject variable) then use the name of the dataset to create one dataset output with counts per dataset:&lt;/P&gt;
&lt;PRE&gt;data tmp1 tmp2;
  set sashelp.class;
  if sex="M" then output tmp1;
  else output tmp2;
run;

data have;
  length name $20;
  set tmp: indsname=n;
  name=n;
run;

proc sql;
  create table WANT as
  select  NAME,
          AGE,
          count(*) as RESULT
  from    HAVE
  group by NAME,AGE;
quit; &lt;/PRE&gt;
&lt;P&gt;As with anything there is never a need to resort to macro code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 13 Sep 2016 09:37:22 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2016-09-13T09:37:22Z</dc:date>
    <item>
      <title>To create data set based on multiple macro variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/To-create-data-set-based-on-multiple-macro-variables/m-p/297888#M62598</link>
      <description>&lt;P&gt;Dear all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I created multiple macro vairable stores differnt number of patients cnt using proc sql statements.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to put these macro vairables together using the following data step, however, there is error message. &amp;nbsp;I am wondering whether you can help me with how to put those variable together . &amp;nbsp;Thank you very much !&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; cnt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input cnt1 &amp;nbsp;&amp;nbsp;mark $ &lt;STRONG&gt;30&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;&amp;amp;peme&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; peme&lt;/P&gt;&lt;P&gt;&amp;amp;beva&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; beva&lt;/P&gt;&lt;P&gt;&amp;amp;peme_beva&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; peme_beva&lt;/P&gt;&lt;P&gt;&amp;amp;IOIO&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;&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; IOIO&lt;/P&gt;&lt;P&gt;&amp;amp;IOBF&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;&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; IOBF&lt;/P&gt;&lt;P&gt;&amp;amp;IOAF&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;&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; IOAF&lt;/P&gt;&lt;P&gt;&amp;amp;cntline2&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cntline2&lt;/P&gt;&lt;P&gt;&amp;amp;cntline2_chemo&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;&amp;nbsp; cntline2_chemo&lt;/P&gt;&lt;P&gt;&amp;amp;cntline2_cohort&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; cntline2_cohort&lt;/P&gt;&lt;P&gt;&amp;amp;cntline2_chemo_cohort&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cntline2_chemo_cohort&lt;/P&gt;&lt;P&gt;&amp;amp;Refra &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;&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;Refra&lt;/P&gt;&lt;P&gt;&amp;amp;refra_12_y&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; refra_12_y&lt;/P&gt;&lt;P&gt;&amp;amp;refra_12_n&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; refra_12_n&lt;/P&gt;&lt;P&gt;&amp;amp;refra_9_y&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; refra_9_y&lt;/P&gt;&lt;P&gt;&amp;amp;refra_9_n&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; refra_9_n&lt;/P&gt;&lt;P&gt;&amp;amp;refra_12_y_b&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;&amp;nbsp;&amp;nbsp; refra_12_y_b&lt;/P&gt;&lt;P&gt;&amp;amp;refra_12_n_b&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; refra_12_n_b&lt;/P&gt;&lt;P&gt;&amp;amp;refra_9_y_b&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; refra_9_y_b&lt;/P&gt;&lt;P&gt;&amp;amp;refra_9_n_b&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; refra_9_n_b&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Sep 2016 01:50:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/To-create-data-set-based-on-multiple-macro-variables/m-p/297888#M62598</guid>
      <dc:creator>Ivy</dc:creator>
      <dc:date>2016-09-13T01:50:08Z</dc:date>
    </item>
    <item>
      <title>Re: To create data set based on multiple macro variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/To-create-data-set-based-on-multiple-macro-variables/m-p/297894#M62601</link>
      <description>&lt;PRE&gt;
That is bad coding, Try symget() to retrieve these macro variables.




%let peme=x;
%let beva=y;
data cnt;
      input  mark $;
cnt1=symget(mark);
cards;           
peme
beva
;
run;

&lt;/PRE&gt;</description>
      <pubDate>Tue, 13 Sep 2016 02:29:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/To-create-data-set-based-on-multiple-macro-variables/m-p/297894#M62601</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-09-13T02:29:49Z</dc:date>
    </item>
    <item>
      <title>Re: To create data set based on multiple macro variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/To-create-data-set-based-on-multiple-macro-variables/m-p/297915#M62606</link>
      <description>&lt;P&gt;As noted, you'd be better off storing the values as you calculated them, rather than after the fact.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Sep 2016 05:44:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/To-create-data-set-based-on-multiple-macro-variables/m-p/297915#M62606</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-09-13T05:44:03Z</dc:date>
    </item>
    <item>
      <title>Re: To create data set based on multiple macro variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/To-create-data-set-based-on-multiple-macro-variables/m-p/297927#M62609</link>
      <description>&lt;P&gt;Within a &lt;FONT face="courier new,courier"&gt;cards;&lt;/FONT&gt; block, macro triggers won't work.&lt;/P&gt;
&lt;P&gt;Use the symget function to retrieve macro values instead, as &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18408"&gt;@Ksharp﻿&lt;/a&gt; already suggested.&lt;/P&gt;</description>
      <pubDate>Tue, 13 Sep 2016 07:16:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/To-create-data-set-based-on-multiple-macro-variables/m-p/297927#M62609</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2016-09-13T07:16:07Z</dc:date>
    </item>
    <item>
      <title>Re: To create data set based on multiple macro variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/To-create-data-set-based-on-multiple-macro-variables/m-p/297953#M62613</link>
      <description>&lt;P&gt;Could we take a step back here. &amp;nbsp;What is it your actually trying to do - test data/required output. &amp;nbsp;Why for instance are you counting numbers of X, and then putting that into a macro variable, then reading that data into a dataset? &amp;nbsp;It seems to be a very log way around doing a simple insert:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc sql;
&amp;nbsp; insert into RESULTS
&amp;nbsp; set TEST="ABC",
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RESULT=(select count(distinct SUBJECT) from ABC);
quit;&lt;/PRE&gt;
&lt;P&gt;However, even that seems a bit convoluted. &amp;nbsp;Why not just use the summary procedures and such like? &amp;nbsp;If its different datasets, and you need a count by dataset then here is simple example of how to combine the datasets (in your case you would just need to keep subject variable) then use the name of the dataset to create one dataset output with counts per dataset:&lt;/P&gt;
&lt;PRE&gt;data tmp1 tmp2;
  set sashelp.class;
  if sex="M" then output tmp1;
  else output tmp2;
run;

data have;
  length name $20;
  set tmp: indsname=n;
  name=n;
run;

proc sql;
  create table WANT as
  select  NAME,
          AGE,
          count(*) as RESULT
  from    HAVE
  group by NAME,AGE;
quit; &lt;/PRE&gt;
&lt;P&gt;As with anything there is never a need to resort to macro code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Sep 2016 09:37:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/To-create-data-set-based-on-multiple-macro-variables/m-p/297953#M62613</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2016-09-13T09:37:22Z</dc:date>
    </item>
    <item>
      <title>Re: To create data set based on multiple macro variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/To-create-data-set-based-on-multiple-macro-variables/m-p/298019#M62627</link>
      <description>&lt;P&gt;Dear all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for your valueable knowledge !&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That really helps !&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ivy&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Sep 2016 13:14:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/To-create-data-set-based-on-multiple-macro-variables/m-p/298019#M62627</guid>
      <dc:creator>Ivy</dc:creator>
      <dc:date>2016-09-13T13:14:04Z</dc:date>
    </item>
  </channel>
</rss>

