<?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: Matrix Table query in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Matrix-Table-query/m-p/144789#M38449</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I have correctly understood - here is one solution:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;infile datalines;&lt;BR /&gt;input&amp;nbsp; (vars&amp;nbsp; subvars a1 a2 b1 b2 c1 c2 d1 d2) ($);&lt;BR /&gt;datalines;&lt;BR /&gt;a a1 x&amp;nbsp; 1&amp;nbsp; 1&amp;nbsp; 1 5 6 1 1&lt;BR /&gt;a a2 1&amp;nbsp; x&amp;nbsp; 1&amp;nbsp; 1 5 6 1 1&lt;BR /&gt;b b1 1&amp;nbsp; 1&amp;nbsp; x&amp;nbsp; 1 2 3 1 1&lt;BR /&gt;b b2 1&amp;nbsp; 1&amp;nbsp; 1&amp;nbsp; x 2 3 1 1&lt;BR /&gt;c c1 2&amp;nbsp; 3&amp;nbsp; 4&amp;nbsp; 5 x 1 1 1&lt;BR /&gt;c c2 2&amp;nbsp; 3&amp;nbsp; 4&amp;nbsp; 5 1 x 1 1&lt;BR /&gt;d d1 1&amp;nbsp; 1&amp;nbsp; 1&amp;nbsp; 1 1 1 x 1&lt;BR /&gt;d d2 1&amp;nbsp; 1&amp;nbsp; 1&amp;nbsp; 1 1 1 1 x&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;proc sql noprint;&lt;BR /&gt;select distinct vars into :vars separated by ' ' from have;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;data want;&lt;BR /&gt;set have;&lt;BR /&gt;array newvars{*} $ &amp;amp;vars;&lt;BR /&gt;array oldvars{*} $ a1--d2;&lt;/P&gt;&lt;P&gt;do i=1 to dim(newvars);&lt;BR /&gt;if vars=vname(newvars{i}) then newvars{i}='x';&lt;BR /&gt;else newvars{i}=left(put(input(oldvars{2*(i-1)+1},8.)+input(oldvars{2*(i-1)+2},8.),8.));&lt;BR /&gt;end;&lt;/P&gt;&lt;P&gt;keep vars &amp;amp;vars;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;/*remove duplicates*/&lt;BR /&gt;proc sort data=want out=want noduprecs;&lt;BR /&gt;by _all_;&lt;BR /&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 15 Sep 2014 10:46:15 GMT</pubDate>
    <dc:creator>Loko</dc:creator>
    <dc:date>2014-09-15T10:46:15Z</dc:date>
    <item>
      <title>Matrix Table query</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Matrix-Table-query/m-p/144786#M38446</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this the right place for this query, so apologies if not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm going to receive a table as a csv file, and its going to be in this format:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b2&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;where a &amp;amp; b are a variable, and a1/b1 etc are subsets of that variable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it possible to aggregate the table so becomes:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a,a or b,b are always going to be x or zero, so some data (in this case 1) are going to be ignored&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many Thanks in advance,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Sep 2014 07:33:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Matrix-Table-query/m-p/144786#M38446</guid>
      <dc:creator>AntonyBlunt</dc:creator>
      <dc:date>2014-09-15T07:33:26Z</dc:date>
    </item>
    <item>
      <title>Re: Matrix Table query</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Matrix-Table-query/m-p/144787#M38447</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;what is the formula or the function you used to aggregate the matrix&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Sep 2014 08:16:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Matrix-Table-query/m-p/144787#M38447</guid>
      <dc:creator>mohamed_zaki</dc:creator>
      <dc:date>2014-09-15T08:16:57Z</dc:date>
    </item>
    <item>
      <title>Re: Matrix Table query</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Matrix-Table-query/m-p/144788#M38448</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;In the above tables?&amp;nbsp; I just typed those in as a small example of what I need to do.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Some pointers in formula / function to aggregate the data are what I am after (reading my post, I think I might have been a bit ambiguous).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many Thanks &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Sep 2014 09:28:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Matrix-Table-query/m-p/144788#M38448</guid>
      <dc:creator>AntonyBlunt</dc:creator>
      <dc:date>2014-09-15T09:28:49Z</dc:date>
    </item>
    <item>
      <title>Re: Matrix Table query</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Matrix-Table-query/m-p/144789#M38449</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I have correctly understood - here is one solution:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;infile datalines;&lt;BR /&gt;input&amp;nbsp; (vars&amp;nbsp; subvars a1 a2 b1 b2 c1 c2 d1 d2) ($);&lt;BR /&gt;datalines;&lt;BR /&gt;a a1 x&amp;nbsp; 1&amp;nbsp; 1&amp;nbsp; 1 5 6 1 1&lt;BR /&gt;a a2 1&amp;nbsp; x&amp;nbsp; 1&amp;nbsp; 1 5 6 1 1&lt;BR /&gt;b b1 1&amp;nbsp; 1&amp;nbsp; x&amp;nbsp; 1 2 3 1 1&lt;BR /&gt;b b2 1&amp;nbsp; 1&amp;nbsp; 1&amp;nbsp; x 2 3 1 1&lt;BR /&gt;c c1 2&amp;nbsp; 3&amp;nbsp; 4&amp;nbsp; 5 x 1 1 1&lt;BR /&gt;c c2 2&amp;nbsp; 3&amp;nbsp; 4&amp;nbsp; 5 1 x 1 1&lt;BR /&gt;d d1 1&amp;nbsp; 1&amp;nbsp; 1&amp;nbsp; 1 1 1 x 1&lt;BR /&gt;d d2 1&amp;nbsp; 1&amp;nbsp; 1&amp;nbsp; 1 1 1 1 x&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;proc sql noprint;&lt;BR /&gt;select distinct vars into :vars separated by ' ' from have;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;data want;&lt;BR /&gt;set have;&lt;BR /&gt;array newvars{*} $ &amp;amp;vars;&lt;BR /&gt;array oldvars{*} $ a1--d2;&lt;/P&gt;&lt;P&gt;do i=1 to dim(newvars);&lt;BR /&gt;if vars=vname(newvars{i}) then newvars{i}='x';&lt;BR /&gt;else newvars{i}=left(put(input(oldvars{2*(i-1)+1},8.)+input(oldvars{2*(i-1)+2},8.),8.));&lt;BR /&gt;end;&lt;/P&gt;&lt;P&gt;keep vars &amp;amp;vars;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;/*remove duplicates*/&lt;BR /&gt;proc sort data=want out=want noduprecs;&lt;BR /&gt;by _all_;&lt;BR /&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Sep 2014 10:46:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Matrix-Table-query/m-p/144789#M38449</guid>
      <dc:creator>Loko</dc:creator>
      <dc:date>2014-09-15T10:46:15Z</dc:date>
    </item>
    <item>
      <title>Re: Matrix Table query</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Matrix-Table-query/m-p/144790#M38450</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thankyou very much for that, it looks very good indeed. &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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just one more question (sorry - I am verrry new to SAS, and have certainly be thrown in at the deepend with this...)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the table i will be working with is going to contain many many more variables, and is going to be imported as a csv. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In your example I ammended the infile line to point to a csv file which had the same variable names as the input line, and removed the "datalines" &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it possible to automatically import all the variables without having to list each one in the input line?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Sep 2014 12:49:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Matrix-Table-query/m-p/144790#M38450</guid>
      <dc:creator>AntonyBlunt</dc:creator>
      <dc:date>2014-09-15T12:49:20Z</dc:date>
    </item>
  </channel>
</rss>

