<?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: Array and Transpose based on data values in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Array-and-Transpose-based-on-data-values/m-p/621117#M182551</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/309000"&gt;@raja777pharma&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for the clarification.&lt;/P&gt;
&lt;P&gt;Here is an attempt to create table3. Let me know if does meet your expectations.&lt;/P&gt;
&lt;P&gt;Best,&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* TABLE 3 */

%macro macro2 (prefix = );
	data table3_&amp;amp;prefix.;
		set table1;
		length TYPE $ 5;
		TYPE = upcase("&amp;amp;prefix.");
		if &amp;amp;prefix.CT  = "X" then flag_CT = "CT";
		if &amp;amp;prefix.MRI = "X" then flag_MRI = "MRI";
		if &amp;amp;prefix.OTH = "X" then flag_OTH = "OTH";
		TRT_MULTIPLE = tranwrd(catx("_","TRT",flag_CT,flag_MRI,flag_OTH),"_.","");
		if TRT_MULTIPLE = "TRT_CT" then TRT_MULTIPLE = "CT_01";
		if TRT_MULTIPLE = "TRT_MRI" then TRT_MULTIPLE = "MRI_02";
		if TRT_MULTIPLE = "TRT_OTH" then TRT_MULTIPLE = "OTH_03";
		keep SUBNUM	VISNAME	TESTDAT TYPE TRT_MULTIPLE;
	run;

%mend;

%macro2(prefix =TEST);
%macro2(prefix =EXTRA);
%macro2(prefix =MORE);

