<?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 How do I transpose data to long-form if the raw data is both long and wide? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944914#M370220</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any advice is much appreciated! I need to transpose data to long-form. I am getting tripped up because I initially assumed that the data I am cleaning was wide format and that the proc transpose command would be straightforward, however I determined that the data is BOTH wide and long. As such, the proc transpose command is only partially functioning as I intended. As a fake example, the raw data file looks like this:&lt;/P&gt;
&lt;TABLE width="544"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;Row&lt;/TD&gt;
&lt;TD width="121"&gt;CaseID&lt;/TD&gt;
&lt;TD width="103"&gt;Person1&lt;/TD&gt;
&lt;TD width="64"&gt;Person2&lt;/TD&gt;
&lt;TD width="64"&gt;Person3&lt;/TD&gt;
&lt;TD width="64"&gt;Person 4&lt;/TD&gt;
&lt;TD width="64"&gt;Person 5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Sally&lt;/TD&gt;
&lt;TD&gt;James&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Gerry&lt;/TD&gt;
&lt;TD&gt;Natalie&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;3&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Sam&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;4&lt;/TD&gt;
&lt;TD&gt;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Annie&lt;/TD&gt;
&lt;TD&gt;Holly&lt;/TD&gt;
&lt;TD&gt;Jaxson&lt;/TD&gt;
&lt;TD&gt;Ned&lt;/TD&gt;
&lt;TD&gt;Clark&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;2024-000-03&lt;/TD&gt;
&lt;TD&gt;Camille&lt;/TD&gt;
&lt;TD&gt;Henry&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;6&lt;/TD&gt;
&lt;TD&gt;2024-000-04&lt;/TD&gt;
&lt;TD&gt;Alice&lt;/TD&gt;
&lt;TD&gt;Chris&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;7&lt;/TD&gt;
&lt;TD&gt;2024-000-05&lt;/TD&gt;
&lt;TD&gt;Maria&lt;/TD&gt;
&lt;TD&gt;George&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;8&lt;/TD&gt;
&lt;TD&gt;2024-000-05&lt;/TD&gt;
&lt;TD&gt;Ronnie&lt;/TD&gt;
&lt;TD&gt;Brenda&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;I was initially under the impression that everything would be structured as wide-form, like row #4, #5, and #6. However about 15% of the CaseIDs are entered the way rows #1, #2, #3, #7 and #8 are. To complicate matters, for cases that have split rows, the number of rows they occupy varies - there are between 2 and 12 rows per case with multiple persons in each row.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am trying to clean the data so that it is long-form with one row per person name, like this:&lt;/P&gt;
&lt;TABLE width="288"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;Row&lt;/TD&gt;
&lt;TD width="121"&gt;CaseID&lt;/TD&gt;
&lt;TD width="103"&gt;Person&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Sally&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;James&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Gerry&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Natalie&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Sam&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;TD&gt;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Annie&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;7&lt;/TD&gt;
&lt;TD&gt;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Holly&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;TD&gt;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Jackson&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;9&lt;/TD&gt;
&lt;TD&gt;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Ned&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Clark&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;2024-000-03&lt;/TD&gt;
&lt;TD&gt;Camille&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;2024-000-03&lt;/TD&gt;
&lt;TD&gt;Henry&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;TD&gt;2024-000-04&lt;/TD&gt;
&lt;TD&gt;Alice&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;14&lt;/TD&gt;
&lt;TD&gt;2024-000-04&lt;/TD&gt;
&lt;TD&gt;Chris&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;2024-000-05&lt;/TD&gt;
&lt;TD&gt;Maria&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;TD&gt;2024-000-05&lt;/TD&gt;
&lt;TD&gt;George&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;17&lt;/TD&gt;
&lt;TD&gt;2024-000-05&lt;/TD&gt;
&lt;TD&gt;Ronnie&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;18&lt;/TD&gt;
&lt;TD&gt;2024-000-05&lt;/TD&gt;
&lt;TD&gt;Brenda&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
    <pubDate>Mon, 23 Sep 2024 15:07:33 GMT</pubDate>
    <dc:creator>MHines</dc:creator>
    <dc:date>2024-09-23T15:07:33Z</dc:date>
    <item>
      <title>How do I transpose data to long-form if the raw data is both long and wide?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944914#M370220</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any advice is much appreciated! I need to transpose data to long-form. I am getting tripped up because I initially assumed that the data I am cleaning was wide format and that the proc transpose command would be straightforward, however I determined that the data is BOTH wide and long. As such, the proc transpose command is only partially functioning as I intended. As a fake example, the raw data file looks like this:&lt;/P&gt;
