<?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: Please Help:How to order products in a dataset? Thanks in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Please-Help-How-to-order-products-in-a-dataset-Thanks/m-p/79886#M17222</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;A 2 stage process will do it.&amp;nbsp; Firstly group the customers and items, I've used PROC SUMMARY with the ORDER=DATA option to preserve the item order.&amp;nbsp; Then you just need to add the sequence.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input CustomerId $ Delivery_date :date9. Item_group $;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;000001 01-Jan-11 MILK&lt;/P&gt;&lt;P&gt;000001 01-Jan-11 JUICE&lt;/P&gt;&lt;P&gt;000001 02-Jan-11 MILK&lt;/P&gt;&lt;P&gt;000001 02-Jan-11 JUICE&lt;/P&gt;&lt;P&gt;000001 03-Jan-11 CHEESE&lt;/P&gt;&lt;P&gt;000002 01-Jan-11 MILK&lt;/P&gt;&lt;P&gt;000002 02-Jan-11 MILK&lt;/P&gt;&lt;P&gt;000002 03-Jan-11 MILK&lt;/P&gt;&lt;P&gt;000002 04-Jan-11 FRUITS&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;proc summary data=have nway;&lt;/P&gt;&lt;P&gt;class CustomerId Item_group / order=data;&lt;/P&gt;&lt;P&gt;output out=want (drop=_:);&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 want;&lt;/P&gt;&lt;P&gt;set want;&lt;/P&gt;&lt;P&gt;by customerid;&lt;/P&gt;&lt;P&gt;if first.customerid then product_sequency=0;&lt;/P&gt;&lt;P&gt;product_sequency+1;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 21 May 2013 08:04:07 GMT</pubDate>
    <dc:creator>Keith</dc:creator>
    <dc:date>2013-05-21T08:04:07Z</dc:date>
    <item>
      <title>Please Help:How to order products in a dataset? Thanks</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Please-Help-How-to-order-products-in-a-dataset-Thanks/m-p/79883#M17219</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to order the product bought by each customer like below. The input is the original dataset and the output is the results I want. I want to follow the order of the product ...I woudl like the Milk for example to be first product bought for the first customer...&lt;/P&gt;&lt;P&gt;Your help will be much appreciated. Many Thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="673"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xl64" colspan="3" height="25" style="border-right: black 0.5pt solid;" width="295"&gt;INPUT&lt;/TD&gt;&lt;TD class="xl67" width="10"&gt; &lt;/TD&gt;&lt;TD class="xl71" colspan="3" style="border-right: black 0.5pt solid;" width="368"&gt;OUTPUT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl77" height="24" style="border-top: medium none;"&gt;CustomerId&lt;/TD&gt;&lt;TD class="xl77" style="border-left: medium none; border-top: medium none;"&gt;Delivery_date&lt;/TD&gt;&lt;TD class="xl77" style="border-left: medium none; border-top: medium none;"&gt;Item_group&lt;/TD&gt;&lt;TD class="xl78"&gt; &lt;/TD&gt;&lt;TD class="xl79" style="border-top: medium none;"&gt;CustomerId&lt;/TD&gt;&lt;TD class="xl79" style="border-left: medium none; border-top: medium none;"&gt;Item_group&lt;/TD&gt;&lt;TD class="xl80" style="border-left: medium none; border-top: medium none;"&gt;Product_sequency&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20" style="border-top: medium none;"&gt;000001&lt;/TD&gt;&lt;TD class="xl70" style="border-left: medium none; border-top: medium none;"&gt;01-Jan-11&lt;/TD&gt;&lt;TD class="xl68" style="border-left: medium none; border-top: medium none;"&gt;MILK&lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl74" style="border-top: medium none;"&gt;000001&lt;/TD&gt;&lt;TD class="xl75" style="border-left: medium none; border-top: medium none;"&gt;MILK&lt;/TD&gt;&lt;TD class="xl76" style="border-left: medium none; border-top: medium none;"&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20" style="border-top: medium none;"&gt;000001&lt;/TD&gt;&lt;TD class="xl70" style="border-left: medium none; border-top: medium none;"&gt;01-Jan-11&lt;/TD&gt;&lt;TD class="xl68" style="border-left: medium none; border-top: medium none;"&gt;JUICE&lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl74" style="border-top: medium none;"&gt;000001&lt;/TD&gt;&lt;TD class="xl75" style="border-left: medium none; border-top: medium none;"&gt;JUICE&lt;/TD&gt;&lt;TD class="xl76" style="border-left: medium none; border-top: medium none;"&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20" style="border-top: medium none;"&gt;000001&lt;/TD&gt;&lt;TD class="xl70" style="border-left: medium none; border-top: medium none;"&gt;02-Jan-11&lt;/TD&gt;&lt;TD class="xl68" style="border-left: medium none; border-top: medium none;"&gt;MILK&lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl74" style="border-top: medium none;"&gt;000001&lt;/TD&gt;&lt;TD class="xl75" style="border-left: medium none; border-top: medium none;"&gt;CHEESE&lt;/TD&gt;&lt;TD class="xl76" style="border-left: medium none; border-top: medium none;"&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20" style="border-top: medium none;"&gt;000001&lt;/TD&gt;&lt;TD class="xl70" style="border-left: medium none; border-top: medium none;"&gt;02-Jan-11&lt;/TD&gt;&lt;TD class="xl68" style="border-left: medium none; border-top: medium none;"&gt;JUICE&lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl74" style="border-top: medium none;"&gt;000002&lt;/TD&gt;&lt;TD class="xl75" style="border-left: medium none; border-top: medium none;"&gt;MILK&lt;/TD&gt;&lt;TD class="xl76" style="border-left: medium none; border-top: medium none;"&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20" style="border-top: medium none;"&gt;000001&lt;/TD&gt;&lt;TD class="xl70" style="border-left: medium none; border-top: medium none;"&gt;03-Jan-11&lt;/TD&gt;&lt;TD class="xl68" style="border-left: medium none; border-top: medium none;"&gt;CHEESE&lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl74" style="border-top: medium none;"&gt;000002&lt;/TD&gt;&lt;TD class="xl75" style="border-left: medium none; border-top: medium none;"&gt;FRUITS&lt;/TD&gt;&lt;TD class="xl76" style="border-left: medium none; border-top: medium none;"&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20" style="border-top: medium none;"&gt;000002&lt;/TD&gt;&lt;TD class="xl70" style="border-left: medium none; border-top: medium none;"&gt;01-Jan-11&lt;/TD&gt;&lt;TD class="xl68" style="border-left: medium none; border-top: medium none;"&gt;MILK&lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20" style="border-top: medium none;"&gt;000002&lt;/TD&gt;&lt;TD class="xl70" style="border-left: medium none; border-top: medium none;"&gt;02-Jan-11&lt;/TD&gt;&lt;TD class="xl68" style="border-left: medium none; border-top: medium none;"&gt;MILK&lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20" style="border-top: medium none;"&gt;000002&lt;/TD&gt;&lt;TD class="xl70" style="border-left: medium none; border-top: medium none;"&gt;03-Jan-11&lt;/TD&gt;&lt;TD class="xl68" style="border-left: medium none; border-top: medium none;"&gt;MILK&lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="xl69" height="20" style="border-top: medium none;"&gt;000002&lt;/TD&gt;&lt;TD class="xl70" style="border-left: medium none; border-top: medium none;"&gt;04-Jan-11&lt;/TD&gt;&lt;TD class="xl68" style="border-left: medium none; border-top: medium none;"&gt;FRUITS&lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;TD class="xl67"&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 May 2013 13:29:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Please-Help-How-to-order-products-in-a-dataset-Thanks/m-p/79883#M17219</guid>
      <dc:creator>Question</dc:creator>
      <dc:date>2013-05-20T13:29:19Z</dc:date>
    </item>
    <item>
      <title>Re: Please Help:How to order products in a dataset? Thanks</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Please-Help-How-to-order-products-in-a-dataset-Thanks/m-p/79884#M17220</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do you have the hierarchy in a table or defined somewhere? What happens if someone buys fruits and juice which is first? If all the items have a defined order say in a spreadsheet, you can read that into sas and merge the sequence into the input dataset and then sort the data by customer, date, and sequence.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EJ &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 May 2013 13:38:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Please-Help-How-to-order-products-in-a-dataset-Thanks/m-p/79884#M17220</guid>
      <dc:creator>esjackso</dc:creator>
      <dc:date>2013-05-20T13:38:09Z</dc:date>
    </item>
    <item>
      <title>Re: Please Help:How to order products in a dataset? Thanks</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Please-Help-How-to-order-products-in-a-dataset-Thanks/m-p/79885#M17221</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;Hi,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;Try following code...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;proc sort data = have;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp; by customer_id;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;data want;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp; set have;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp; by customer_id;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp; if first.customer_id then product_sequency = 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp; else product_sequency + 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;Hope it will be useful...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;-Urvish&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 May 2013 07:15:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Please-Help-How-to-order-products-in-a-dataset-Thanks/m-p/79885#M17221</guid>
      <dc:creator>UrvishShah</dc:creator>
      <dc:date>2013-05-21T07:15:51Z</dc:date>
    </item>
    <item>
      <title>Re: Please Help:How to order products in a dataset? Thanks</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Please-Help-How-to-order-products-in-a-dataset-Thanks/m-p/79886#M17222</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;A 2 stage process will do it.&amp;nbsp; Firstly group the customers and items, I've used PROC SUMMARY with the ORDER=DATA option to preserve the item order.&amp;nbsp; Then you just need to add the sequence.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input CustomerId $ Delivery_date :date9. Item_group $;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;000001 01-Jan-11 MILK&lt;/P&gt;&lt;P&gt;000001 01-Jan-11 JUICE&lt;/P&gt;&lt;P&gt;000001 02-Jan-11 MILK&lt;/P&gt;&lt;P&gt;000001 02-Jan-11 JUICE&lt;/P&gt;&lt;P&gt;000001 03-Jan-11 CHEESE&lt;/P&gt;&lt;P&gt;000002 01-Jan-11 MILK&lt;/P&gt;&lt;P&gt;000002 02-Jan-11 MILK&lt;/P&gt;&lt;P&gt;000002 03-Jan-11 MILK&lt;/P&gt;&lt;P&gt;000002 04-Jan-11 FRUITS&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;proc summary data=have nway;&lt;/P&gt;&lt;P&gt;class CustomerId Item_group / order=data;&lt;/P&gt;&lt;P&gt;output out=want (drop=_:);&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 want;&lt;/P&gt;&lt;P&gt;set want;&lt;/P&gt;&lt;P&gt;by customerid;&lt;/P&gt;&lt;P&gt;if first.customerid then product_sequency=0;&lt;/P&gt;&lt;P&gt;product_sequency+1;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 May 2013 08:04:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Please-Help-How-to-order-products-in-a-dataset-Thanks/m-p/79886#M17222</guid>
      <dc:creator>Keith</dc:creator>
      <dc:date>2013-05-21T08:04:07Z</dc:date>
    </item>
  </channel>
</rss>

