<?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: Columns to Rows - Specific Example in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Columns-to-Rows-Specific-Example/m-p/681649#M206198</link>
    <description>&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;One question:&amp;nbsp; I see the ":" after the test_score in the "VAR" statement and I assume that acts as a function to call up all of the vars that start with "test_score".&amp;nbsp; I named each test score simply with a number, but, if I need to transpose a differently named test for each ID, do I simply call each one out, like so?:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc transpose data=scores&lt;BR /&gt;out=test;&lt;BR /&gt;by id;&lt;BR /&gt;var&lt;BR /&gt;ACT_COMP_SCORE&lt;BR /&gt;ACT_READ_SCORE&lt;BR /&gt;ACT_ENG_SCORE&lt;BR /&gt;ACT_MATH_SCORE&lt;BR /&gt;SATI_COMP_SCORE&lt;BR /&gt;SATI_MATH_SCORE&lt;BR /&gt;SATI_VERB_SCORE&lt;BR /&gt;SATR_MATH_SCORE&lt;BR /&gt;SATR_VERB_SCORE&lt;BR /&gt;SCA;&lt;BR /&gt;run;&lt;/P&gt;</description>
    <pubDate>Fri, 04 Sep 2020 14:52:56 GMT</pubDate>
    <dc:creator>eer_seer</dc:creator>
    <dc:date>2020-09-04T14:52:56Z</dc:date>
    <item>
      <title>Columns to Rows - Specific Example</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Columns-to-Rows-Specific-Example/m-p/681644#M206195</link>
      <description>&lt;P&gt;I feel like the solution to this problem is very simple, yet, I can't quite figure out how to accomplish this simply either through PROC SQL or PROC TRANSPOSE.&amp;nbsp; I've searched the forums, but I can't seem to find a simple solution.&amp;nbsp; Currently, the data is arranged where each row is a unique observation tied to a unique id with each test measurement as a column.&amp;nbsp; What I need is to have each measurement (column with test_score1, test_score2, test_score3, etc.)&lt;/P&gt;&lt;P&gt;collapsed down onto the unique id as a row... so multiple test observations are showing as rows instead of as columns.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data is currently arranged like Table A:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table A:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;test_score1&lt;/TD&gt;&lt;TD&gt;test_score2&lt;/TD&gt;&lt;TD&gt;test_score3&lt;/TD&gt;&lt;TD&gt;test_score4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00001&lt;/TD&gt;&lt;TD&gt;30.00&lt;/TD&gt;&lt;TD&gt;30.00&lt;/TD&gt;&lt;TD&gt;31.00&lt;/TD&gt;&lt;TD&gt;27.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00002&lt;/TD&gt;&lt;TD&gt;29.00&lt;/TD&gt;&lt;TD&gt;30.00&lt;/TD&gt;&lt;TD&gt;30.00&lt;/TD&gt;&lt;TD&gt;27.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00003&lt;/TD&gt;&lt;TD&gt;25.00&lt;/TD&gt;&lt;TD&gt;33.00&lt;/TD&gt;&lt;TD&gt;20.00&lt;/TD&gt;&lt;TD&gt;25.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00004&lt;/TD&gt;&lt;TD&gt;26.00&lt;/TD&gt;&lt;TD&gt;35.00&lt;/TD&gt;&lt;TD&gt;36.00&lt;/TD&gt;&lt;TD&gt;19.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00005&lt;/TD&gt;&lt;TD&gt;20.00&lt;/TD&gt;&lt;TD&gt;18.00&lt;/TD&gt;&lt;TD&gt;20.00&lt;/TD&gt;&lt;TD&gt;21.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00006&lt;/TD&gt;&lt;TD&gt;21.00&lt;/TD&gt;&lt;TD&gt;18.00&lt;/TD&gt;&lt;TD&gt;22.00&lt;/TD&gt;&lt;TD&gt;26.00&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to convert the table to look like Table B:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table B:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;measure&lt;/TD&gt;&lt;TD&gt;score&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00001&lt;/TD&gt;&lt;TD&gt;test_score1&lt;/TD&gt;&lt;TD&gt;30.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00001&lt;/TD&gt;&lt;TD&gt;test_score2&lt;/TD&gt;&lt;TD&gt;30.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00001&lt;/TD&gt;&lt;TD&gt;test_score3&lt;/TD&gt;&lt;TD&gt;31.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00001&lt;/TD&gt;&lt;TD&gt;test_score4&lt;/TD&gt;&lt;TD&gt;27.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00002&lt;/TD&gt;&lt;TD&gt;test_score1&lt;/TD&gt;&lt;TD&gt;29.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00002&lt;/TD&gt;&lt;TD&gt;test_score2&lt;/TD&gt;&lt;TD&gt;30.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00002&lt;/TD&gt;&lt;TD&gt;test_score3&lt;/TD&gt;&lt;TD&gt;30.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00002&lt;/TD&gt;&lt;TD&gt;test_score4&lt;/TD&gt;&lt;TD&gt;27.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00002&lt;/TD&gt;&lt;TD&gt;test_score1&lt;/TD&gt;&lt;TD&gt;25.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00003&lt;/TD&gt;&lt;TD&gt;test_score2&lt;/TD&gt;&lt;TD&gt;33.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00003&lt;/TD&gt;&lt;TD&gt;test_score3&lt;/TD&gt;&lt;TD&gt;20.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00003&lt;/TD&gt;&lt;TD&gt;test_score4&lt;/TD&gt;&lt;TD&gt;25.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00004&lt;/TD&gt;&lt;TD&gt;test_score1&lt;/TD&gt;&lt;TD&gt;26.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00004&lt;/TD&gt;&lt;TD&gt;test_score2&lt;/TD&gt;&lt;TD&gt;35.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00004&lt;/TD&gt;&lt;TD&gt;test_score3&lt;/TD&gt;&lt;TD&gt;36.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00004&lt;/TD&gt;&lt;TD&gt;test_score4&lt;/TD&gt;&lt;TD&gt;19.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00005&lt;/TD&gt;&lt;TD&gt;test_score1&lt;/TD&gt;&lt;TD&gt;20.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00006&lt;/TD&gt;&lt;TD&gt;test_score2&lt;/TD&gt;&lt;TD&gt;18.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00006&lt;/TD&gt;&lt;TD&gt;test_score3&lt;/TD&gt;&lt;TD&gt;20.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00006&lt;/TD&gt;&lt;TD&gt;test_score4&lt;/TD&gt;&lt;TD&gt;21.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00007&lt;/TD&gt;&lt;TD&gt;test_score1&lt;/TD&gt;&lt;TD&gt;21.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00007&lt;/TD&gt;&lt;TD&gt;test_score2&lt;/TD&gt;&lt;TD&gt;18.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00007&lt;/TD&gt;&lt;TD&gt;test_score3&lt;/TD&gt;&lt;TD&gt;22.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00007&lt;/TD&gt;&lt;TD&gt;test_score4&lt;/TD&gt;&lt;TD&gt;26.00&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Fri, 04 Sep 2020 14:32:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Columns-to-Rows-Specific-Example/m-p/681644#M206195</guid>
      <dc:creator>eer_seer</dc:creator>
      <dc:date>2020-09-04T14:32:08Z</dc:date>
    </item>
    <item>
      <title>Re: Columns to Rows - Specific Example</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Columns-to-Rows-Specific-Example/m-p/681645#M206196</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc transpose data=a out=b;
