<?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 SAS base query in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-base-query/m-p/328416#M73329</link>
    <description>&lt;P&gt;I have the below dataset. May I know how to create the following result from the test dataset? I tried to use proc transpose but I just could not get it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For prod ABC; Amt will be equally divided to 5 months, XYZ will be 4 months.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Result:&lt;/P&gt;&lt;P&gt;Case &amp;nbsp; &amp;nbsp; &amp;nbsp; Prod &amp;nbsp; Month1 &amp;nbsp;Month2 &amp;nbsp;Month3 &amp;nbsp;Month4 &amp;nbsp;Month5 &amp;nbsp;Total&lt;/P&gt;&lt;P&gt;ABC123 &amp;nbsp;ABC &amp;nbsp; &amp;nbsp;200 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp; &amp;nbsp; &amp;nbsp; 200 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1000 &amp;nbsp;&lt;/P&gt;&lt;P&gt;ABC124 &amp;nbsp;ABC &amp;nbsp; &amp;nbsp;400 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;400 &amp;nbsp; &amp;nbsp; &amp;nbsp; 400 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;400 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;400 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2000&lt;/P&gt;&lt;P&gt;XYZ123 &amp;nbsp; XYZ &amp;nbsp; &amp;nbsp; 200 &amp;nbsp; &amp;nbsp; &amp;nbsp; 200 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp; &amp;nbsp; &amp;nbsp; 200 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 800&lt;/P&gt;&lt;P&gt;XYZ124 &amp;nbsp; XYZ &amp;nbsp; &amp;nbsp; 50 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 50 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;50 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 50 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 200&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DATA TEST;&lt;BR /&gt;INPUT CASE $ PROD $ AMT;&lt;BR /&gt;DATALINES;&lt;BR /&gt;ABC123 ABC 1000&lt;BR /&gt;ABC124 ABC 2000&lt;BR /&gt;XYZ123 XYZ 800&lt;BR /&gt;XYZ124 XYZ 200&lt;BR /&gt;;&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 30 Jan 2017 14:13:57 GMT</pubDate>
    <dc:creator>scb</dc:creator>
    <dc:date>2017-01-30T14:13:57Z</dc:date>
    <item>
      <title>SAS base query</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-base-query/m-p/328416#M73329</link>
      <description>&lt;P&gt;I have the below dataset. May I know how to create the following result from the test dataset? I tried to use proc transpose but I just could not get it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For prod ABC; Amt will be equally divided to 5 months, XYZ will be 4 months.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Result:&lt;/P&gt;&lt;P&gt;Case &amp;nbsp; &amp;nbsp; &amp;nbsp; Prod &amp;nbsp; Month1 &amp;nbsp;Month2 &amp;nbsp;Month3 &amp;nbsp;Month4 &amp;nbsp;Month5 &amp;nbsp;Total&lt;/P&gt;&lt;P&gt;ABC123 &amp;nbsp;ABC &amp;nbsp; &amp;nbsp;200 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp; &amp;nbsp; &amp;nbsp; 200 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1000 &amp;nbsp;&lt;/P&gt;&lt;P&gt;ABC124 &amp;nbsp;ABC &amp;nbsp; &amp;nbsp;400 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;400 &amp;nbsp; &amp;nbsp; &amp;nbsp; 400 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;400 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;400 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2000&lt;/P&gt;&lt;P&gt;XYZ123 &amp;nbsp; XYZ &amp;nbsp; &amp;nbsp; 200 &amp;nbsp; &amp;nbsp; &amp;nbsp; 200 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200 &amp;nbsp; &amp;nbsp; &amp;nbsp; 200 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 800&lt;/P&gt;&lt;P&gt;XYZ124 &amp;nbsp; XYZ &amp;nbsp; &amp;nbsp; 50 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 50 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;50 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 50 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 200&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DATA TEST;&lt;BR /&gt;INPUT CASE $ PROD $ AMT;&lt;BR /&gt;DATALINES;&lt;BR /&gt;ABC123 ABC 1000&lt;BR /&gt;ABC124 ABC 2000&lt;BR /&gt;XYZ123 XYZ 800&lt;BR /&gt;XYZ124 XYZ 200&lt;BR /&gt;;&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 14:13:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-base-query/m-p/328416#M73329</guid>
      <dc:creator>scb</dc:creator>
      <dc:date>2017-01-30T14:13:57Z</dc:date>
    </item>
    <item>
      <title>Re: SAS base query</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-base-query/m-p/328431#M73332</link>
      <description>&lt;P&gt;First you need to modify your base dataset to include a variable for month, there is no way of knowing from the test data you post that, month1 has 200. &amp;nbsp;What if month 1 has 1000 and the rest 0?&lt;/P&gt;
&lt;P&gt;As for the actual code:&lt;/P&gt;
&lt;PRE&gt;data want;
  set have;
  array month{5} 8;
  do i=1 to 5;
    month{i}=total / 5);
  end;
run;&lt;/PRE&gt;
&lt;P&gt;Or whatever your logic is to work out what each month is just replace the =total/5;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 14:27:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-base-query/m-p/328431#M73332</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-01-30T14:27:22Z</dc:date>
    </item>
    <item>
      <title>Re: SAS base query</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-base-query/m-p/328451#M73335</link>
      <description>&lt;P&gt;your code to create test data:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA TEST;
INPUT CASE $ PROD $ AMT;
DATALINES;
ABC123 ABC 1000
ABC124 ABC 2000
XYZ123 XYZ 800
XYZ124 XYZ 200
;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;code you want:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; set test(rename = (amt = total));&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;array mx month1-month5;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if prod = 'ABC' then monthly = total/5; else&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if prod = 'XYZ' then monthly = total/4;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do i=1 to 5;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if i &amp;lt; 5 then &amp;nbsp;mx(i) = monthly; else&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if prod = 'ABC' then mx(5) = monthly; else&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if prod = 'XYZ' then mx(5) = 0;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; drop i monthly;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 15:06:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-base-query/m-p/328451#M73335</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-01-30T15:06:11Z</dc:date>
    </item>
  </channel>
</rss>