data table3;
	set table3_test table3_extra table3_more;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 30 Jan 2020 12:31:41 GMT</pubDate>
    <dc:creator>ed_sas_member</dc:creator>
    <dc:date>2020-01-30T12:31:41Z</dc:date>
    <item>
      <title>Array and Transpose based on data values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-and-Transpose-based-on-data-values/m-p/621101#M182545</link>
      <description>&lt;P&gt;Hello ,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As per below data table 01 and want to create new data as table 02&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if subject have three catergory's TEST,EXTRA and MORE , each in catergory again they three values CT ,MRI and other&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if subject had any one of CT , MRI or OTH marked then in New data TYPE is &amp;lt;TEST or EXTRA or MORE or&amp;gt; and TRT is &amp;lt;CT_01 or MRI_02 or OTH_03 &amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if subject had mraked two are above then TRT is &amp;lt;multiple&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want one more data table 03 , as in if any TRT value is multiple then TRT_MULTPLE value will be &amp;lt;TRT_CT_MRI&amp;gt; as shown in below table 03&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table 01 : Exist data&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table 02 : Want new data as per above conditions &amp;lt;New data set 01&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table 03 : Want new data as per above conditions &amp;lt;new data set 02&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table 01 :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;SUBNUM&lt;/TD&gt;&lt;TD&gt;VISNAME&lt;/TD&gt;&lt;TD&gt;TEST_DEC&lt;/TD&gt;&lt;TD&gt;TESTDAT&lt;/TD&gt;&lt;TD&gt;TESTCT&lt;/TD&gt;&lt;TD&gt;TESTMRI&lt;/TD&gt;&lt;TD&gt;TEST_OTH&lt;/TD&gt;&lt;TD&gt;EXTRA_DEC&lt;/TD&gt;&lt;TD&gt;EXTRADAT&lt;/TD&gt;&lt;TD&gt;EXTRACT&lt;/TD&gt;&lt;TD&gt;EXTRAMRI&lt;/TD&gt;&lt;TD&gt;EXTRAOTH&lt;/TD&gt;&lt;TD&gt;MORE_DEC&lt;/TD&gt;&lt;TD&gt;MOREDAT&lt;/TD&gt;&lt;TD&gt;MORECT&lt;/TD&gt;&lt;TD&gt;MOREMRI&lt;/TD&gt;&lt;TD&gt;MOREOTH&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;001&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;16Apr2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;16Apr2019&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;16Apr2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;002&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;06May2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;06May2019&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;06May2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;002&lt;/TD&gt;&lt;TD&gt;VSIST2&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;13Jun2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;13Jun2019&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;13Jun2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;003&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;22Apr2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;22Apr2019&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;22Apr2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;11Sep2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;11Sep2019&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;11Sep2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;VSIST2&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;05Nov2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;05Nov2019&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;05Nov2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;VSIST2&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;03Dec2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;03Dec2019&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;03Dec2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;005&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;12Dec2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;12Dec2019&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;12Dec2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;006&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;30Oct2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;30Oct2019&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;30Oct2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;007&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;23Oct2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;23Oct2019&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;23Oct2019&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;008&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;02Jan2020&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;02Jan2020&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Yes&lt;/TD&gt;&lt;TD&gt;02Jan2020&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table 02 : New data set need to create as per above data :&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;SUBNUM&lt;/TD&gt;&lt;TD&gt;VISNAME&lt;/TD&gt;&lt;TD&gt;DATE&lt;/TD&gt;&lt;TD&gt;TYPE&lt;/TD&gt;&lt;TD&gt;TRT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;001&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;16Apr2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;002&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;06May2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;002&lt;/TD&gt;&lt;TD&gt;VSIST2&lt;/TD&gt;&lt;TD&gt;13Jun2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;003&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;22Apr2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;11Sep2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;VSIST2&lt;/TD&gt;&lt;TD&gt;05Nov2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;VSIST2&lt;/TD&gt;&lt;TD&gt;03Dec2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;005&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;12Dec2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;006&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;30Oct2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;007&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;23Oct2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;008&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;02Jan2020&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;001&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;16Apr2019&lt;/TD&gt;&lt;TD&gt;EXTRA&lt;/TD&gt;&lt;TD&gt;MRI_02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;002&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;06May2019&lt;/TD&gt;&lt;TD&gt;EXTRA&lt;/TD&gt;&lt;TD&gt;MRI_02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;002&lt;/TD&gt;&lt;TD&gt;VSIST2&lt;/TD&gt;&lt;TD&gt;13Jun2019&lt;/TD&gt;&lt;TD&gt;EXTRA&lt;/TD&gt;&lt;TD&gt;MRI_02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;003&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;22Apr2019&lt;/TD&gt;&lt;TD&gt;EXTRA&lt;/TD&gt;&lt;TD&gt;MRI_02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;11Sep2019&lt;/TD&gt;&lt;TD&gt;EXTRA&lt;/TD&gt;&lt;TD&gt;MRI_02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;VSIST2&lt;/TD&gt;&lt;TD&gt;05Nov2019&lt;/TD&gt;&lt;TD&gt;EXTRA&lt;/TD&gt;&lt;TD&gt;MRI_02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;VSIST2&lt;/TD&gt;&lt;TD&gt;03Dec2019&lt;/TD&gt;&lt;TD&gt;EXTRA&lt;/TD&gt;&lt;TD&gt;MRI_02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;005&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;12Dec2019&lt;/TD&gt;&lt;TD&gt;EXTRA&lt;/TD&gt;&lt;TD&gt;MRI_02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;006&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;30Oct2019&lt;/TD&gt;&lt;TD&gt;EXTRA&lt;/TD&gt;&lt;TD&gt;MRI_02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;007&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;23Oct2019&lt;/TD&gt;&lt;TD&gt;EXTRA&lt;/TD&gt;&lt;TD&gt;MRI_02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;008&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;02Jan2020&lt;/TD&gt;&lt;TD&gt;EXTRA&lt;/TD&gt;&lt;TD&gt;MRI_02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;001&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;16Apr2019&lt;/TD&gt;&lt;TD&gt;MORE&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;002&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;06May2019&lt;/TD&gt;&lt;TD&gt;MORE&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;002&lt;/TD&gt;&lt;TD&gt;VSIST2&lt;/TD&gt;&lt;TD&gt;13Jun2019&lt;/TD&gt;&lt;TD&gt;MORE&lt;/TD&gt;&lt;TD&gt;MULTIPLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;003&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;22Apr2019&lt;/TD&gt;&lt;TD&gt;MORE&lt;/TD&gt;&lt;TD&gt;MULTIPLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;11Sep2019&lt;/TD&gt;&lt;TD&gt;MORE&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;VSIST2&lt;/TD&gt;&lt;TD&gt;05Nov2019&lt;/TD&gt;&lt;TD&gt;MORE&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;VSIST2&lt;/TD&gt;&lt;TD&gt;03Dec2019&lt;/TD&gt;&lt;TD&gt;MORE&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;005&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;12Dec2019&lt;/TD&gt;&lt;TD&gt;MORE&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;006&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;30Oct2019&lt;/TD&gt;&lt;TD&gt;MORE&lt;/TD&gt;&lt;TD&gt;MULTIPLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;007&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;23Oct2019&lt;/TD&gt;&lt;TD&gt;MORE&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;008&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;02Jan2020&lt;/TD&gt;&lt;TD&gt;MORE&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table 03 : New data set need to create based on table 01&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;SUBNUM&lt;/TD&gt;&lt;TD&gt;VISNAME&lt;/TD&gt;&lt;TD&gt;DATE&lt;/TD&gt;&lt;TD&gt;TYPE&lt;/TD&gt;&lt;TD&gt;TRT_MULTIPLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;001&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;16Apr2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;002&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;06May2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;002&lt;/TD&gt;&lt;TD&gt;VSIST2&lt;/TD&gt;&lt;TD&gt;13Jun2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;003&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;22Apr2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;TRT_CT_MRI&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;11Sep2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;TRT_CT_MRI&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;VSIST2&lt;/TD&gt;&lt;TD&gt;05Nov2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;004&lt;/TD&gt;&lt;TD&gt;VSIST2&lt;/TD&gt;&lt;TD&gt;03Dec2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;005&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;12Dec2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;006&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;30Oct2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;TRT_CT_OTH&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;007&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;23Oct2019&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;008&lt;/TD&gt;&lt;TD&gt;VSIST1&lt;/TD&gt;&lt;TD&gt;02Jan2020&lt;/TD&gt;&lt;TD&gt;TEST&lt;/TD&gt;&lt;TD&gt;CT_01&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jan 2020 10:33:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-and-Transpose-based-on-data-values/m-p/621101#M182545</guid>
      <dc:creator>raja777pharma</dc:creator>
      <dc:date>2020-01-30T10:33:33Z</dc:date>
    </item>
    <item>
      <title>Re: Array and Transpose based on data values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-and-Transpose-based-on-data-values/m-p/621111#M182548</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/309000"&gt;@raja777pharma&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hereafter is a piece of code to create table2.&lt;/P&gt;