by id;
var test_score:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 04 Sep 2020 14:36:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Columns-to-Rows-Specific-Example/m-p/681645#M206196</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-09-04T14:36:36Z</dc:date>
    </item>
    <item>
      <title>Re: Columns to Rows - Specific Example</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Columns-to-Rows-Specific-Example/m-p/681649#M206198</link>
      <description>&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;One question:&amp;nbsp; I see the ":" after the test_score in the "VAR" statement and I assume that acts as a function to call up all of the vars that start with "test_score".&amp;nbsp; I named each test score simply with a number, but, if I need to transpose a differently named test for each ID, do I simply call each one out, like so?:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc transpose data=scores&lt;BR /&gt;out=test;&lt;BR /&gt;by id;&lt;BR /&gt;var&lt;BR /&gt;ACT_COMP_SCORE&lt;BR /&gt;ACT_READ_SCORE&lt;BR /&gt;ACT_ENG_SCORE&lt;BR /&gt;ACT_MATH_SCORE&lt;BR /&gt;SATI_COMP_SCORE&lt;BR /&gt;SATI_MATH_SCORE&lt;BR /&gt;SATI_VERB_SCORE&lt;BR /&gt;SATR_MATH_SCORE&lt;BR /&gt;SATR_VERB_SCORE&lt;BR /&gt;SCA;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Fri, 04 Sep 2020 14:52:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Columns-to-Rows-Specific-Example/m-p/681649#M206198</guid>
      <dc:creator>eer_seer</dc:creator>
      <dc:date>2020-09-04T14:52:56Z</dc:date>
    </item>
    <item>
      <title>Re: Columns to Rows - Specific Example</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Columns-to-Rows-Specific-Example/m-p/681650#M206199</link>
      <description>&lt;P&gt;Yes&lt;/P&gt;</description>
      <pubDate>Fri, 04 Sep 2020 14:54:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Columns-to-Rows-Specific-Example/m-p/681650#M206199</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-09-04T14:54:45Z</dc:date>
    </item>
    <item>
      <title>Re: Columns to Rows - Specific Example</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Columns-to-Rows-Specific-Example/m-p/681662#M206204</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/92495"&gt;@eer_seer&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Thank you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One question:&amp;nbsp; I see the ":" after the test_score in the "VAR" statement and I assume that acts as a function to call up all of the vars that start with "test_score".&amp;nbsp; I named each test score simply with a number, but, if I need to transpose a differently named test for each ID, do I simply call each one out, like so?:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc transpose data=scores&lt;BR /&gt;out=test;&lt;BR /&gt;by id;&lt;BR /&gt;var&lt;BR /&gt;ACT_COMP_SCORE&lt;BR /&gt;ACT_READ_SCORE&lt;BR /&gt;ACT_ENG_SCORE&lt;BR /&gt;ACT_MATH_SCORE&lt;BR /&gt;SATI_COMP_SCORE&lt;BR /&gt;SATI_MATH_SCORE&lt;BR /&gt;SATI_VERB_SCORE&lt;BR /&gt;SATR_MATH_SCORE&lt;BR /&gt;SATR_VERB_SCORE&lt;BR /&gt;SCA;&lt;BR /&gt;run;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The list might also be made as&lt;/P&gt;
&lt;P&gt;Var Act: SAT: SCA ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;but the order would tend to be alphabetic by variable name and use all variables whose names start with the specific characters. So if you had other variables like ACTBB they would be included. But you could use ACT_: which would skip any variables that didn't have the _.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Or if the variables are contiguous, adjacent column order numbers, you could use:&lt;/P&gt;
&lt;P&gt;VAR ACT_COMP_SCORE -- SCA;&lt;/P&gt;
&lt;P&gt;Note that is 2 dash characters.&lt;/P&gt;
&lt;P&gt;Plus you can mix the lists with both the : for some variables and a -- for others.&amp;nbsp; Plus if you have variable names that have a common name with a numerical suffix you can use&amp;nbsp; Var1 - Var10 as a list which would exclude Var11, Var12, Var13 (if such variables exist).&lt;/P&gt;</description>
      <pubDate>Fri, 04 Sep 2020 15:12:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Columns-to-Rows-Specific-Example/m-p/681662#M206204</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2020-09-04T15:12:53Z</dc:date>
    </item>
  </channel>
</rss>

