<?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: Row to clumn in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Row-to-clumn/m-p/94995#M20013</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I can only guess at the variable lengths you might really need, but I think you are looking for something like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; informat attr $80.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input id attr &amp;amp;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;1&amp;nbsp; 555-555-5555&lt;/P&gt;&lt;P&gt;1&amp;nbsp; (555) 555-5555&lt;/P&gt;&lt;P&gt;1&amp;nbsp; 80 Here Street, Somewhere&lt;/P&gt;&lt;P&gt;2&amp;nbsp; 1-555-555-5555&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2&amp;nbsp; &lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:myname@notmyprovider.com"&gt;myname@notmyprovider.com&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2&amp;nbsp; &lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:myname@myprovider.com"&gt;myname@myprovider.com&lt;/A&gt;&lt;/P&gt;&lt;P&gt;3&amp;nbsp; 90 There Road, Elsewhere&lt;/P&gt;&lt;P&gt;3&amp;nbsp; Apt 1A&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;4&amp;nbsp; &lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:notmyname@notmyprovider.com"&gt;notmyname@notmyprovider.com&lt;/A&gt;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want (keep=email address phone);&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain pattern address phone email;&lt;/P&gt;&lt;P&gt;&amp;nbsp; length address phone email $80;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by id;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_ = 1 then pattern = prxparse("/\d\d\d-\d{4}/");&lt;/P&gt;&lt;P&gt;&amp;nbsp; if first.id then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call missing(address);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call missing(email);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call missing(phone);&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if PRXMATCH(pattern,attr) then phone=catx(',',phone,attr);&lt;/P&gt;&lt;P&gt;&amp;nbsp; else if index(attr,"@") then email=catx(',',email,attr);&lt;/P&gt;&lt;P&gt;&amp;nbsp; else address=catx(',',address,attr);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if last.id then output;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 01 Feb 2013 23:27:06 GMT</pubDate>
    <dc:creator>art297</dc:creator>
    <dc:date>2013-02-01T23:27:06Z</dc:date>
    <item>
      <title>Row to clumn</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Row-to-clumn/m-p/94992#M20010</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;how to move rows to columns:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attr&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; phone1&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; phone2&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addr1&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; phone1&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addr1&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp; addr2&lt;/P&gt;&lt;P&gt;4&amp;nbsp;&amp;nbsp; email1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; phone&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addr&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; email&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; phone1,phone2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addr1&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; phone1&lt;/P&gt;&lt;P&gt;3&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addr1,addr2&lt;/P&gt;&lt;P&gt;4&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; email1&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Feb 2013 22:36:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Row-to-clumn/m-p/94992#M20010</guid>
      <dc:creator>SASPhile</dc:creator>
      <dc:date>2013-02-01T22:36:56Z</dc:date>
    </item>
    <item>
      <title>Re: Row to clumn</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Row-to-clumn/m-p/94993#M20011</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A __default_attr="504807" __jive_macro_name="user" class="jive_macro jive_macro_user" data-objecttype="3" href="https://communities.sas.com/"&gt;&lt;/A&gt; Tell us more!&amp;nbsp; Is your example really what your data look like or do the phone numbers look like typical phone numbers (and, if so, how many different types are there?&amp;nbsp; e.g. 555-555-5555, 1-555-555-5555, (555) 555-5555), is the @ symbol used in any other fields other than email addresses?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or are you only asking regarding the specifics you initially posted?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Feb 2013 22:48:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Row-to-clumn/m-p/94993#M20011</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2013-02-01T22:48:11Z</dc:date>
    </item>
    <item>
      <title>Re: Row to clumn</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Row-to-clumn/m-p/94994#M20012</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;phone is typical phone numbers&lt;/P&gt;&lt;P&gt;addr is real address&lt;/P&gt;&lt;P&gt;and email has @&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Feb 2013 22:51:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Row-to-clumn/m-p/94994#M20012</guid>
      <dc:creator>SASPhile</dc:creator>
      <dc:date>2013-02-01T22:51:12Z</dc:date>
    </item>
    <item>
      <title>Re: Row to clumn</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Row-to-clumn/m-p/94995#M20013</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I can only guess at the variable lengths you might really need, but I think you are looking for something like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; informat attr $80.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input id attr &amp;amp;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;1&amp;nbsp; 555-555-5555&lt;/P&gt;&lt;P&gt;1&amp;nbsp; (555) 555-5555&lt;/P&gt;&lt;P&gt;1&amp;nbsp; 80 Here Street, Somewhere&lt;/P&gt;&lt;P&gt;2&amp;nbsp; 1-555-555-5555&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2&amp;nbsp; &lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:myname@notmyprovider.com"&gt;myname@notmyprovider.com&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2&amp;nbsp; &lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:myname@myprovider.com"&gt;myname@myprovider.com&lt;/A&gt;&lt;/P&gt;&lt;P&gt;3&amp;nbsp; 90 There Road, Elsewhere&lt;/P&gt;&lt;P&gt;3&amp;nbsp; Apt 1A&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;4&amp;nbsp; &lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:notmyname@notmyprovider.com"&gt;notmyname@notmyprovider.com&lt;/A&gt;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want (keep=email address phone);&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain pattern address phone email;&lt;/P&gt;&lt;P&gt;&amp;nbsp; length address phone email $80;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by id;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_ = 1 then pattern = prxparse("/\d\d\d-\d{4}/");&lt;/P&gt;&lt;P&gt;&amp;nbsp; if first.id then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call missing(address);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call missing(email);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call missing(phone);&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if PRXMATCH(pattern,attr) then phone=catx(',',phone,attr);&lt;/P&gt;&lt;P&gt;&amp;nbsp; else if index(attr,"@") then email=catx(',',email,attr);&lt;/P&gt;&lt;P&gt;&amp;nbsp; else address=catx(',',address,attr);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if last.id then output;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Feb 2013 23:27:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Row-to-clumn/m-p/94995#M20013</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2013-02-01T23:27:06Z</dc:date>
    </item>
  </channel>
</rss>