&lt;P&gt;NB: I guess there is a typo in the name of variable "&lt;SPAN&gt;TEST_OTH" -&amp;gt; it should be&amp;nbsp;more logical to have&amp;nbsp;TESTOTH (please rename it so that the macro can work).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I don't understand the logic to&amp;nbsp;create table3 -&amp;gt;could you please explain a bit more? In particular, how should we consider the 'TYPE' variable ? -&amp;gt; it seems that the data you displayed in table 3 correspond to type = "MORE" ?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Best,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data table1;
	infile datalines dlm="09"x dsd missover;
	input SUBNUM VISNAME $
		  TEST_DEC $ TESTDAT:date9. TESTCT $ TESTMRI $ TESTOTH $
		  EXTRA_DEC $ EXTRADAT:date9. EXTRACT $ EXTRAMRI $ EXTRAOTH $
		  MORE_DEC $ MOREDAT:date9. MORECT $ MOREMRI $ MOREOTH $;
	format TESTDAT EXTRADAT MOREDAT date9.;
	datalines;
001	VSIST1	Yes	16Apr2019	X	 	 	Yes	16Apr2019	 	X	 	Yes	16Apr2019	X	 	 
002	VSIST1	Yes	06May2019	X	 	 	Yes	06May2019	 	X	 	Yes	06May2019	X	 	 
002	VSIST2	Yes	13Jun2019	X	 	 	Yes	13Jun2019	 	X	 	Yes	13Jun2019	X	X	 
003	VSIST1	Yes	22Apr2019	X	 	 	Yes	22Apr2019	 	X	 	Yes	22Apr2019	X	X	 
004	VSIST1	Yes	11Sep2019	X	 	 	Yes	11Sep2019	 	X	 	Yes	11Sep2019	X	 	 
004	VSIST2	Yes	05Nov2019	X	 	 	Yes	05Nov2019	 	X	 	Yes	05Nov2019	X	 	 
004	VSIST2	Yes	03Dec2019	X	 	 	Yes	03Dec2019	 	X	 	Yes	03Dec2019	X	 	 
005	VSIST1	Yes	12Dec2019	X	 	 	Yes	12Dec2019	 	X	 	Yes	12Dec2019	X	 	 
006	VSIST1	Yes	30Oct2019	X	 	 	Yes	30Oct2019	 	X	 	Yes	30Oct2019	X	 	X
007	VSIST1	Yes	23Oct2019	X	 	 	Yes	23Oct2019	 	X	 	Yes	23Oct2019	X	 	 
008	VSIST1	Yes	02Jan2020	X	 	 	Yes	02Jan2020	 	X	 	Yes	02Jan2020	X	 	 
;
run;