&lt;TABLE width="544"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;Row&lt;/TD&gt;
&lt;TD width="121"&gt;CaseID&lt;/TD&gt;
&lt;TD width="103"&gt;Person1&lt;/TD&gt;
&lt;TD width="64"&gt;Person2&lt;/TD&gt;
&lt;TD width="64"&gt;Person3&lt;/TD&gt;
&lt;TD width="64"&gt;Person 4&lt;/TD&gt;
&lt;TD width="64"&gt;Person 5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Sally&lt;/TD&gt;
&lt;TD&gt;James&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Gerry&lt;/TD&gt;
&lt;TD&gt;Natalie&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;3&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Sam&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;4&lt;/TD&gt;
&lt;TD&gt;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Annie&lt;/TD&gt;
&lt;TD&gt;Holly&lt;/TD&gt;
&lt;TD&gt;Jaxson&lt;/TD&gt;
&lt;TD&gt;Ned&lt;/TD&gt;
&lt;TD&gt;Clark&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;2024-000-03&lt;/TD&gt;
&lt;TD&gt;Camille&lt;/TD&gt;
&lt;TD&gt;Henry&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;6&lt;/TD&gt;
&lt;TD&gt;2024-000-04&lt;/TD&gt;
&lt;TD&gt;Alice&lt;/TD&gt;
&lt;TD&gt;Chris&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;7&lt;/TD&gt;
&lt;TD&gt;2024-000-05&lt;/TD&gt;
&lt;TD&gt;Maria&lt;/TD&gt;
&lt;TD&gt;George&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;8&lt;/TD&gt;
&lt;TD&gt;2024-000-05&lt;/TD&gt;
&lt;TD&gt;Ronnie&lt;/TD&gt;
&lt;TD&gt;Brenda&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;I was initially under the impression that everything would be structured as wide-form, like row #4, #5, and #6. However about 15% of the CaseIDs are entered the way rows #1, #2, #3, #7 and #8 are. To complicate matters, for cases that have split rows, the number of rows they occupy varies - there are between 2 and 12 rows per case with multiple persons in each row.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am trying to clean the data so that it is long-form with one row per person name, like this:&lt;/P&gt;
&lt;TABLE width="288"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;Row&lt;/TD&gt;
&lt;TD width="121"&gt;CaseID&lt;/TD&gt;
&lt;TD width="103"&gt;Person&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Sally&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;James&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Gerry&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Natalie&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Sam&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;TD&gt;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Annie&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;7&lt;/TD&gt;
&lt;TD&gt;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Holly&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;TD&gt;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Jackson&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;9&lt;/TD&gt;
&lt;TD&gt;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Ned&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Clark&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;2024-000-03&lt;/TD&gt;
&lt;TD&gt;Camille&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;2024-000-03&lt;/TD&gt;
&lt;TD&gt;Henry&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;TD&gt;2024-000-04&lt;/TD&gt;
&lt;TD&gt;Alice&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;14&lt;/TD&gt;
&lt;TD&gt;2024-000-04&lt;/TD&gt;
&lt;TD&gt;Chris&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;2024-000-05&lt;/TD&gt;
&lt;TD&gt;Maria&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;TD&gt;2024-000-05&lt;/TD&gt;
&lt;TD&gt;George&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;17&lt;/TD&gt;
&lt;TD&gt;2024-000-05&lt;/TD&gt;
&lt;TD&gt;Ronnie&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;18&lt;/TD&gt;
&lt;TD&gt;2024-000-05&lt;/TD&gt;
&lt;TD&gt;Brenda&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Mon, 23 Sep 2024 15:07:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944914#M370220</guid>
      <dc:creator>MHines</dc:creator>
      <dc:date>2024-09-23T15:07:33Z</dc:date>
    </item>
    <item>
      <title>Re: How do I transpose data to long-form if the raw data is both long and wide?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944917#M370221</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/362272"&gt;@MHines&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can transpose the list of persons for each row and remove the observations with missing values with a WHERE= option:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards truncover;
input Row CaseID :$11. (Person1-Person5) ($);
cards;
1 2024-000-01 Sally James
2 2024-000-01 Gerry Natalie
3 2024-000-01 Sam
4 2024-000-02 Annie Holly Jaxson Ned Clark
5 2024-000-03 Camille Henry
6 2024-000-04 Alice Chris
7 2024-000-05 Maria George
8 2024-000-05 Ronnie Brenda
;

