<?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: Bug in Macro: Fail to output 1st run result. in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141897#M28479</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The log did not trigger any warning or error message.&lt;/P&gt;&lt;P&gt;I am not getting the 1st run output as showed in the picture (have3 was in the 1st order and thus did not have the result).&lt;/P&gt;&lt;P&gt;I am run SAS EG on Server, may be something wrong beyond my control.&lt;/P&gt;&lt;P&gt;&lt;IMG alt="not output the 1st run.JPG" class="jive-image-thumbnail jive-image" src="https://communities.sas.com/legacyfs/online/8286_not output the 1st run.JPG" width="450" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 08 Dec 2014 23:13:17 GMT</pubDate>
    <dc:creator>jiangmi</dc:creator>
    <dc:date>2014-12-08T23:13:17Z</dc:date>
    <item>
      <title>Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141893#M28475</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am running a macro. I need to output the results into a fileref (lst_out).&lt;/P&gt;&lt;P&gt;The problem is: it will only output the 2nd run and after when you run 2 and more macros together.&lt;/P&gt;&lt;P&gt;I tried to debug it for a while now. I think I need some extra help.&lt;/P&gt;&lt;P&gt;The original macro is long, I downsized it to show the problem.&lt;/P&gt;&lt;P&gt;Sample data (bugdata.txt) was attached.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************;&lt;/P&gt;&lt;P&gt;/*1. Prepare the data.*/&lt;/P&gt;&lt;P&gt;data have ;&lt;/P&gt;&lt;P&gt;infile '/SASData/... .../BUG/bugdata.txt' ;&lt;/P&gt;&lt;P&gt;input score bad index;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;data have1 have2 have3;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;if index=1 then output have1;&lt;/P&gt;&lt;P&gt;if index=2 then output have2;&lt;/P&gt;&lt;P&gt;if index=3 then output have3;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*2. the macro*/&lt;/P&gt;&lt;P&gt;%macro calculation (data = , score = , y = );&lt;/P&gt;&lt;P&gt;options nonumber nodate orientation = landscape linesize = 160 nocenter&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; formchar = "|----|+|---+=|-/\&amp;lt;&amp;gt;*" formdlim=' ' ls = 150;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data _tmp1 (keep = &amp;amp;y &amp;amp;score);&lt;/P&gt;&lt;P&gt;&amp;nbsp; set &amp;amp;data;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;filename lst_out "/SASData/... .../BUG/&amp;amp;data..txt";&lt;/P&gt;&lt;P&gt;proc printto&amp;nbsp; print = lst_out new; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*** Step_1 ***;&lt;/P&gt;&lt;P&gt;/*ods output kolsmir2stats = _ks;*/&lt;/P&gt;&lt;P&gt;proc npar1way wilcoxon edf data = _tmp1;&lt;/P&gt;&lt;P&gt;class &amp;amp;y; var &amp;amp;score; run;&lt;/P&gt;&lt;P&gt;proc printto; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*** Step_2 ***;&lt;/P&gt;&lt;P&gt;ods listing close;&lt;/P&gt;&lt;P&gt;/*ods output spearmancorr = _cor;*/&lt;/P&gt;&lt;P&gt;/*proc corr data = _tmp1 spearman;*/&lt;/P&gt;&lt;P&gt;/*&amp;nbsp; var &amp;amp;y;*/&lt;/P&gt;&lt;P&gt;/*&amp;nbsp; with &amp;amp;score;*/&lt;/P&gt;&lt;P&gt;/*run;*/&lt;/P&gt;&lt;P&gt;ods listing;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%mend calculation;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*3. The problem.*/&lt;/P&gt;&lt;P&gt;/*No matter which order the three macro run, the first run will not have 'lst_out' output*/&lt;/P&gt;&lt;P&gt;%calculation(data = have2, score = score, y = bad);&lt;/P&gt;&lt;P&gt;%calculation(data = have1, score = score, y = bad);&lt;/P&gt;&lt;P&gt;%calculation(data = have3, score = score, y = bad);&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Dec 2014 19:18:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141893#M28475</guid>
      <dc:creator>jiangmi</dc:creator>
      <dc:date>2014-12-08T19:18:56Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141894#M28476</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The second run shouldn't be producing anything in the final file either.&amp;nbsp; The problem lies with:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc printto&amp;nbsp; print = lst_out new; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"NEW" means that the file should be overwritten.&amp;nbsp; You need to add NEW the first time, and remove it for the second and third runs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Dec 2014 20:11:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141894#M28476</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2014-12-08T20:11:04Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141895#M28477</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The code you've posted works for me the very first time already (code as run posted below).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What you observe is normally caused by some wrong sequence in the code, so for example by trying to use a global macro variable before it has been created. If you then run the code for a second time in the same session the macro variable will exist and things work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First thing I would do: Consult the SAS log after the first run for any Warning messages or even SAS Notes which could give you a hint what's missing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let path=c:\temp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*1. Prepare the data.*/&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; infile "&amp;amp;path\bugdata.txt";&lt;/P&gt;&lt;P&gt;&amp;nbsp; input score bad index;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have1 have2 have3;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if index=1 then&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output have1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if index=2 then&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output have2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if index=3 then&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output have3;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*2. the macro*/&lt;/P&gt;&lt;P&gt;%macro calculation (data = , score = , y = );&lt;/P&gt;&lt;P&gt;&amp;nbsp; options nonumber nodate orientation = landscape linesize = 160 nocenter&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; formchar = "|----|+|---+=|-/\&amp;lt;&amp;gt;*" formdlim=' ' ls = 150;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; data _tmp1 (keep = &amp;amp;y &amp;amp;score);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set &amp;amp;data;&lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; filename lst_out "&amp;amp;path\&amp;amp;data..txt";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; proc printto&amp;nbsp; print = lst_out new;&lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; *** Step_1 ***;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /*ods output kolsmir2stats = _ks;*/&lt;/P&gt;&lt;P&gt;&amp;nbsp; proc npar1way wilcoxon edf data = _tmp1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; class &amp;amp;y;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var &amp;amp;score;&lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; proc printto print=print;&lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;%mend calculation;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*3. The problem.*/&lt;/P&gt;&lt;P&gt;/*No matter which order the three macro run, the first run will not have 'lst_out' output*/&lt;/P&gt;&lt;P&gt;%calculation(data = have2, score = score, y = bad);&lt;/P&gt;&lt;P&gt;/*%calculation(data = have1, score = score, y = bad);*/&lt;/P&gt;&lt;P&gt;/*%calculation(data = have3, score = score, y = bad);*/&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Dec 2014 20:28:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141895#M28477</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2014-12-08T20:28:34Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141896#M28478</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The only way I got it to run was by commenting out the 2 ods listing lines, i.e.,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 12.7272720336914px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;/*ods listing close;*/&lt;/P&gt;&lt;P style="font-size: 12.7272720336914px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;/*&lt;SPAN style="font-size: 12.7272720336914px; line-height: 1.5em;"&gt;ods listing;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 12.7272720336914px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-size: 12.7272720336914px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;A __default_attr="12296" __jive_macro_name="user" class="jive_macro jive_macro_user" data-objecttype="3" href="https://communities.sas.com/"&gt;&lt;/A&gt; didn't mention that, but had removed those two lines in his response.&lt;/P&gt;&lt;P style="font-size: 12.7272720336914px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-size: 12.7272720336914px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Also, you don't need the semi-colons at the end of the lines where you call the macro. i.e.:&lt;/P&gt;&lt;P style="font-size: 12.7272720336914px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-size: 12.7272720336914px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;%calculation(data = have2, score = score, y = bad)&lt;/P&gt;&lt;P style="font-size: 12.7272720336914px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;%calculation(data = have1, score = score, y = bad)&lt;/P&gt;&lt;P style="font-size: 12.7272720336914px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;%calculation(data = have3, score = score, y = bad)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Dec 2014 22:10:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141896#M28478</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2014-12-08T22:10:16Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141897#M28479</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The log did not trigger any warning or error message.&lt;/P&gt;&lt;P&gt;I am not getting the 1st run output as showed in the picture (have3 was in the 1st order and thus did not have the result).&lt;/P&gt;&lt;P&gt;I am run SAS EG on Server, may be something wrong beyond my control.&lt;/P&gt;&lt;P&gt;&lt;IMG alt="not output the 1st run.JPG" class="jive-image-thumbnail jive-image" src="https://communities.sas.com/legacyfs/online/8286_not output the 1st run.JPG" width="450" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Dec 2014 23:13:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141897#M28479</guid>
      <dc:creator>jiangmi</dc:creator>
      <dc:date>2014-12-08T23:13:17Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141898#M28480</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can you post the log?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My guess is that a macro variable isn't moving to the server&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 00:02:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141898#M28480</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2014-12-09T00:02:39Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141899#M28481</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I will post the log tomorrow.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, it runs fine on my local SAS (see attached). Must be something wrong on the server end.&lt;/P&gt;&lt;P&gt;&lt;IMG alt="LocalSASOK.JPG" class="jive-image-thumbnail jive-image" src="https://communities.sas.com/legacyfs/online/8287_LocalSASOK.JPG" width="450" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 05:04:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141899#M28481</guid>
      <dc:creator>jiangmi</dc:creator>
      <dc:date>2014-12-09T05:04:08Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141900#M28482</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;(This is the log file copy)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The SAS System&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1 ;*';*";*/;quit;run;&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OPTIONS PAGENO=MIN;&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _CLIENTTASKLABEL='2014.12.08_GainTableBug';&lt;/P&gt;&lt;P&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _CLIENTPROJECTPATH='';&lt;/P&gt;&lt;P&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _CLIENTPROJECTNAME='';&lt;/P&gt;&lt;P&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _SASPROGRAMFILE=;&lt;/P&gt;&lt;P&gt;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ODS _ALL_ CLOSE;&lt;/P&gt;&lt;P&gt;9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OPTIONS DEV=ACTIVEX;&lt;/P&gt;&lt;P&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GOPTIONS XPIXELS=0 YPIXELS=0;&lt;/P&gt;&lt;P&gt;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FILENAME EGSR TEMP;&lt;/P&gt;&lt;P&gt;12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ODS tagsets.sasreport12(ID=EGSR) FILE=EGSR STYLE=Analysis&lt;/P&gt;&lt;P&gt;12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! STYLESHEET=(URL="file:///C:/Program%20Files/SAS/EnterpriseGuide/4.3/Styles/Analysis.css") NOGTITLE NOGFOOTNOTE GPATH=&amp;amp;sasworklocation&lt;/P&gt;&lt;P&gt;12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! ENCODING=UTF8 options(rolap="on");&lt;/P&gt;&lt;P&gt;NOTE: Writing TAGSETS.SASREPORT12(EGSR) Body file: EGSR&lt;/P&gt;&lt;P&gt;13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GOPTIONS ACCESSIBLE;&lt;/P&gt;&lt;P&gt;15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*2. the macro*/&lt;/P&gt;&lt;P&gt;16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %macro calculation (data = , score = , y = );&lt;/P&gt;&lt;P&gt;17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; options nonumber nodate orientation = landscape linesize = 160 nocenter&lt;/P&gt;&lt;P&gt;18 formchar = "|----|+|---+=|-/\&amp;lt;&amp;gt;*" formdlim=' ' ls = 150;&lt;/P&gt;&lt;P&gt;19&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data _tmp1 (keep = &amp;amp;y &amp;amp;score);&lt;/P&gt;&lt;P&gt;21&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set &amp;amp;data;&lt;/P&gt;&lt;P&gt;22&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;23&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; filename lst_out "/SASData/SASUSER/SAS_CREDRISK_SHARE/ART/Consumer/MK/BUG/&amp;amp;data..txt";&lt;/P&gt;&lt;P&gt;25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc printto&amp;nbsp; print = lst_out new; run;&lt;/P&gt;&lt;P&gt;26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *** Step_1 ***;&lt;/P&gt;&lt;P&gt;28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*ods output kolsmir2stats = _ks;*/&lt;/P&gt;&lt;P&gt;29&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc npar1way wilcoxon edf data = _tmp1;&lt;/P&gt;&lt;P&gt;30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class &amp;amp;y; var &amp;amp;score; run;&lt;/P&gt;&lt;P&gt;31&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc printto; run;&lt;/P&gt;&lt;P&gt;32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;33&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *** Step_2 ***;&lt;/P&gt;&lt;P&gt;34&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ods listing close;&lt;/P&gt;&lt;P&gt;35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*ods output spearmancorr = _cor;*/&lt;/P&gt;&lt;P&gt;36&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*proc corr data = _tmp1 spearman;*/&lt;/P&gt;&lt;P&gt;37&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&amp;nbsp; var &amp;amp;y;*/&lt;/P&gt;&lt;P&gt;38&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&amp;nbsp; with &amp;amp;score;*/&lt;/P&gt;&lt;P&gt;39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*run;*/&lt;/P&gt;&lt;P&gt;40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ods listing;&lt;/P&gt;&lt;P&gt;41&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;42&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %mend calculation;&lt;/P&gt;&lt;P&gt;43&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;44&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*3. The problem.*/&lt;/P&gt;&lt;P&gt;45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*No matter which order the three macro run, the first run will not have 'lst_out' output*/&lt;/P&gt;&lt;P&gt;46 %calculation(data = have3, score = score, y = bad);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: There were 50 observations read from the data set WORK.HAVE3.&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK._TMP1 has 50 observations and 2 variables.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: PROCEDURE PRINTTO used (Total process time):&lt;/P&gt;&lt;P&gt;The SAS System&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: There were 50 observations read from the data set WORK._TMP1.&lt;/P&gt;&lt;P&gt;NOTE: PROCEDURE NPAR1WAY used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.02 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.02 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: PROCEDURE PRINTTO used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;47 %calculation(data = have1, score = score, y = bad);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: There were 50 observations read from the data set WORK.HAVE1.&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK._TMP1 has 50 observations and 2 variables.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: PROCEDURE PRINTTO used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: There were 50 observations read from the data set WORK._TMP1.&lt;/P&gt;&lt;P&gt;NOTE: The PROCEDURE NPAR1WAY printed pages 1-2.&lt;/P&gt;&lt;P&gt;NOTE: PROCEDURE NPAR1WAY used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.02 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.02 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: PROCEDURE PRINTTO used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;48 %calculation(data = have2, score = score, y = bad);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: There were 50 observations read from the data set WORK.HAVE2.&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK._TMP1 has 50 observations and 2 variables.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: PROCEDURE PRINTTO used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The SAS System&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: There were 50 observations read from the data set WORK._TMP1.&lt;/P&gt;&lt;P&gt;NOTE: The PROCEDURE NPAR1WAY printed pages 3-4.&lt;/P&gt;&lt;P&gt;NOTE: PROCEDURE NPAR1WAY used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.03 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.03 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: PROCEDURE PRINTTO used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;49&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;51&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GOPTIONS NOACCESSIBLE;&lt;/P&gt;&lt;P&gt;52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _CLIENTTASKLABEL=;&lt;/P&gt;&lt;P&gt;53&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _CLIENTPROJECTPATH=;&lt;/P&gt;&lt;P&gt;54&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _CLIENTPROJECTNAME=;&lt;/P&gt;&lt;P&gt;55&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %LET _SASPROGRAMFILE=;&lt;/P&gt;&lt;P&gt;56&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;57 ;*';*";*/;quit;run;&lt;/P&gt;&lt;P&gt;58&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ODS _ALL_ CLOSE;&lt;/P&gt;&lt;P&gt;59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;60&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;61&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; QUIT; RUN;&lt;/P&gt;&lt;P&gt;62&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 14:01:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141900#M28482</guid>
      <dc:creator>jiangmi</dc:creator>
      <dc:date>2014-12-09T14:01:04Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141901#M28483</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You didn't respond to my suggestion yesterday, but now have included a third ODS statement at the end. Do you really need those three ODS statements?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is a note from the documentation regarding ODS _ALL_CLOSE (see: &lt;A href="http://support.sas.com/documentation/cdl/en/odsug/61723/HTML/default/viewer.htm#a002233267.htm" title="http://support.sas.com/documentation/cdl/en/odsug/61723/HTML/default/viewer.htm#a002233267.htm"&gt;SAS(R) 9.2 Output Delivery System: User's Guide&lt;/A&gt;&amp;nbsp; &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/P&gt;&lt;P style="margin: 1.4em 0 0; font-size: 13.63636302948px; font-family: arial, 'Arial Unicode MS', geneva, 'Lucida Grande', sans-serif; color: #000000; background-color: #ffffff;"&gt;&lt;SPAN class="strong" style="font-weight: bold;"&gt;Note:&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; Be sure to open one or more ODS destinations before you execute your next program so that you can view or print your output within the same SAS session.&amp;nbsp;&amp;nbsp; &lt;IMG align="bottom" alt="[cautionend]" border="0" class="jiveImage" src="http://support.sas.com/documentation/cdl/en/common/61991/HTML/default/images/cautend.gif" style="font-size: 13.63636302948px; font-family: inherit;" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 14:38:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141901#M28483</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2014-12-09T14:38:46Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141902#M28484</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Arthur,&lt;/P&gt;&lt;P&gt;Thanks for look into this issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The third ODS statement (line 58, in the log file I assume you are referring to) was add into the log file by SAS at the end of the run. &lt;/P&gt;&lt;P&gt;All I have is the two lines (line 34 &amp;amp; 40). These two lines are needed in the macro run (for line 35-39). If I comment out these two lines (line 34&amp;amp;40), I won't have anything output to the fileref (see the attached picture):&lt;/P&gt;&lt;P&gt;&lt;IMG alt="NoOdsList.JPG" class="jive-image-thumbnail jive-image" src="https://communities.sas.com/legacyfs/online/8302_NoOdsList.JPG" width="450" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Again, &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12.7272720336914px; background-color: #ffffff;"&gt;the macro runs fine on my local SAS. I think it is something wrong on the server end. It actually happened before with other codes (like gchart) as well.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 17:02:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141902#M28484</guid>
      <dc:creator>jiangmi</dc:creator>
      <dc:date>2014-12-09T17:02:25Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141903#M28485</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What version of SAS are you using locally and what version on your server? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ANd what are you trying to do oversll? I get that your current code doesnt work, but it also appears inefficient and cumbersome. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 17:07:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141903#M28485</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2014-12-09T17:07:28Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141904#M28486</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Reeza,&lt;/P&gt;&lt;P&gt;Thanks for looking into this issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAS9.1 on my local computer.&lt;/P&gt;&lt;P&gt;SAS EG 4.3 on the server.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The macro I posted here is actually a part of a big macro to evaluate model performance. I deleted a majority part to show the problem point. The purpose of 'filename lst_out' and '&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12.7272720336914px; background-color: #ffffff;"&gt;proc printto&amp;nbsp; print = lst_out new;&lt;/SPAN&gt;' (line 24, 25 in log file) is to output the result and grab a number (ks_score,&amp;nbsp; " at Maximum = ") from the outputted document and put it into a macro variable (&lt;SPAN style="font-size: 13.63636302948px;"&gt;&amp;amp;ks_score&lt;/SPAN&gt;) which will be used in the report later. If the result was not able to be outputted, then nothing can be grabbed, therefore no value can be assigned to the &lt;SPAN style="font-size: 13.63636302948px;"&gt;macro variable&lt;/SPAN&gt;. Here is the original full macro: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro calculation (data = , score = , y = );&lt;/P&gt;&lt;P&gt;options nonumber nodate orientation = landscape linesize = 160 nocenter &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; formchar = "|----|+|---+=|-/\&amp;lt;&amp;gt;*" formdlim=' ' ls = 150; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*** DEFAULT GROUP NUMBER FOR REPORT ***;&lt;/P&gt;&lt;P&gt;%let grp = 10;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data _tmp1 (keep = &amp;amp;y &amp;amp;score);&lt;/P&gt;&lt;P&gt;&amp;nbsp; set &amp;amp;data;&lt;/P&gt;&lt;P&gt;&amp;nbsp; where &amp;amp;y in (1, 0)&amp;nbsp; and &amp;amp;score ~= .;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;filename lst_out temp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc printto new print = lst_out;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*** CONDUCT NON-PARAMETRIC TESTS ***; &lt;/P&gt;&lt;P&gt;ods output wilcoxonscores = _wx;&lt;/P&gt;&lt;P&gt;ods output kolsmir2stats = _ks;&lt;/P&gt;&lt;P&gt;proc npar1way wilcoxon edf data = _tmp1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; class &amp;amp;y;&lt;/P&gt;&lt;P&gt;&amp;nbsp; var &amp;amp;score;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc printto;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data = _wx;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by class;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*** CALCULATE ROC AND GINI ***;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set _wx end = eof;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by class;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array a{2, 3} _temporary_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_ = 1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[1, 1] = n;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[1, 2] = sumofscores;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[1, 3] = expectedsum;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[2, 1] = n;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if eof then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; auc&amp;nbsp; = (a[1, 2] - a[1, 3]) / (a[1, 1] * a[2, 1])&amp;nbsp; + 0.5;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if auc &amp;lt;= 0.5 then auc = 1 - auc;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gini = 2 * (auc - 0.5);&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call execute('%let auc = '||put(auc, 10.4)||';');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call execute('%let gini = '||put(gini, 10.4)||';');&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*** CALCULATE KS ***;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set _ks;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_ = 1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ks = nvalue2 * 100;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call execute('%let ks = '||put(ks, 10.4)||';');&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*** CAPTURE SCORE POINT FOR MAX KS ***;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; infile lst_out;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input @" at Maximum = " ks_score;&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; call execute('%let ks_score = '||put(ks_score, 10.4)||';');&lt;/P&gt;&lt;P&gt;&amp;nbsp; stop;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc summary data = _tmp1 nway;&lt;/P&gt;&lt;P&gt;&amp;nbsp; class &amp;amp;y;&lt;/P&gt;&lt;P&gt;&amp;nbsp; output out = _data_ (drop = _type_ _freq_)&lt;/P&gt;&lt;P&gt;&amp;nbsp; mean(&amp;amp;score.) = mean var(&amp;amp;score.) = variance;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*** CALCULATE DIVERGENCE ***;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set _last_ end = eof;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array a{2, 2} _temporary_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_ = 1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[1, 1] = mean;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[1, 2] = variance;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[2, 1] = mean;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[2, 2] = variance;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if eof then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; divergence = (a[1, 1] - a[2, 1]) ** 2 / ((a[1, 2] + a[2, 2]) / 2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call execute('%let divergence = '||put(divergence, 10.4)||';'); &lt;/P&gt;&lt;P&gt;&amp;nbsp; end; &lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*** CAPTURE THE DIRECTION OF SCORE ***;&lt;/P&gt;&lt;P&gt;ods listing close;&lt;/P&gt;&lt;P&gt;ods output spearmancorr = _cor;&lt;/P&gt;&lt;P&gt;proc corr data = _tmp1 spearman;&lt;/P&gt;&lt;P&gt;&amp;nbsp; var &amp;amp;y;&lt;/P&gt;&lt;P&gt;&amp;nbsp; with &amp;amp;score;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;ods listing;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set _cor;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if &amp;amp;y &amp;gt;= 0 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput('desc', 'descending');&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call symput('desc', ' ');&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;%put &amp;amp;desc;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc rank data = _tmp1 out = _tmp2 groups = &amp;amp;grp ties = low;&lt;/P&gt;&lt;P&gt;&amp;nbsp; var &amp;amp;score;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ranks rank;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc summary data = _last_ nway;&lt;/P&gt;&lt;P&gt;&amp;nbsp; class rank;&lt;/P&gt;&lt;P&gt;&amp;nbsp; output out = _data_ (drop = _type_ rename = (_freq_ = freq))&lt;/P&gt;&lt;P&gt;&amp;nbsp; min(&amp;amp;score) = min_score max(&amp;amp;score) = max_score&lt;/P&gt;&lt;P&gt;&amp;nbsp; sum(&amp;amp;y) = bads;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql noprint;&lt;/P&gt;&lt;P&gt;&amp;nbsp; select sum(bads) into :bcnt from _last_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; select sum(freq) - sum(bads) into :gcnt from _last_;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data = _last_ (drop = rank);&lt;/P&gt;&lt;P&gt;&amp;nbsp; by &amp;amp;desc min_score;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data _data_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set _last_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by &amp;amp;desc min_score;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; i + 1; &lt;/P&gt;&lt;P&gt;&amp;nbsp; percent = i / 100; &lt;/P&gt;&lt;P&gt;&amp;nbsp; good&amp;nbsp; = freq - bads;&lt;/P&gt;&lt;P&gt;&amp;nbsp; odds&amp;nbsp; = good / bads;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; hit_rate = bads / freq;&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain cum_bads cum_freq;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cum_bads + bads;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cum_freq + freq;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cum_hit_rate = cum_bads / cum_freq;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cat_rate = bads / &amp;amp;bcnt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain cum_cat_rate;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cum_cat_rate + cat_rate; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format symbol $4.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if i = 1 then symbol = 'BAD';&lt;/P&gt;&lt;P&gt;&amp;nbsp; else if i = &amp;amp;grp - 1 then symbol = 'V';&lt;/P&gt;&lt;P&gt;&amp;nbsp; else if i = &amp;amp;grp then symbol = 'GOOD';&lt;/P&gt;&lt;P&gt;&amp;nbsp; else symbol = '|';&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc printto print = "%upcase(%trim(&amp;amp;score))_SEPARATION_REPORT.TXT" new;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc report data = _last_ spacing = 1 split = "/" headline nowd;&lt;/P&gt;&lt;P&gt;&amp;nbsp; column("GOOD BAD SEPARATION REPORT FOR %upcase(%trim(&amp;amp;score)) IN DATA %upcase(%trim(&amp;amp;data))/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAXIMUM KS = %trim(&amp;amp;ks) AT SCORE POINT %trim(&amp;amp;ks_score)/&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( AUC STATISTICS = %trim(&amp;amp;auc), GINI COEFFICIENT = %trim(&amp;amp;gini), DIVERGENCE = %trim(&amp;amp;divergence) )/ /"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; percent symbol min_score max_score good bads freq odds hit_rate cum_hit_rate cat_rate cum_cat_rate);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; define percent&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; / noprint order order = data;&lt;/P&gt;&lt;P&gt;&amp;nbsp; define symbol&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; / "" center&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; width = 5 center;&lt;/P&gt;&lt;P&gt;&amp;nbsp; define min_score&amp;nbsp;&amp;nbsp;&amp;nbsp; / "MIN/SCORE"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width = 10 format = 9.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; analysis min center;&lt;/P&gt;&lt;P&gt;&amp;nbsp; define max_score&amp;nbsp;&amp;nbsp;&amp;nbsp; / "MAX/SCORE"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width = 10 format = 9.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; analysis max center;&lt;/P&gt;&lt;P&gt;&amp;nbsp; define good&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; / "GOOD/#"&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; width = 10 format = comma9.&amp;nbsp;&amp;nbsp;&amp;nbsp; analysis sum;&lt;/P&gt;&lt;P&gt;&amp;nbsp; define bads&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; / "BAD/#"&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; width = 10 format = comma9.&amp;nbsp;&amp;nbsp;&amp;nbsp; analysis sum;&lt;/P&gt;&lt;P&gt;&amp;nbsp; define freq&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; / "TOTAL/#"&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; width = 10 format = comma9.&amp;nbsp;&amp;nbsp;&amp;nbsp; analysis sum;&lt;/P&gt;&lt;P&gt;&amp;nbsp; define odds&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; / "ODDS"&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; width = 10 format = 8.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; order;&lt;/P&gt;&lt;P&gt;&amp;nbsp; define hit_rate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; / "BAD/RATE"&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; width = 10 format = percent9.2 order center;&lt;/P&gt;&lt;P&gt;&amp;nbsp; define cum_hit_rate / "CUMULATIVE/BAD RATE"&amp;nbsp;&amp;nbsp; width = 10 format = percent9.2 order;&lt;/P&gt;&lt;P&gt;&amp;nbsp; define cat_rate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; / "BAD/PERCENT"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width = 10 format = percent9.2 order center;&lt;/P&gt;&lt;P&gt;&amp;nbsp; define cum_cat_rate / "CUMU. BAD/PERCENT"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width = 10 format = percent9.2 order; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; rbreak after / summarize dol skip;&lt;/P&gt;&lt;P&gt;run; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc printto;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;%mend ;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 18:35:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141904#M28486</guid>
      <dc:creator>jiangmi</dc:creator>
      <dc:date>2014-12-09T18:35:26Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141905#M28487</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There's inconsistent programming here, was it written by more than one person?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;You use call symput in some places and call execute with %let in other, any reason for that?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;2. For proc printto, sometimes you use file and other times direct path to txt. I recommend changing them all to a direct path to txt&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;Is this portion correct? It's not what you initially posted.&amp;nbsp; &lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;filename lst_out temp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;proc printto new print = lst_out;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;*** CONDUCT NON-PARAMETRIC TESTS ***;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;ods output wilcoxonscores = _wx;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;ods output kolsmir2stats = _ks;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;proc npar1way wilcoxon edf data = _tmp1;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; class &amp;amp;y;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; var &amp;amp;score;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;proc printto;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 19:44:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141905#M28487</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2014-12-09T19:44:44Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141906#M28488</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks, Reeza.&lt;/P&gt;&lt;P&gt;1. The macro was written by somebody else, I basically use it to do certain calculations. Therefore I don't know the particular reason for the choice between &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13.63636302948px; background-color: #ffffff;"&gt;call symput and &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13.63636302948px; background-color: #ffffff;"&gt;call execute.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. In the original Macro, the fileref 'lst_out' was set up as temporary. I changed it to an accessible file on the computer so that I can see what is going on there. It turns out that nothing was outputted to 'lst_out' during the first macro run when I run the macro on the server. But when I run it on my local computer, everything works. That's why I think it is something wrong at the server end. I feel a little guilty for people who &lt;SPAN style="font-size: 13.63636302948px; line-height: 1.5em;"&gt;spend their time and took a &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;look into this issue when the problem is probably not within the code.&amp;nbsp; You you do have other suggestions, I'd like to give it a try. Thank you.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 21:45:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141906#M28488</guid>
      <dc:creator>jiangmi</dc:creator>
      <dc:date>2014-12-09T21:45:13Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141907#M28489</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You have to turn on the listing destination before PROC PRINTTO will have anything to print.&amp;nbsp; That is why the first one never prints, because you are not printing any text output yet.&amp;nbsp; So just put ODS LISTING: at the top of the program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To make it less confusing perhaps you should switch from using using PROC PRINTTO to using the FILE= option on the ODS LISTING statement.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Dec 2014 01:12:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141907#M28489</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2014-12-10T01:12:15Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141908#M28490</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, of course! Good catch, Tom.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Dec 2014 04:25:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141908#M28490</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2014-12-10T04:25:05Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in Macro: Fail to output 1st run result.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141909#M28491</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Tom,&lt;/P&gt;&lt;P&gt;I have to say, it does fix the problem.&lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;Also thanks for all the people who look into this issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Joe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Dec 2014 14:16:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Bug-in-Macro-Fail-to-output-1st-run-result/m-p/141909#M28491</guid>
      <dc:creator>jiangmi</dc:creator>
      <dc:date>2014-12-10T14:16:16Z</dc:date>
    </item>
  </channel>
</rss>

