<?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 conditional data output in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/conditional-data-output/m-p/293995#M61308</link>
    <description>&lt;P&gt;&lt;SPAN&gt;data test;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;input cust_id rev_decile rev_data rev_sms&amp;nbsp; rev_vas;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;cards;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 10 194 132 132&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2 5 157 135 161&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3 9 193 118 122&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4 4 139 126 193&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5 3 138 160 178&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;6 3 135 108 176&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;7 1 129 166 186&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;8 2 129 156 102&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;9 2 129 160 186&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;10 5 159 161 141&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;11 1 110 148 190&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;12 4 141 185 180&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;13 9 185 175 198&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;14 10 199 128 158&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;15 6 167 108 132&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;16 8 175 181 132&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;17 8 177 159 168&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;18 7 169 129 104&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;19 6 161 181 125&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;20 7 174 120 123&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;run;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/*Analysis table output*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;proc sql;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;create table summary as&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; select rev_decile&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ,sum(rev_data)&amp;nbsp; as tot_data_rev ,sum(rev_sms) as&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;tot_rev_sms , sum(rev_vas) as&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tot_vas_rev&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;from test&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;group by 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;quit;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/*the above code will give output in scenario when all fileds have&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;valid data, in case any of the revenue variable is missing then i want&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;to output the data set which i had created below*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/*data for error message display*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;proc sql;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;create table empty_data_message&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(Obs char(5),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Comment char(100)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;QUIT;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;proc sql;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;insert into empty_data_message&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;values('1','There are no values for this selection');&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;select * from empty_data_message;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;quit;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I want to get the 'messaged output' if any of the field in raw file is not present. It is not necessary to follow the above procedure, looking forward for results.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks in advance&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 25 Aug 2016 12:26:53 GMT</pubDate>
    <dc:creator>farrukh</dc:creator>
    <dc:date>2016-08-25T12:26:53Z</dc:date>
    <item>
      <title>conditional data output</title>
      <link>https://communities.sas.com/t5/SAS-Programming/conditional-data-output/m-p/293995#M61308</link>
      <description>&lt;P&gt;&lt;SPAN&gt;data test;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;input cust_id rev_decile rev_data rev_sms&amp;nbsp; rev_vas;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;cards;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 10 194 132 132&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2 5 157 135 161&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3 9 193 118 122&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4 4 139 126 193&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5 3 138 160 178&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;6 3 135 108 176&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;7 1 129 166 186&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;8 2 129 156 102&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;9 2 129 160 186&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;10 5 159 161 141&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;11 1 110 148 190&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;12 4 141 185 180&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;13 9 185 175 198&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;14 10 199 128 158&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;15 6 167 108 132&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;16 8 175 181 132&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;17 8 177 159 168&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;18 7 169 129 104&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;19 6 161 181 125&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;20 7 174 120 123&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;run;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/*Analysis table output*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;proc sql;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;create table summary as&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; select rev_decile&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ,sum(rev_data)&amp;nbsp; as tot_data_rev ,sum(rev_sms) as&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;tot_rev_sms , sum(rev_vas) as&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tot_vas_rev&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;from test&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;group by 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;quit;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/*the above code will give output in scenario when all fileds have&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;valid data, in case any of the revenue variable is missing then i want&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;to output the data set which i had created below*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/*data for error message display*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;proc sql;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;create table empty_data_message&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(Obs char(5),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Comment char(100)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;QUIT;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;proc sql;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;insert into empty_data_message&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;values('1','There are no values for this selection');&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;select * from empty_data_message;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;quit;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I want to get the 'messaged output' if any of the field in raw file is not present. It is not necessary to follow the above procedure, looking forward for results.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks in advance&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Aug 2016 12:26:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/conditional-data-output/m-p/293995#M61308</guid>
      <dc:creator>farrukh</dc:creator>
      <dc:date>2016-08-25T12:26:53Z</dc:date>
    </item>
    <item>
      <title>Re: conditional data output</title>
      <link>https://communities.sas.com/t5/SAS-Programming/conditional-data-output/m-p/293999#M61310</link>
      <description>&lt;P&gt;First of all, creation of a 1-obs dataset is much easier achieved in a data step:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data empty_data_message;
length
  obs $5
  comment $100
;
obs = '1';
comment = 'There are no values for this selection';
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;For giving a message, I'd do&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;
set summary;
if
  tot_data_rev = . or
  tot_rev_sms = . or
  tot_vas_rev = .
then put 'There are no values for this selection';
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 25 Aug 2016 12:44:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/conditional-data-output/m-p/293999#M61310</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2016-08-25T12:44:42Z</dc:date>
    </item>
    <item>
      <title>Re: conditional data output</title>
      <link>https://communities.sas.com/t5/SAS-Programming/conditional-data-output/m-p/294002#M61312</link>
      <description>&lt;P&gt;Thanks for your reply, i will use this as an idea to fit my actual requirement.&lt;/P&gt;</description>
      <pubDate>Thu, 25 Aug 2016 12:56:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/conditional-data-output/m-p/294002#M61312</guid>
      <dc:creator>farrukh</dc:creator>
      <dc:date>2016-08-25T12:56:39Z</dc:date>
    </item>
    <item>
      <title>Re: conditional data output</title>
      <link>https://communities.sas.com/t5/SAS-Programming/conditional-data-output/m-p/294010#M61315</link>
      <description>&lt;P&gt;Actually the above solution hold true in case where the table summary is created, but in my case if the raw fields(variables e.g. any of revenue variable) is/are&amp;nbsp;not present then summary table will not be created. In this scenario i want to ODS output a message 'There are no values in the selected field' and this message can be output in form of data set if we are suing ODS excel output. If there is any other way then please suggest.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Aug 2016 13:12:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/conditional-data-output/m-p/294010#M61315</guid>
      <dc:creator>farrukh</dc:creator>
      <dc:date>2016-08-25T13:12:43Z</dc:date>
    </item>
    <item>
      <title>Re: conditional data output</title>
      <link>https://communities.sas.com/t5/SAS-Programming/conditional-data-output/m-p/294020#M61317</link>
      <description>&lt;P&gt;If you want to check if a certain variable is present in a dataset, read the table metadata from SASHELP.VCOLUMN:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let column=XX;

data _null_;
set sashelp.vcolumn (where=(libname='SASHELP' and memname = 'CLASS')) end=done;
retain flag 1;
if upcase(name) = upcase("&amp;amp;column") then flag = 0;
if done and flag then put 'Errormessage';
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 25 Aug 2016 13:31:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/conditional-data-output/m-p/294020#M61317</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2016-08-25T13:31:15Z</dc:date>
    </item>
  </channel>
</rss>