proc transpose data=have out=want(drop=_: row rename=(col1=Person) where=(Person));
by Row CaseID;
var Person:;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If variable &lt;FONT face="courier new,courier"&gt;Row&lt;/FONT&gt;&amp;nbsp;is not contained in your dataset HAVE or should be contained in dataset WANT (with new values), it can be created easily.&lt;/P&gt;</description>
      <pubDate>Mon, 23 Sep 2024 15:36:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944917#M370221</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2024-09-23T15:36:29Z</dc:date>
    </item>
    <item>
      <title>Re: How do I transpose data to long-form if the raw data is both long and wide?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944918#M370222</link>
      <description>&lt;P&gt;Could you please post the example dataset as code, i.e. a DATA step with CARDS statement?&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, can you please post the PROC TRANPOSE code you have tried, running on the example data, and describe what went wrong?&lt;/P&gt;</description>
      <pubDate>Mon, 23 Sep 2024 15:39:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944918#M370222</guid>
      <dc:creator>Quentin</dc:creator>
      <dc:date>2024-09-23T15:39:13Z</dc:date>
    </item>
    <item>
      <title>Re: How do I transpose data to long-form if the raw data is both long and wide?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944919#M370223</link>
      <description>&lt;P&gt;Best would be to provide the example data in the form of a working data step.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And show the code&amp;nbsp; you attempted that failed.&lt;/P&gt;
&lt;P&gt;Duplicates of BY variables means that transpose will combine the first values into in one row, the second values into second row and so on.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So a data step may be the appropriate approach:&lt;/P&gt;
&lt;PRE&gt;data have;
  input Row 	CaseID :$12. 	Person1:$10. 	Person2:$10. 	Person3 :$10.	Person4:$10. 	Person5:$10.;
datalines;
1 	2024-000-01 	Sally 	James 	. . .  	  	 
2 	2024-000-01 	Gerry 	Natalie . . .  	  	 
3 	2024-000-01 	Sam 	  	. . . .
4 	2024-000-02 	Annie 	Holly 	Jaxson 	Ned 	Clark
5 	2024-000-03 	Camille Henry 	. . .  	  	 
6 	2024-000-04 	Alice 	Chris 	. . .  	  	 
7 	2024-000-05 	Maria 	George 	. . .   	  	 
8 	2024-000-05 	Ronnie 	Brenda 	. . .
;

data want;
   set have;
   array p(*) Person1 - Person5;
   do i=1 to dim(p);
      Person= p[i];
      if not missing(person) then output;
   end;
   keep caseid person;
run;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 23 Sep 2024 15:46:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944919#M370223</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2024-09-23T15:46:11Z</dc:date>
    </item>
    <item>
      <title>Re: How do I transpose data to long-form if the raw data is both long and wide?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944922#M370224</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;Thanks for following up. I tried this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc transpose data=have out=want;&lt;/P&gt;
