<?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: Call a column using loop in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477414#M71297</link>
    <description>&lt;P&gt;First solution: use a macro loop to create multiple statements that dissect the variables:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input f1 :yymmdd10. f2 f3 :$10. f4 :yymmdd10. f5 f6 :$10.;
cards;
2018-07-09 3 XXXXXXX 2018-07-10 5 YYYYYYY
;
run;

%macro create_datastep(maxvar);
data want;
set have;
format
  f_1 yymmddd10.
  f_2 5.
  f_3 $10.
;
%do i = 1 %to &amp;amp;maxvar./3;
  %let i1 = %eval(&amp;amp;i. * 3 - 2);
  %let i2 = %eval(&amp;amp;i. * 3 - 1);
  %let i3 = %eval(&amp;amp;i. * 3);
f_1 = f&amp;amp;i1.;
f_2 = f&amp;amp;i2.;
f_3 = f&amp;amp;i3.;
output;
%end;
keep f_1 f_2 f_3;
run;
%mend;

%create_datastep(6)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;A probably more "elegant" solution would create three arrays in similar %do loops, and then iterate in a data step do loop.&lt;/P&gt;</description>
    <pubDate>Thu, 12 Jul 2018 12:20:38 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2018-07-12T12:20:38Z</dc:date>
    <item>
      <title>Call a column using loop</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477388#M71290</link>
      <description>I have data something like this&lt;BR /&gt;f1 f2 f3 f4 f5 f6 ... f500&lt;BR /&gt;1 2 3 8 4 6 ... 4&lt;BR /&gt;I want data&lt;BR /&gt;1 2 3&lt;BR /&gt;8 4 6&lt;BR /&gt;...&lt;BR /&gt;How to write sas code? Thank you.</description>
      <pubDate>Thu, 12 Jul 2018 10:46:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477388#M71290</guid>
      <dc:creator>nottp</dc:creator>
      <dc:date>2018-07-12T10:46:08Z</dc:date>
    </item>
    <item>
      <title>Re: Call a column using loop</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477391#M71291</link>
      <description>&lt;P&gt;Define an array for f1-f500.&lt;/P&gt;
&lt;P&gt;Loop over the array with do i = 1 to 500.&lt;/P&gt;
&lt;P&gt;In the loop, do&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;array{mod(i,3)} = array{i};
if mod(i,3) = 0 then output;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Keep f1-f3.&lt;/P&gt;
&lt;P&gt;Add some code to deal with the last group (since 500 is not a multiple of 3)&lt;/P&gt;</description>
      <pubDate>Thu, 12 Jul 2018 11:01:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477391#M71291</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-07-12T11:01:18Z</dc:date>
    </item>
    <item>
      <title>Re: Call a column using loop</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477396#M71292</link>
      <description>If data type in f column are difference. How can i do?</description>
      <pubDate>Thu, 12 Jul 2018 11:03:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477396#M71292</guid>
      <dc:creator>nottp</dc:creator>
      <dc:date>2018-07-12T11:03:31Z</dc:date>
    </item>
    <item>
      <title>Re: Call a column using loop</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477398#M71293</link>
      <description>&lt;P&gt;&lt;U&gt;&lt;/U&gt;You can't unless you have a repeating pattern of types and other attributes.&lt;/P&gt;</description>
      <pubDate>Thu, 12 Jul 2018 11:12:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477398#M71293</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-07-12T11:12:19Z</dc:date>
    </item>
    <item>
      <title>Re: Call a column using loop</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477400#M71294</link>
      <description>Have another solution? Use while loop etc.</description>
      <pubDate>Thu, 12 Jul 2018 11:15:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477400#M71294</guid>
      <dc:creator>nottp</dc:creator>
      <dc:date>2018-07-12T11:15:40Z</dc:date>
    </item>
    <item>
      <title>Re: Call a column using loop</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477404#M71295</link>
      <description>&lt;P&gt;The problem is not the "how", it's the "what". If f1, f4 and f7 have different attributes, you can't (reliably) store the values in the same column.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Jul 2018 11:20:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477404#M71295</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-07-12T11:20:21Z</dc:date>
    </item>
    <item>
      <title>Re: Call a column using loop</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477412#M71296</link>
      <description>Ok real sample data below&lt;BR /&gt;f1 f2 f3 f4 f5 f6 ... f567 format is f1, f4, f7 = date, f2, f5, f8 = number and f3, f6, f9 = text repeat this until f567 i want arrang data follow my topic. Thank your for advise.</description>
      <pubDate>Thu, 12 Jul 2018 12:09:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477412#M71296</guid>
      <dc:creator>nottp</dc:creator>
      <dc:date>2018-07-12T12:09:35Z</dc:date>
    </item>
    <item>
      <title>Re: Call a column using loop</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477414#M71297</link>
      <description>&lt;P&gt;First solution: use a macro loop to create multiple statements that dissect the variables:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input f1 :yymmdd10. f2 f3 :$10. f4 :yymmdd10. f5 f6 :$10.;
cards;
2018-07-09 3 XXXXXXX 2018-07-10 5 YYYYYYY
;
run;

%macro create_datastep(maxvar);
data want;
set have;
format
  f_1 yymmddd10.
  f_2 5.
  f_3 $10.
;
%do i = 1 %to &amp;amp;maxvar./3;
  %let i1 = %eval(&amp;amp;i. * 3 - 2);
  %let i2 = %eval(&amp;amp;i. * 3 - 1);
  %let i3 = %eval(&amp;amp;i. * 3);
f_1 = f&amp;amp;i1.;
f_2 = f&amp;amp;i2.;
f_3 = f&amp;amp;i3.;
output;
%end;
keep f_1 f_2 f_3;
run;
%mend;

%create_datastep(6)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;A probably more "elegant" solution would create three arrays in similar %do loops, and then iterate in a data step do loop.&lt;/P&gt;</description>
      <pubDate>Thu, 12 Jul 2018 12:20:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477414#M71297</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-07-12T12:20:38Z</dc:date>
    </item>
    <item>
      <title>Re: Call a column using loop</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477415#M71298</link>
      <description>&lt;P&gt;It's of course best to fix such an issue when reading from an external file:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want2;
input f_1 :yymmdd10. f_2 f_3 :$10. @@;
format f_1 yymmddd10.;
cards;
2018-07-09 3 XXXXXXX 2018-07-10 5 YYYYYYY
;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 12 Jul 2018 12:23:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477415#M71298</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-07-12T12:23:35Z</dc:date>
    </item>
    <item>
      <title>Re: Call a column using loop</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477733#M71321</link>
      <description>thank you. i will try.</description>
      <pubDate>Fri, 13 Jul 2018 00:46:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Call-a-column-using-loop/m-p/477733#M71321</guid>
      <dc:creator>nottp</dc:creator>
      <dc:date>2018-07-13T00:46:35Z</dc:date>
    </item>
  </channel>
</rss>

