<?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: Sorting 40 Date/Disposition Columns Together in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Sorting-40-Date-Disposition-Columns-Together/m-p/538324#M148180</link>
    <description>&lt;P&gt;Hi Reeza, thank you for helping me visualize the approach!&amp;nbsp; I ended up writing a macro loop to flip the data:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%macro sorted;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;%local i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PROC SQL NOPRINT;&lt;BR /&gt;SELECT DISTINCT (dates) into :date1- :date40&lt;BR /&gt;FROM dates;&lt;BR /&gt;QUIT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%do i = 1 %to &amp;amp;sqlobs;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DATA DATES&amp;amp;i(KEEP=ID Date Disp);&lt;BR /&gt;SET DECEMBER_SORT;&lt;BR /&gt;FORMAT Date date9.;&lt;BR /&gt;Date = Date&amp;amp;i;&lt;BR /&gt;Disp = Disp&amp;amp;i;&lt;BR /&gt;RUN;&lt;BR /&gt;%end;&lt;BR /&gt;%mend sorted;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;%sorted;&lt;/P&gt;</description>
    <pubDate>Mon, 25 Feb 2019 16:31:41 GMT</pubDate>
    <dc:creator>PatricktLeon</dc:creator>
    <dc:date>2019-02-25T16:31:41Z</dc:date>
    <item>
      <title>Sorting 40 Date/Disposition Columns Together</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sorting-40-Date-Disposition-Columns-Together/m-p/537906#M148022</link>
      <description>&lt;P&gt;Hello SAS Community!&amp;nbsp; I have a spreadsheet with 80 columns that are date and call disposition combinations.&amp;nbsp; Basically the data came in from multiple sources, so each row is a mashup of the various data sources.&amp;nbsp; For each row, there are various sections of these date and call disposition columns that are blank.&amp;nbsp; The format is Date Column, Disposition Column, Date Column, Disposition Column, etc.&amp;nbsp; My question is, how can I sort this by date for each row, and keep the disposition column next to the correct date?&amp;nbsp; Any tips would be greatly appreciated, thanks in advance!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Attached is a sample of the data structure, shortened to 16 date/disposition columns to illustrate the task at hand, thanks!&lt;/P&gt;</description>
      <pubDate>Fri, 22 Feb 2019 22:29:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sorting-40-Date-Disposition-Columns-Together/m-p/537906#M148022</guid>
      <dc:creator>PatricktLeon</dc:creator>
      <dc:date>2019-02-22T22:29:44Z</dc:date>
    </item>
    <item>
      <title>Re: Sorting 40 Date/Disposition Columns Together</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sorting-40-Date-Disposition-Columns-Together/m-p/537911#M148025</link>
      <description>&lt;P&gt;Change your data structure to a long format. Sort together and then flip it back wide if you need to. .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Depending on how many levels you have you may want:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ID Source DispNo DispReason Date
1 1 1  Wrong Number 20Nov2018
1 1 2 No Answer 12Dec2018

&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;It's probably easiest to flip the data using an array method.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://stats.idre.ucla.edu/sas/modules/reshaping-data-wide-to-long-using-a-data-step/" target="_blank"&gt;https://stats.idre.ucla.edu/sas/modules/reshaping-data-wide-to-long-using-a-data-step/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You'll likely also want the VNAME() function -returns name of a variable in an array.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As well as SCAN() to separate the components or COMPRESS(variable, , 'kd') to extract only digits from a text value.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/202665"&gt;@PatricktLeon&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hello SAS Community!&amp;nbsp; I have a spreadsheet with 80 columns that are date and call disposition combinations.&amp;nbsp; Basically the data came in from multiple sources, so each row is a mashup of the various data sources.&amp;nbsp; For each row, there are various sections of these date and call disposition columns that are blank.&amp;nbsp; The format is Date Column, Disposition Column, Date Column, Disposition Column, etc.&amp;nbsp; My question is, how can I sort this by date for each row, and keep the disposition column next to the correct date?&amp;nbsp; Any tips would be greatly appreciated, thanks in advance!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Attached is a sample of the data structure, shortened to 16 date/disposition columns to illustrate the task at hand, thanks!&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 22 Feb 2019 22:42:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sorting-40-Date-Disposition-Columns-Together/m-p/537911#M148025</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-02-22T22:42:10Z</dc:date>
    </item>
    <item>
      <title>Re: Sorting 40 Date/Disposition Columns Together</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sorting-40-Date-Disposition-Columns-Together/m-p/538324#M148180</link>
      <description>&lt;P&gt;Hi Reeza, thank you for helping me visualize the approach!&amp;nbsp; I ended up writing a macro loop to flip the data:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%macro sorted;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;%local i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PROC SQL NOPRINT;&lt;BR /&gt;SELECT DISTINCT (dates) into :date1- :date40&lt;BR /&gt;FROM dates;&lt;BR /&gt;QUIT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%do i = 1 %to &amp;amp;sqlobs;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DATA DATES&amp;amp;i(KEEP=ID Date Disp);&lt;BR /&gt;SET DECEMBER_SORT;&lt;BR /&gt;FORMAT Date date9.;&lt;BR /&gt;Date = Date&amp;amp;i;&lt;BR /&gt;Disp = Disp&amp;amp;i;&lt;BR /&gt;RUN;&lt;BR /&gt;%end;&lt;BR /&gt;%mend sorted;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;%sorted;&lt;/P&gt;</description>
      <pubDate>Mon, 25 Feb 2019 16:31:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sorting-40-Date-Disposition-Columns-Together/m-p/538324#M148180</guid>
      <dc:creator>PatricktLeon</dc:creator>
      <dc:date>2019-02-25T16:31:41Z</dc:date>
    </item>
  </channel>
</rss>

