<?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: Transposing Data (a bit more complicated this time around) in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Transposing-Data-a-bit-more-complicated-this-time-around/m-p/142721#M37969</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How about this :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;infile cards dsd;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input id:$2. item_name :$13. sequence :$2. type_name :$8.;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;01,ABC,1,company&lt;/P&gt;&lt;P&gt;01,domestic,1,direct&lt;/P&gt;&lt;P&gt;01,cash,1,type&lt;/P&gt;&lt;P&gt;01,1000,1,classA&lt;/P&gt;&lt;P&gt;01,500,1,classB&lt;/P&gt;&lt;P&gt;01,,1,indirect&lt;/P&gt;&lt;P&gt;01,,1,type&lt;/P&gt;&lt;P&gt;01,,1,classA&lt;/P&gt;&lt;P&gt;01,,1,classB&lt;/P&gt;&lt;P&gt;01,ABC,2,company&lt;/P&gt;&lt;P&gt;01,international,2,direct&lt;/P&gt;&lt;P&gt;01,bond,2,type&lt;/P&gt;&lt;P&gt;01,2000,2,classA&lt;/P&gt;&lt;P&gt;01,1500,2,classB&lt;/P&gt;&lt;P&gt;01,,2,indirect&lt;/P&gt;&lt;P&gt;01,,2,type&lt;/P&gt;&lt;P&gt;01,,2,classA&lt;/P&gt;&lt;P&gt;01,,2,classB&lt;/P&gt;&lt;P&gt;01,ABC,3,company&lt;/P&gt;&lt;P&gt;01,domestic,3,direct&lt;/P&gt;&lt;P&gt;01,property,3,type&lt;/P&gt;&lt;P&gt;01,5000,3,classA&lt;/P&gt;&lt;P&gt;01,3500,3,classB&lt;/P&gt;&lt;P&gt;01,,3,indirect&lt;/P&gt;&lt;P&gt;01,,3,type&lt;/P&gt;&lt;P&gt;01,,3,classA&lt;/P&gt;&lt;P&gt;01,,3,classB&lt;/P&gt;&lt;P&gt;02,DEF,1,company&lt;/P&gt;&lt;P&gt;02,,1,direct&lt;/P&gt;&lt;P&gt;02,,1,type&lt;/P&gt;&lt;P&gt;02,,1,classA&lt;/P&gt;&lt;P&gt;02,,1,classB&lt;/P&gt;&lt;P&gt;02,domestic,1,indirect&lt;/P&gt;&lt;P&gt;02,cash,1,type&lt;/P&gt;&lt;P&gt;02,4000,1,classA&lt;/P&gt;&lt;P&gt;02,3000,1,classB&lt;/P&gt;&lt;P&gt;02,DEF,2,company&lt;/P&gt;&lt;P&gt;02,,2,direct&lt;/P&gt;&lt;P&gt;02,,2,type&lt;/P&gt;&lt;P&gt;02,,2,classA&lt;/P&gt;&lt;P&gt;02,,2,classB&lt;/P&gt;&lt;P&gt;02,international,2,indirect&lt;/P&gt;&lt;P&gt;02,bond,2,type&lt;/P&gt;&lt;P&gt;02,7000,2,classA&lt;/P&gt;&lt;P&gt;02,6500,2,classB&lt;/P&gt;&lt;P&gt;02,DEF,3,company&lt;/P&gt;&lt;P&gt;02,,3,direct&lt;/P&gt;&lt;P&gt;02,,3,type&lt;/P&gt;&lt;P&gt;02,,3,classA&lt;/P&gt;&lt;P&gt;02,,3,classB&lt;/P&gt;&lt;P&gt;02,domestic,3,indirect&lt;/P&gt;&lt;P&gt;02,property,3,type&lt;/P&gt;&lt;P&gt;02,9000,3,classA&lt;/P&gt;&lt;P&gt;02,8500,3,classB&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;data temp(keep=id sequence _type value); &lt;/P&gt;&lt;P&gt; set have(where=(type_name in ('classA' 'classB' ) and Item_name is not missing));&lt;/P&gt;&lt;P&gt; if input(Item_name,best32.) gt 0 then do; _type=catx('&amp;gt;',type_name,'0'); value=Item_name;end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else do; _type=catx('&amp;lt;=',type_name,'0'); value=Item_name;end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;data key(keep=id sequence t company) ;&lt;/P&gt;&lt;P&gt; merge have(keep=id sequence type_name item_name&amp;nbsp; where=(type_name in ('direct' 'indirect'&amp;nbsp; 'type'&amp;nbsp; ) and item_name is not missing))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; have(keep=id sequence type_name item_name rename=(item_name=company type_name=_type_name) where=(_type_name = 'company')) ;&lt;/P&gt;&lt;P&gt;by id sequence;&lt;/P&gt;&lt;P&gt;length t $ 200;&lt;/P&gt;&lt;P&gt; retain t;&lt;/P&gt;&lt;P&gt; t=catx(',',t,cats(type_name,'=',item_name));&lt;/P&gt;&lt;P&gt; if last.sequence then do;output;call missing(t);end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt; merge temp key;&lt;/P&gt;&lt;P&gt; by id sequence;&lt;/P&gt;&lt;P&gt;type=catx(',',t,_type);&lt;/P&gt;&lt;P&gt;drop _type t;&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;Xia Keshan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 27 Oct 2014 12:06:38 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2014-10-27T12:06:38Z</dc:date>
    <item>
      <title>Transposing Data (a bit more complicated this time around)</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Transposing-Data-a-bit-more-complicated-this-time-around/m-p/142719#M37967</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I have a transposition problem which I can't figure out how to solve. So SAS forum, you are my only hope at this point.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here we go. Suppose I have the following data;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" style="width: 354px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xl77" height="21" width="64"&gt;i&lt;STRONG&gt;d&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD class="xl74" width="88"&gt;&lt;STRONG&gt;Item_name&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD class="xl74" width="68"&gt;&lt;STRONG&gt;Sequence&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD class="xl75" width="134"&gt;&lt;STRONG&gt;Type_name&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl76" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl67"&gt;ABC&lt;/TD&gt;&lt;TD class="xl67"&gt;1&lt;/TD&gt;&lt;TD class="xl68"&gt;company&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;domestic&lt;/TD&gt;&lt;TD class="xl65"&gt;1&lt;/TD&gt;&lt;TD class="xl70"&gt;direct&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;cash&lt;/TD&gt;&lt;TD class="xl65"&gt;1&lt;/TD&gt;&lt;TD class="xl70"&gt;type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;1000&lt;/TD&gt;&lt;TD class="xl65"&gt;1&lt;/TD&gt;&lt;TD class="xl70"&gt;classA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;500&lt;/TD&gt;&lt;TD class="xl65"&gt;1&lt;/TD&gt;&lt;TD class="xl70"&gt;classB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="21"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;1&lt;/TD&gt;&lt;TD class="xl70"&gt;indirect&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;1&lt;/TD&gt;&lt;TD class="xl70"&gt;type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;1&lt;/TD&gt;&lt;TD class="xl70"&gt;classA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="21"&gt;01&lt;/TD&gt;&lt;TD class="xl72"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;1&lt;/TD&gt;&lt;TD class="xl73"&gt;classB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl76" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl67" style="border-top: none;"&gt;ABC&lt;/TD&gt;&lt;TD class="xl67"&gt;2&lt;/TD&gt;&lt;TD class="xl68" style="border-top: none;"&gt;company&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;international&lt;/TD&gt;&lt;TD class="xl65"&gt;2&lt;/TD&gt;&lt;TD class="xl70"&gt;direct&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="21"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;bond&lt;/TD&gt;&lt;TD class="xl65"&gt;2&lt;/TD&gt;&lt;TD class="xl70"&gt;type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;2000&lt;/TD&gt;&lt;TD class="xl65"&gt;2&lt;/TD&gt;&lt;TD class="xl70"&gt;classA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;1500&lt;/TD&gt;&lt;TD class="xl65"&gt;2&lt;/TD&gt;&lt;TD class="xl70"&gt;classB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;2&lt;/TD&gt;&lt;TD class="xl70"&gt;indirect&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;2&lt;/TD&gt;&lt;TD class="xl70"&gt;type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;2&lt;/TD&gt;&lt;TD class="xl70"&gt;classA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl71" height="21"&gt;01&lt;/TD&gt;&lt;TD class="xl72"&gt;&lt;/TD&gt;&lt;TD class="xl72"&gt;2&lt;/TD&gt;&lt;TD class="xl73"&gt;classB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl76" height="20" style="border-top: none;"&gt;01&lt;/TD&gt;&lt;TD class="xl67" style="border-top: none;"&gt;ABC&lt;/TD&gt;&lt;TD class="xl67" style="border-top: none;"&gt;3&lt;/TD&gt;&lt;TD class="xl68" style="border-top: none;"&gt;company&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;domestic&lt;/TD&gt;&lt;TD class="xl65"&gt;3&lt;/TD&gt;&lt;TD class="xl70"&gt;direct&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;property&lt;/TD&gt;&lt;TD class="xl65"&gt;3&lt;/TD&gt;&lt;TD class="xl70"&gt;type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;5000&lt;/TD&gt;&lt;TD class="xl65"&gt;3&lt;/TD&gt;&lt;TD class="xl70"&gt;classA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;3500&lt;/TD&gt;&lt;TD class="xl65"&gt;3&lt;/TD&gt;&lt;TD class="xl70"&gt;classB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;3&lt;/TD&gt;&lt;TD class="xl70"&gt;indirect&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;3&lt;/TD&gt;&lt;TD class="xl70"&gt;type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;3&lt;/TD&gt;&lt;TD class="xl70"&gt;classA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl71" height="21"&gt;01&lt;/TD&gt;&lt;TD class="xl72"&gt;&lt;/TD&gt;&lt;TD class="xl72"&gt;3&lt;/TD&gt;&lt;TD class="xl73"&gt;classB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl76" height="20" style="border-top: none;"&gt;02&lt;/TD&gt;&lt;TD class="xl67" style="border-top: none;"&gt;DEF&lt;/TD&gt;&lt;TD class="xl67" style="border-top: none;"&gt;1&lt;/TD&gt;&lt;TD class="xl68" style="border-top: none;"&gt;company&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;1&lt;/TD&gt;&lt;TD class="xl70"&gt;direct&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;1&lt;/TD&gt;&lt;TD class="xl70"&gt;type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;1&lt;/TD&gt;&lt;TD class="xl70"&gt;classA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;1&lt;/TD&gt;&lt;TD class="xl70"&gt;classB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;domestic&lt;/TD&gt;&lt;TD class="xl65"&gt;1&lt;/TD&gt;&lt;TD class="xl70"&gt;indirect&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;cash&lt;/TD&gt;&lt;TD class="xl65"&gt;1&lt;/TD&gt;&lt;TD class="xl70"&gt;type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;4000&lt;/TD&gt;&lt;TD class="xl65"&gt;1&lt;/TD&gt;&lt;TD class="xl70"&gt;classA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl71" height="21"&gt;02&lt;/TD&gt;&lt;TD class="xl72"&gt;3000&lt;/TD&gt;&lt;TD class="xl72"&gt;1&lt;/TD&gt;&lt;TD class="xl73"&gt;classB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl76" height="20" style="border-top: none;"&gt;02&lt;/TD&gt;&lt;TD class="xl67" style="border-top: none;"&gt;DEF&lt;/TD&gt;&lt;TD class="xl67" style="border-top: none;"&gt;2&lt;/TD&gt;&lt;TD class="xl68" style="border-top: none;"&gt;company&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;2&lt;/TD&gt;&lt;TD class="xl70"&gt;direct&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;2&lt;/TD&gt;&lt;TD class="xl70"&gt;type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;2&lt;/TD&gt;&lt;TD class="xl70"&gt;classA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;2&lt;/TD&gt;&lt;TD class="xl70"&gt;classB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;international&lt;/TD&gt;&lt;TD class="xl65"&gt;2&lt;/TD&gt;&lt;TD class="xl70"&gt;indirect&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;bond&lt;/TD&gt;&lt;TD class="xl65"&gt;2&lt;/TD&gt;&lt;TD class="xl70"&gt;type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;7000&lt;/TD&gt;&lt;TD class="xl65"&gt;2&lt;/TD&gt;&lt;TD class="xl70"&gt;classA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl71" height="21"&gt;02&lt;/TD&gt;&lt;TD class="xl72"&gt;6500&lt;/TD&gt;&lt;TD class="xl72"&gt;2&lt;/TD&gt;&lt;TD class="xl73"&gt;classB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl76" height="20" style="border-top: none;"&gt;02&lt;/TD&gt;&lt;TD class="xl67" style="border-top: none;"&gt;DEF&lt;/TD&gt;&lt;TD class="xl67" style="border-top: none;"&gt;3&lt;/TD&gt;&lt;TD class="xl68" style="border-top: none;"&gt;company&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;3&lt;/TD&gt;&lt;TD class="xl70"&gt;direct&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;3&lt;/TD&gt;&lt;TD class="xl70"&gt;type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;3&lt;/TD&gt;&lt;TD class="xl70"&gt;classA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;&lt;/TD&gt;&lt;TD class="xl65"&gt;3&lt;/TD&gt;&lt;TD class="xl70"&gt;classB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;domestic&lt;/TD&gt;&lt;TD class="xl65"&gt;3&lt;/TD&gt;&lt;TD class="xl70"&gt;indirect&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;property&lt;/TD&gt;&lt;TD class="xl65"&gt;3&lt;/TD&gt;&lt;TD class="xl70"&gt;type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;9000&lt;/TD&gt;&lt;TD class="xl65"&gt;3&lt;/TD&gt;&lt;TD class="xl70"&gt;classA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl71" height="21"&gt;02&lt;/TD&gt;&lt;TD class="xl72"&gt;8500&lt;/TD&gt;&lt;TD class="xl72"&gt;3&lt;/TD&gt;&lt;TD class="xl73"&gt;classB&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and trying to transform it into the following;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" style="width: 513px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xl73" height="21" width="64"&gt;&lt;STRONG&gt;id&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD class="xl74" width="64"&gt;&lt;STRONG&gt;company&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD class="xl74" width="283"&gt;&lt;STRONG&gt;type&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD class="xl75" width="102"&gt;&lt;STRONG&gt;value&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl76" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl66"&gt;ABC&lt;/TD&gt;&lt;TD class="xl66"&gt;direct=domestic, type=cash, classA&amp;gt;0&lt;/TD&gt;&lt;TD class="xl67"&gt;1000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl68" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;ABC&lt;/TD&gt;&lt;TD class="xl65"&gt;direct=domestic, type=cash, classB&amp;gt;0&lt;/TD&gt;&lt;TD class="xl69"&gt;500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl68" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;ABC&lt;/TD&gt;&lt;TD class="xl65"&gt;direct=international, type=bond, classA&amp;gt;0&lt;/TD&gt;&lt;TD class="xl69"&gt;2000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl68" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;ABC&lt;/TD&gt;&lt;TD class="xl65"&gt;direct=international, type=bond, classB&amp;gt;0&lt;/TD&gt;&lt;TD class="xl69"&gt;1500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl68" height="20"&gt;01&lt;/TD&gt;&lt;TD class="xl65"&gt;ABC&lt;/TD&gt;&lt;TD class="xl65"&gt;direct=domestic, type=property, classA&amp;gt;0&lt;/TD&gt;&lt;TD class="xl69"&gt;5000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl70" height="21"&gt;01&lt;/TD&gt;&lt;TD class="xl71"&gt;ABC&lt;/TD&gt;&lt;TD class="xl71"&gt;direct=domestic, type=property, classB&amp;gt;0&lt;/TD&gt;&lt;TD class="xl72"&gt;3500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl76" height="20" style="border-top: none;"&gt;02&lt;/TD&gt;&lt;TD class="xl66" style="border-top: none;"&gt;DEF&lt;/TD&gt;&lt;TD class="xl66" style="border-top: none;"&gt;indirect=domestic, type=cash, classA&amp;gt;0&lt;/TD&gt;&lt;TD class="xl67" style="border-top: none;"&gt;4000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl68" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;DEF&lt;/TD&gt;&lt;TD class="xl65"&gt;indirect=domestic, type=cash, classB&amp;gt;0&lt;/TD&gt;&lt;TD class="xl69"&gt;3000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl68" height="21"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;DEF&lt;/TD&gt;&lt;TD class="xl65"&gt;indirect=international, type=bond, classA&amp;gt;0&lt;/TD&gt;&lt;TD class="xl69"&gt;7000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl68" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;DEF&lt;/TD&gt;&lt;TD class="xl65"&gt;indirect=international, type=bond, classB&amp;gt;0&lt;/TD&gt;&lt;TD class="xl69"&gt;6500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl68" height="20"&gt;02&lt;/TD&gt;&lt;TD class="xl65"&gt;DEF&lt;/TD&gt;&lt;TD class="xl65"&gt;indirect=domestic, type=property, classA&amp;gt;0&lt;/TD&gt;&lt;TD class="xl69"&gt;9000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl70" height="21"&gt;02&lt;/TD&gt;&lt;TD class="xl71"&gt;DEF&lt;/TD&gt;&lt;TD class="xl71"&gt;indirect=domestic, type=property, classB&amp;gt;0&lt;/TD&gt;&lt;TD class="xl72"&gt;8500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Notice, there is a structure in the data. If for example, type is direct, it can't be indirect in that sequence. What I'm struggling with is the "logic" I want to implement,&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;if&amp;nbsp; (type_name=direct and item_name=domestic) and type_name=classA then value=1,000.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &lt;/P&gt;&lt;P&gt;I'll post the sample code for the dummy data above as well if it helps;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="color: navy; background: white; font-size: 9.0pt; font-family: 'Courier New';"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; have;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;infile&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;cards&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;dsd&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp; &lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;input&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; id:&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: teal; background: white;"&gt;$2.&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; item_name :&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: teal; background: white;"&gt;$13.&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; sequence :&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: teal; background: white;"&gt;$2.&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: white;"&gt; type_name :&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: teal; background: white;"&gt;$8.&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: blue; background: white;"&gt;cards&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,ABC,1,company&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,domestic,1,direct&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,cash,1,type&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,1000,1,classA&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,500,1,classB&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,,1,indirect&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,,1,type&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,,1,classA&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,,1,classB&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,ABC,2,company&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,international,2,direct&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,bond,2,type&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,2000,2,classA&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,1500,2,classB&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,,2,indirect&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,,2,type&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,,2,classA&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,,2,classB&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,ABC,3,company&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,domestic,3,direct&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,property,3,type&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,5000,3,classA&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,3500,3,classB&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,,3,indirect&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,,3,type&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,,3,classA&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;01,,3,classB&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,DEF,1,company&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,,1,direct&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,,1,type&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,,1,classA&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,,1,classB&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,domestic,1,indirect&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,cash,1,type&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,4000,1,classA&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,3000,1,classB&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,DEF,2,company&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,,2,direct&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,,2,type&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,,2,classA&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,,2,classB&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,international,2,indirect&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,bond,2,type&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,7000,2,classA&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,6500,2,classB&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,DEF,3,company&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,,3,direct&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,,3,type&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,,3,classA&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,,3,classB&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,domestic,3,indirect&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,property,3,type&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,9000,3,classA&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: #FFFFC0;"&gt;02,8500,3,classB&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="color: navy; background: white; font-size: 9.0pt; font-family: 'Courier New';"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt; font-family: 'Courier New'; color: black; background: white;"&gt;Hopefully someone will be able to crack this.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Oct 2014 10:38:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Transposing-Data-a-bit-more-complicated-this-time-around/m-p/142719#M37967</guid>
      <dc:creator>erickbernard</dc:creator>
      <dc:date>2014-10-27T10:38:49Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing Data (a bit more complicated this time around)</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Transposing-Data-a-bit-more-complicated-this-time-around/m-p/142720#M37968</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just build up the string as you go along, retaining the values, then output at the end of the sequence number, something like:&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt; set have;&lt;/P&gt;&lt;P&gt; length company $20 type $200;&lt;/P&gt;&lt;P&gt; retain id company type value;&lt;/P&gt;&lt;P&gt; by id sequence;&lt;/P&gt;&lt;P&gt; if first.sequence then company=item_name;&lt;/P&gt;&lt;P&gt; else do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if type_name in ("direct","cash") then type=strip(type)||type_name||"="||strip(item_name);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if type_name="...&lt;/P&gt;&lt;P&gt; end;&lt;/P&gt;&lt;P&gt; if last.sequence then output;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Oct 2014 11:17:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Transposing-Data-a-bit-more-complicated-this-time-around/m-p/142720#M37968</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-10-27T11:17:25Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing Data (a bit more complicated this time around)</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Transposing-Data-a-bit-more-complicated-this-time-around/m-p/142721#M37969</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How about this :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;infile cards dsd;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input id:$2. item_name :$13. sequence :$2. type_name :$8.;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;01,ABC,1,company&lt;/P&gt;&lt;P&gt;01,domestic,1,direct&lt;/P&gt;&lt;P&gt;01,cash,1,type&lt;/P&gt;&lt;P&gt;01,1000,1,classA&lt;/P&gt;&lt;P&gt;01,500,1,classB&lt;/P&gt;&lt;P&gt;01,,1,indirect&lt;/P&gt;&lt;P&gt;01,,1,type&lt;/P&gt;&lt;P&gt;01,,1,classA&lt;/P&gt;&lt;P&gt;01,,1,classB&lt;/P&gt;&lt;P&gt;01,ABC,2,company&lt;/P&gt;&lt;P&gt;01,international,2,direct&lt;/P&gt;&lt;P&gt;01,bond,2,type&lt;/P&gt;&lt;P&gt;01,2000,2,classA&lt;/P&gt;&lt;P&gt;01,1500,2,classB&lt;/P&gt;&lt;P&gt;01,,2,indirect&lt;/P&gt;&lt;P&gt;01,,2,type&lt;/P&gt;&lt;P&gt;01,,2,classA&lt;/P&gt;&lt;P&gt;01,,2,classB&lt;/P&gt;&lt;P&gt;01,ABC,3,company&lt;/P&gt;&lt;P&gt;01,domestic,3,direct&lt;/P&gt;&lt;P&gt;01,property,3,type&lt;/P&gt;&lt;P&gt;01,5000,3,classA&lt;/P&gt;&lt;P&gt;01,3500,3,classB&lt;/P&gt;&lt;P&gt;01,,3,indirect&lt;/P&gt;&lt;P&gt;01,,3,type&lt;/P&gt;&lt;P&gt;01,,3,classA&lt;/P&gt;&lt;P&gt;01,,3,classB&lt;/P&gt;&lt;P&gt;02,DEF,1,company&lt;/P&gt;&lt;P&gt;02,,1,direct&lt;/P&gt;&lt;P&gt;02,,1,type&lt;/P&gt;&lt;P&gt;02,,1,classA&lt;/P&gt;&lt;P&gt;02,,1,classB&lt;/P&gt;&lt;P&gt;02,domestic,1,indirect&lt;/P&gt;&lt;P&gt;02,cash,1,type&lt;/P&gt;&lt;P&gt;02,4000,1,classA&lt;/P&gt;&lt;P&gt;02,3000,1,classB&lt;/P&gt;&lt;P&gt;02,DEF,2,company&lt;/P&gt;&lt;P&gt;02,,2,direct&lt;/P&gt;&lt;P&gt;02,,2,type&lt;/P&gt;&lt;P&gt;02,,2,classA&lt;/P&gt;&lt;P&gt;02,,2,classB&lt;/P&gt;&lt;P&gt;02,international,2,indirect&lt;/P&gt;&lt;P&gt;02,bond,2,type&lt;/P&gt;&lt;P&gt;02,7000,2,classA&lt;/P&gt;&lt;P&gt;02,6500,2,classB&lt;/P&gt;&lt;P&gt;02,DEF,3,company&lt;/P&gt;&lt;P&gt;02,,3,direct&lt;/P&gt;&lt;P&gt;02,,3,type&lt;/P&gt;&lt;P&gt;02,,3,classA&lt;/P&gt;&lt;P&gt;02,,3,classB&lt;/P&gt;&lt;P&gt;02,domestic,3,indirect&lt;/P&gt;&lt;P&gt;02,property,3,type&lt;/P&gt;&lt;P&gt;02,9000,3,classA&lt;/P&gt;&lt;P&gt;02,8500,3,classB&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;data temp(keep=id sequence _type value); &lt;/P&gt;&lt;P&gt; set have(where=(type_name in ('classA' 'classB' ) and Item_name is not missing));&lt;/P&gt;&lt;P&gt; if input(Item_name,best32.) gt 0 then do; _type=catx('&amp;gt;',type_name,'0'); value=Item_name;end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else do; _type=catx('&amp;lt;=',type_name,'0'); value=Item_name;end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;data key(keep=id sequence t company) ;&lt;/P&gt;&lt;P&gt; merge have(keep=id sequence type_name item_name&amp;nbsp; where=(type_name in ('direct' 'indirect'&amp;nbsp; 'type'&amp;nbsp; ) and item_name is not missing))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; have(keep=id sequence type_name item_name rename=(item_name=company type_name=_type_name) where=(_type_name = 'company')) ;&lt;/P&gt;&lt;P&gt;by id sequence;&lt;/P&gt;&lt;P&gt;length t $ 200;&lt;/P&gt;&lt;P&gt; retain t;&lt;/P&gt;&lt;P&gt; t=catx(',',t,cats(type_name,'=',item_name));&lt;/P&gt;&lt;P&gt; if last.sequence then do;output;call missing(t);end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt; merge temp key;&lt;/P&gt;&lt;P&gt; by id sequence;&lt;/P&gt;&lt;P&gt;type=catx(',',t,_type);&lt;/P&gt;&lt;P&gt;drop _type t;&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;Xia Keshan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Oct 2014 12:06:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Transposing-Data-a-bit-more-complicated-this-time-around/m-p/142721#M37969</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2014-10-27T12:06:38Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing Data (a bit more complicated this time around)</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Transposing-Data-a-bit-more-complicated-this-time-around/m-p/142722#M37970</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;in retrospect, this is the way to go i think. there are more changes in the data i received. so hopefully i can modify this to work with that.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Oct 2014 01:55:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Transposing-Data-a-bit-more-complicated-this-time-around/m-p/142722#M37970</guid>
      <dc:creator>erickbernard</dc:creator>
      <dc:date>2014-10-28T01:55:05Z</dc:date>
    </item>
  </channel>
</rss>

