<?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 Splitting Rows in SAS Health and Life Sciences</title>
    <link>https://communities.sas.com/t5/SAS-Health-and-Life-Sciences/Splitting-Rows/m-p/26959#M1095</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Tom's solution is fine if you really need the specified structure (no more than 10&amp;nbsp; DIAGs per obs. and possibly multiple obs. per CLAIMID). It's good for a compact dump as generated by&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #000080;"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #000080;"&gt;&lt;STRONG&gt;print&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff;"&gt;data&lt;/SPAN&gt;=want ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #0000ff;"&gt;by&lt;/SPAN&gt; claimid &lt;SPAN style="color: #0000ff;"&gt;notsorted&lt;/SPAN&gt; ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #0000ff;"&gt;id&lt;/SPAN&gt; claimid ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New; color: #000080;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN style="color: #000000;"&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But for any kind of subsequent processing you are likely better served by either the given structure (one CLAIMID/DIAG pair per obs.) or a complete transpose (one obs. per CLAIMID). You can get SAS to discover the maximum number of DIAG values to be accommodated. Try&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #000080;"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #000080;"&gt;&lt;STRONG&gt;transpose&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff;"&gt;data&lt;/SPAN&gt;=diags &lt;SPAN style="color: #0000ff;"&gt;out&lt;/SPAN&gt;=wide &lt;SPAN style="color: #0000ff;"&gt;prefix&lt;/SPAN&gt;=diag ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #0000ff;"&gt;by&lt;/SPAN&gt; claimid &lt;SPAN style="color: #0000ff;"&gt;notsorted&lt;/SPAN&gt; ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #0000ff;"&gt;var&lt;/SPAN&gt; diag ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New; color: #000080;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN style="color: #000000;"&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 10 Oct 2011 19:59:08 GMT</pubDate>
    <dc:creator>Howles</dc:creator>
    <dc:date>2011-10-10T19:59:08Z</dc:date>
    <item>
      <title>Splitting Rows</title>
      <link>https://communities.sas.com/t5/SAS-Health-and-Life-Sciences/Splitting-Rows/m-p/26956#M1092</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can anyone recommend a way to get a dataset of claims and diagnosis, into rows with no more than 10 diagnosis per row?&amp;nbsp; &lt;/P&gt;&lt;P&gt;The number of diagnosis per claim varies and I never know what the max number of diags on a claim will be.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code below will create a simple example of the raw dataset I'm working with.&amp;nbsp; I know it has to transposed (in some way) but I'm not sure about the best way to get it to transpose by groups of 10 diags, and be able to do that with various number of diags per claim.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help is appreciated, thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;data diags;&lt;/P&gt;&lt;P&gt;input claimid $12. diag $;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;097389172812&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4500 &lt;/P&gt;&lt;P&gt;097389172812&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 13&lt;/P&gt;&lt;P&gt;097389172812&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4587 &lt;/P&gt;&lt;P&gt;097389172812&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 458 &lt;/P&gt;&lt;P&gt;097389172812&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9678 &lt;/P&gt;&lt;P&gt;097389172812&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128 &lt;/P&gt;&lt;P&gt;097389172812&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 986&lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7895&lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 45&lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9635&lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 574&lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5913&lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 974&lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2685&lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 857&lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 356&lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 851&lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5214 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 69 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 111 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 999 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5857&lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 674 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 853 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 276 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4975 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 363 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 661 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 454 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 751 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 902 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 024 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 422 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 190&lt;/P&gt;&lt;P&gt;006285475124&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0052 &lt;/P&gt;&lt;P&gt;006285475124&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5264&lt;/P&gt;&lt;P&gt;006285475124&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 886&lt;/P&gt;&lt;P&gt;006285475124&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 55&lt;/P&gt;&lt;P&gt;006285475124&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 941&lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 504 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 450 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5020 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7164 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 251 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 994 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 574 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6637 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 905 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 843 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4674 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8012 &lt;/P&gt;&lt;P&gt;854356214255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 832&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: arial black,avant garde;"&gt; &lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt; color: #000080; font-family: MT Extra;"&gt;&lt;SPAN style="color: #000080; font-size: 8pt; font-family: MT Extra;"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial black,avant garde;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="font-size: 8pt; color: #000080; font-family: arial black,avant garde;"&gt;&lt;SPAN style="color: #000080; font-size: 8pt; font-family: MT Extra;"&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial black,avant garde;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Oct 2011 13:27:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Health-and-Life-Sciences/Splitting-Rows/m-p/26956#M1092</guid>
      <dc:creator>Jinpa88</dc:creator>
      <dc:date>2011-10-10T13:27:20Z</dc:date>
    </item>
    <item>
      <title>Re: Splitting Rows</title>
      <link>https://communities.sas.com/t5/SAS-Health-and-Life-Sciences/Splitting-Rows/m-p/26957#M1093</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your data is not sorted by CLAIMID.&amp;nbsp; You should either sort it or add the NOTSORTED option to the BY statement in the code below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if 0 then set diags;&lt;/P&gt;&lt;P&gt;&amp;nbsp; seq+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array d $5 diag1-diag10;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do _n_=1 to 10 until (last.claimid);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set diags;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; by claimid ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if first.claimid then seq=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; d(_n_)=diag;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; drop diag;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Oct 2011 13:35:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Health-and-Life-Sciences/Splitting-Rows/m-p/26957#M1093</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2011-10-10T13:35:36Z</dc:date>
    </item>
    <item>
      <title>Splitting Rows</title>
      <link>https://communities.sas.com/t5/SAS-Health-and-Life-Sciences/Splitting-Rows/m-p/26958#M1094</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Tom - absolutely perfect!&amp;nbsp; I suspected a do-loop was involved, just don't have the experience with them.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks again.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;C. Sargent&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Oct 2011 14:09:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Health-and-Life-Sciences/Splitting-Rows/m-p/26958#M1094</guid>
      <dc:creator>Jinpa88</dc:creator>
      <dc:date>2011-10-10T14:09:36Z</dc:date>
    </item>
    <item>
      <title>Splitting Rows</title>
      <link>https://communities.sas.com/t5/SAS-Health-and-Life-Sciences/Splitting-Rows/m-p/26959#M1095</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Tom's solution is fine if you really need the specified structure (no more than 10&amp;nbsp; DIAGs per obs. and possibly multiple obs. per CLAIMID). It's good for a compact dump as generated by&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #000080;"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #000080;"&gt;&lt;STRONG&gt;print&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff;"&gt;data&lt;/SPAN&gt;=want ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #0000ff;"&gt;by&lt;/SPAN&gt; claimid &lt;SPAN style="color: #0000ff;"&gt;notsorted&lt;/SPAN&gt; ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #0000ff;"&gt;id&lt;/SPAN&gt; claimid ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New; color: #000080;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN style="color: #000000;"&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But for any kind of subsequent processing you are likely better served by either the given structure (one CLAIMID/DIAG pair per obs.) or a complete transpose (one obs. per CLAIMID). You can get SAS to discover the maximum number of DIAG values to be accommodated. Try&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #000080;"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #000080;"&gt;&lt;STRONG&gt;transpose&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff;"&gt;data&lt;/SPAN&gt;=diags &lt;SPAN style="color: #0000ff;"&gt;out&lt;/SPAN&gt;=wide &lt;SPAN style="color: #0000ff;"&gt;prefix&lt;/SPAN&gt;=diag ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #0000ff;"&gt;by&lt;/SPAN&gt; claimid &lt;SPAN style="color: #0000ff;"&gt;notsorted&lt;/SPAN&gt; ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #0000ff;"&gt;var&lt;/SPAN&gt; diag ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New; color: #000080;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN style="color: #000000;"&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Oct 2011 19:59:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Health-and-Life-Sciences/Splitting-Rows/m-p/26959#M1095</guid>
      <dc:creator>Howles</dc:creator>
      <dc:date>2011-10-10T19:59:08Z</dc:date>
    </item>
  </channel>
</rss>