&lt;P&gt;by CaseID;&lt;/P&gt;
&lt;P&gt;var person1-5;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The code is working for the cases that are not split across multiple rows, but only partially working for cases that are split across multiple rows. It looks like the table below. My goal is that all of the names are in the same column.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="347"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="91"&gt;CaseID&lt;/TD&gt;
&lt;TD width="64"&gt;_NAME_&lt;/TD&gt;
&lt;TD width="64"&gt;col1&lt;/TD&gt;
&lt;TD width="64"&gt;col2&lt;/TD&gt;
&lt;TD width="64"&gt;col3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Person1&lt;/TD&gt;
&lt;TD&gt;Sally&lt;/TD&gt;
&lt;TD&gt;Gerry&lt;/TD&gt;
&lt;TD&gt;Sam&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Person2&lt;/TD&gt;
&lt;TD&gt;James&lt;/TD&gt;
&lt;TD&gt;Natalie&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Person3&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Person4&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2024-000-01&lt;/TD&gt;
&lt;TD&gt;Person5&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Person1&lt;/TD&gt;
&lt;TD&gt;Annie&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;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Person2&lt;/TD&gt;
&lt;TD&gt;Holly&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;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Person3&lt;/TD&gt;
&lt;TD&gt;Jaxson&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;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Person4&lt;/TD&gt;
&lt;TD&gt;Ned&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;2024-000-02&lt;/TD&gt;
&lt;TD&gt;Person5&lt;/TD&gt;
&lt;TD&gt;Clark&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;2024-000-03&lt;/TD&gt;
&lt;TD&gt;Person1&lt;/TD&gt;
&lt;TD&gt;Camille&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;2024-000-03&lt;/TD&gt;
&lt;TD&gt;Person2&lt;/TD&gt;
&lt;TD&gt;Henry&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;2024-000-03&lt;/TD&gt;
&lt;TD&gt;Person3&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2024-000-03&lt;/TD&gt;
&lt;TD&gt;Person4&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2024-000-03&lt;/TD&gt;
&lt;TD&gt;Person5&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2024-000-04&lt;/TD&gt;
&lt;TD&gt;Person1&lt;/TD&gt;
&lt;TD&gt;Alice&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;2024-000-04&lt;/TD&gt;
&lt;TD&gt;Person2&lt;/TD&gt;
&lt;TD&gt;Chris&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;2024-000-04&lt;/TD&gt;
&lt;TD&gt;Person3&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2024-000-04&lt;/TD&gt;
&lt;TD&gt;Person4&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2024-000-04&lt;/TD&gt;
&lt;TD&gt;Person5&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2024-000-05&lt;/TD&gt;
&lt;TD&gt;Person1&lt;/TD&gt;
&lt;TD&gt;Maria&lt;/TD&gt;
&lt;TD&gt;Ronnie&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2024-000-05&lt;/TD&gt;
&lt;TD&gt;Person2&lt;/TD&gt;
&lt;TD&gt;George&lt;/TD&gt;
&lt;TD&gt;Brenda&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2024-000-05&lt;/TD&gt;
&lt;TD&gt;Person3&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2024-000-05&lt;/TD&gt;
&lt;TD&gt;Person4&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2024-000-05&lt;/TD&gt;
&lt;TD&gt;Person5&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;</description>
      <pubDate>Mon, 23 Sep 2024 15:55:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944922#M370224</guid>
      <dc:creator>MHines</dc:creator>
      <dc:date>2024-09-23T15:55:02Z</dc:date>
    </item>
    <item>
      <title>Re: How do I transpose data to long-form if the raw data is both long and wide?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944923#M370225</link>
      <description>&lt;P&gt;I suppose I could always create a unique CaseID for each row, something like&amp;nbsp;&lt;SPAN&gt;2024-000-01-a,&amp;nbsp;2024-000-01-b,&amp;nbsp;2024-000-01-c etc. to transpose them that way, then convert the IDs back to the original and append the rows, but it seems like there are faster alternatives.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 23 Sep 2024 15:58:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944923#M370225</guid>
      <dc:creator>MHines</dc:creator>
      <dc:date>2024-09-23T15:58:29Z</dc:date>
    </item>
    <item>
      <title>Re: How do I transpose data to long-form if the raw data is both long and wide?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944926#M370226</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/362272"&gt;@MHines&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I suppose I could always create a unique CaseID for each row, something like&amp;nbsp;&lt;SPAN&gt;2024-000-01-a,&amp;nbsp;2024-000-01-b,&amp;nbsp;2024-000-01-c etc. to transpose them that way, then convert the IDs back to the original and append the rows, but it seems like there are faster alternatives.&lt;/SPAN&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;See&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32733"&gt;@FreelanceReinh&lt;/a&gt;&amp;nbsp;'s transpose answer.&amp;nbsp; You can use ROW on your BY statement, you don't need to change the values of your CaseID.&amp;nbsp; If you don't have ROW in your data, you can add it.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 23 Sep 2024 16:03:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944926#M370226</guid>
      <dc:creator>Quentin</dc:creator>
      <dc:date>2024-09-23T16:03:21Z</dc:date>
    </item>
    <item>
      <title>Re: How do I transpose data to long-form if the raw data is both long and wide?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944927#M370227</link>
      <description>&lt;P&gt;So assuming you do not actually have the ROW variable you displayed in your first listing you can easily add it.&amp;nbsp; It does not need to depend on the CASEID to work.&amp;nbsp; So something as simple as this should work.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data add_row;
  row+1;
  set have;
run;

proc transpose data=add_row out=want(rename=(col1=person)) name=place;
  by row CaseID;
  var person:;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If the dataset is really large then make the ADD_ROW table a view instead.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data add_row / view=add_row;
  row+1;
  set have;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 23 Sep 2024 16:10:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-do-I-transpose-data-to-long-form-if-the-raw-data-is-both/m-p/944927#M370227</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2024-09-23T16:10:15Z</dc:date>
    </item>
  </channel>
</rss>