/* TABLE 2 */

%macro transp (prefix = );
	proc transpose data=table1 out=table1_&amp;amp;prefix (rename=(&amp;amp;prefix.DAT=DATE));
		var &amp;amp;prefix.CT &amp;amp;prefix.MRI &amp;amp;prefix.OTH;
		by SUBNUM VISNAME &amp;amp;prefix.DAT;
	run;
%mend;

%transp(prefix=test);
%transp(prefix=extra);
%transp(prefix=more);

data table1_int;
	set table1_test (in=a) table1_extra (in=b) table1_more (in=c);
	
	length TYPE $ 5 ;
	if 		a then TYPE = "TEST";
	else if b then TYPE = "EXTRA";
	else if c then TYPE = "MORE";
	
	length TRT $ 8;
	if 		prxmatch('/CT/', _name_)  then TRT = "CT_01";
	else if prxmatch('/MRI/', _name_) then TRT = "MRI_02";
	else if prxmatch('/OTH/', _name_) then TRT = "OTH_03";

	if col1 ="X" then output;
	drop col1 _name_;
;
run;

data table2;
	set table1_int;
	by TYPE SUBNUM VISNAME DATE notsorted;
	if first.date then count= 0;
	count + 1;
	if count &amp;gt; 1 then TRT = "MULTIPLE";
	drop count;
	if last.date then output;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jan 2020 12:09:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-and-Transpose-based-on-data-values/m-p/621111#M182548</guid>
      <dc:creator>ed_sas_member</dc:creator>
      <dc:date>2020-01-30T12:09:59Z</dc:date>
    </item>
    <item>
      <title>Re: Array and Transpose based on data values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-and-Transpose-based-on-data-values/m-p/621114#M182549</link>
      <description>&lt;P&gt;Hello ed_sas_memebr ,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for answer .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;for table three purpose is if any TRT value is multiple , then we have to know what are multiple values are checked and out the same value in to another variable , in that means TYPE can value is TRT1-3.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jan 2020 12:18:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-and-Transpose-based-on-data-values/m-p/621114#M182549</guid>
      <dc:creator>raja777pharma</dc:creator>
      <dc:date>2020-01-30T12:18:57Z</dc:date>
    </item>
    <item>
      <title>Re: Array and Transpose based on data values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Array-and-Transpose-based-on-data-values/m-p/621117#M182551</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/309000"&gt;@raja777pharma&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for the clarification.&lt;/P&gt;
&lt;P&gt;Here is an attempt to create table3. Let me know if does meet your expectations.&lt;/P&gt;
&lt;P&gt;Best,&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* TABLE 3 */

%macro macro2 (prefix = );
	data table3_&amp;amp;prefix.;
		set table1;
		length TYPE $ 5;
		TYPE = upcase("&amp;amp;prefix.");
		if &amp;amp;prefix.CT  = "X" then flag_CT = "CT";
		if &amp;amp;prefix.MRI = "X" then flag_MRI = "MRI";
		if &amp;amp;prefix.OTH = "X" then flag_OTH = "OTH";
		TRT_MULTIPLE = tranwrd(catx("_","TRT",flag_CT,flag_MRI,flag_OTH),"_.","");
		if TRT_MULTIPLE = "TRT_CT" then TRT_MULTIPLE = "CT_01";
		if TRT_MULTIPLE = "TRT_MRI" then TRT_MULTIPLE = "MRI_02";
		if TRT_MULTIPLE = "TRT_OTH" then TRT_MULTIPLE = "OTH_03";
		keep SUBNUM	VISNAME	TESTDAT TYPE TRT_MULTIPLE;
	run;

%mend;

%macro2(prefix =TEST);
%macro2(prefix =EXTRA);
%macro2(prefix =MORE);

data table3;
	set table3_test table3_extra table3_more;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 30 Jan 2020 12:31:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Array-and-Transpose-based-on-data-values/m-p/621117#M182551</guid>
      <dc:creator>ed_sas_member</dc:creator>
      <dc:date>2020-01-30T12:31:41Z</dc:date>
    </item>
  </channel>
</rss>

