<?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 Help Regarding Coding in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Help-Regarding-Coding/m-p/55080#M15312</link>
    <description>Hi, &lt;BR /&gt;
        I have a query related to SAS enterprise guide ,i need a sql &lt;BR /&gt;
code to find out average as mentioned in below table. there are 2 &lt;BR /&gt;
variables Time Flag demand, so i need average of demand when &lt;BR /&gt;
timeflag &lt;BR /&gt;
=0-9 then when time flag = 10-18 then average of demand , when time &lt;BR /&gt;
flag = 19-22 then average of demand and  when time flag = 22-24 then &lt;BR /&gt;
average of demand as shown in table below.so i need a code using CASE &lt;BR /&gt;
in filter or code in Sql or data set.I need it urgently so please &lt;BR /&gt;
help &lt;BR /&gt;
&lt;BR /&gt;
Sample Data set &lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
TIme Flag  Demand  Average &lt;BR /&gt;
0              18.0       13.1 &lt;BR /&gt;
1              20.0 &lt;BR /&gt;
2             11.0 &lt;BR /&gt;
3             15.0 &lt;BR /&gt;
4             16.0 &lt;BR /&gt;
5             17.0 &lt;BR /&gt;
6             5.0 &lt;BR /&gt;
7             4.0 &lt;BR /&gt;
8             8.0 &lt;BR /&gt;
9             17.0       24.9 &lt;BR /&gt;
10           16.0 &lt;BR /&gt;
11          19.0 &lt;BR /&gt;
12          20.0 &lt;BR /&gt;
13          21.0 &lt;BR /&gt;
14          22.0 &lt;BR /&gt;
15         30.0 &lt;BR /&gt;
16         31.0 &lt;BR /&gt;
17         32.0 &lt;BR /&gt;
18         33.0      20.5 &lt;BR /&gt;
19          34.0 &lt;BR /&gt;
20         35.0 &lt;BR /&gt;
21         36.0 &lt;BR /&gt;
22         37.0       23.0 &lt;BR /&gt;
23         38.0 &lt;BR /&gt;
24        3 9.0 &lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Thanks &lt;BR /&gt;
Atul</description>
    <pubDate>Wed, 10 Feb 2010 15:34:17 GMT</pubDate>
    <dc:creator>deleted_user</dc:creator>
    <dc:date>2010-02-10T15:34:17Z</dc:date>
    <item>
      <title>Help Regarding Coding</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Help-Regarding-Coding/m-p/55080#M15312</link>
      <description>Hi, &lt;BR /&gt;
        I have a query related to SAS enterprise guide ,i need a sql &lt;BR /&gt;
code to find out average as mentioned in below table. there are 2 &lt;BR /&gt;
variables Time Flag demand, so i need average of demand when &lt;BR /&gt;
timeflag &lt;BR /&gt;
=0-9 then when time flag = 10-18 then average of demand , when time &lt;BR /&gt;
flag = 19-22 then average of demand and  when time flag = 22-24 then &lt;BR /&gt;
average of demand as shown in table below.so i need a code using CASE &lt;BR /&gt;
in filter or code in Sql or data set.I need it urgently so please &lt;BR /&gt;
help &lt;BR /&gt;
&lt;BR /&gt;
Sample Data set &lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
TIme Flag  Demand  Average &lt;BR /&gt;
0              18.0       13.1 &lt;BR /&gt;
1              20.0 &lt;BR /&gt;
2             11.0 &lt;BR /&gt;
3             15.0 &lt;BR /&gt;
4             16.0 &lt;BR /&gt;
5             17.0 &lt;BR /&gt;
6             5.0 &lt;BR /&gt;
7             4.0 &lt;BR /&gt;
8             8.0 &lt;BR /&gt;
9             17.0       24.9 &lt;BR /&gt;
10           16.0 &lt;BR /&gt;
11          19.0 &lt;BR /&gt;
12          20.0 &lt;BR /&gt;
13          21.0 &lt;BR /&gt;
14          22.0 &lt;BR /&gt;
15         30.0 &lt;BR /&gt;
16         31.0 &lt;BR /&gt;
17         32.0 &lt;BR /&gt;
18         33.0      20.5 &lt;BR /&gt;
19          34.0 &lt;BR /&gt;
20         35.0 &lt;BR /&gt;
21         36.0 &lt;BR /&gt;
22         37.0       23.0 &lt;BR /&gt;
23         38.0 &lt;BR /&gt;
24        3 9.0 &lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Thanks &lt;BR /&gt;
Atul</description>
      <pubDate>Wed, 10 Feb 2010 15:34:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Help-Regarding-Coding/m-p/55080#M15312</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2010-02-10T15:34:17Z</dc:date>
    </item>
    <item>
      <title>Re: Help Regarding Coding</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Help-Regarding-Coding/m-p/55081#M15313</link>
      <description>Hi:&lt;BR /&gt;
  You might consider posting this question in the SAS Enterprise Guide forum.&lt;BR /&gt;
 &lt;BR /&gt;
cynthia</description>
      <pubDate>Wed, 10 Feb 2010 17:13:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Help-Regarding-Coding/m-p/55081#M15313</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2010-02-10T17:13:49Z</dc:date>
    </item>
    <item>
      <title>Re: Help Regarding Coding</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Help-Regarding-Coding/m-p/55082#M15314</link>
      <description>&lt;B&gt;HI Atul,&lt;BR /&gt;
We can use the GROUPFORMAT option in the SET statement to subgroup the timeflag into ranges that are defined by us.&lt;/B&gt;&lt;BR /&gt;
&lt;BR /&gt;
please refer:&lt;BR /&gt;
&lt;A href="http://support.sas.com/documentation/cdl/en/lrdict/62618/HTML/default/a000202968.htm#a002611573" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/lrdict/62618/HTML/default/a000202968.htm#a002611573&lt;/A&gt;&lt;BR /&gt;
&lt;BR /&gt;
example 4 for an example on GROUPFORMAT.&lt;BR /&gt;
&lt;BR /&gt;
Here's the complete program:&lt;BR /&gt;
I used the same data ...&lt;BR /&gt;
&lt;BR /&gt;
/*Test Group Format option*/&lt;BR /&gt;
&lt;BR /&gt;
OPTIONS FORMDLIM='#';&lt;BR /&gt;
LIBNAME MYLIB 'C:\My SAS Files' ;&lt;BR /&gt;
DATA MYLIB.Average1;&lt;BR /&gt;
INPUT Timeflag 2. demand 4.1 ;&lt;BR /&gt;
Datalines ;&lt;BR /&gt;
0  18.0&lt;BR /&gt;
1  20.0&lt;BR /&gt;
2  11.0&lt;BR /&gt;
3  15.0&lt;BR /&gt;
4  16.0&lt;BR /&gt;
5  17.0&lt;BR /&gt;
6  5.0&lt;BR /&gt;
7  4.0&lt;BR /&gt;
8  8.0&lt;BR /&gt;
9  17.0&lt;BR /&gt;
10 16.0&lt;BR /&gt;
11 19.0&lt;BR /&gt;
12 20.0&lt;BR /&gt;
13 21.0&lt;BR /&gt;
14 22.0&lt;BR /&gt;
15 30.0&lt;BR /&gt;
16 31.0&lt;BR /&gt;
17 32.0&lt;BR /&gt;
18 33.0 &lt;BR /&gt;
19 34.0&lt;BR /&gt;
20 35.0&lt;BR /&gt;
21 36.0&lt;BR /&gt;
22 37.0&lt;BR /&gt;
23 38.0&lt;BR /&gt;
24 39.0&lt;BR /&gt;
;&lt;BR /&gt;
&lt;BR /&gt;
/*Define the range of timeflag using a custom format*/&lt;BR /&gt;
&lt;BR /&gt;
Proc format LIB = MYLIB;&lt;BR /&gt;
value range &lt;BR /&gt;
0-9 = '0-9'&lt;BR /&gt;
10-18 ='10-18'&lt;BR /&gt;
19-22 ='19-22'&lt;BR /&gt;
23-24 ='23-24'&lt;BR /&gt;
;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
/*Don't need to sort our data since our timeflag is already in order but just to generalize things i did a sort on timeflag */&lt;BR /&gt;
&lt;BR /&gt;
proc sort Data = MYLIB.average1 out=sorted_average1;&lt;BR /&gt;
by timeflag;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
Options FMTSEARCH = (MYLIB); &lt;BR /&gt;
/*This option gives the path where SAS searches for custom formats*/&lt;BR /&gt;
&lt;BR /&gt;
data temp;&lt;BR /&gt;
Format timeflag range.;  /*Assign our custom format range to timeflag variable*/&lt;BR /&gt;
set sorted_average1;&lt;BR /&gt;
by timeflag &lt;B&gt;GROUPFORMAT&lt;/B&gt;; &lt;BR /&gt;
&lt;BR /&gt;
/*Now the logic to calculate the sum and then the averages of each timeflag range*/&lt;BR /&gt;
&lt;BR /&gt;
If FIRST.timeflag then do;&lt;BR /&gt;
sum_demand=0; &lt;BR /&gt;
count=0;&lt;BR /&gt;
end;&lt;BR /&gt;
sum_demand+demand;&lt;BR /&gt;
count+1;&lt;BR /&gt;
IF LAST.timeflag then do;&lt;BR /&gt;
average_demand = sum_demand/(count);&lt;BR /&gt;
end;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
proc print data =temp;&lt;BR /&gt;
run;</description>
      <pubDate>Thu, 11 Feb 2010 01:32:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Help-Regarding-Coding/m-p/55082#M15314</guid>
      <dc:creator>SAPPER</dc:creator>
      <dc:date>2010-02-11T01:32:45Z</dc:date>
    </item>
    <item>
      <title>Re: Help Regarding Coding</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Help-Regarding-Coding/m-p/55083#M15315</link>
      <description>&lt;B&gt;Atul Here's the output ....Average of Demand for every range of timeflag....&lt;/B&gt;&lt;BR /&gt;
&lt;BR /&gt;
########################################################################&lt;BR /&gt;
&lt;BR /&gt;
                             The SAS System                           15&lt;BR /&gt;
                                      20:09 Wednesday, February 10, 2010&lt;BR /&gt;
&lt;BR /&gt;
                                                 &lt;BR /&gt;
        Obs    timeflag    demand    sum_demand    count     average_demand&lt;BR /&gt;
&lt;BR /&gt;
          1     0-9          18         18        1        .&lt;BR /&gt;
          2     0-9          20         38        2        .&lt;BR /&gt;
          3     0-9          11         49        3        .&lt;BR /&gt;
          4     0-9          15         64        4        .&lt;BR /&gt;
          5     0-9          16         80        5        .&lt;BR /&gt;
          6     0-9          17         97        6        .&lt;BR /&gt;
          7     0-9           5        102        7        .&lt;BR /&gt;
          8     0-9           4        106        8        .&lt;BR /&gt;
          9     0-9           8        114        9        .&lt;BR /&gt;
         10     0-9          17        131       10      13.1000&lt;BR /&gt;
         11     10-18        16         16        1        .&lt;BR /&gt;
         12     10-18        19         35        2        .&lt;BR /&gt;
         13     10-18        20         55        3        .&lt;BR /&gt;
         14     10-18        21         76        4        .&lt;BR /&gt;
         15     10-18        22         98        5        .&lt;BR /&gt;
         16     10-18        30        128        6        .&lt;BR /&gt;
         17     10-18        31        159        7        .&lt;BR /&gt;
         18     10-18        32        191        8        .&lt;BR /&gt;
         19     10-18        33        224        9      24.8889&lt;BR /&gt;
         20     19-22        34         34        1        .&lt;BR /&gt;
         21     19-22        35         69        2        .&lt;BR /&gt;
         22     19-22        36        105        3        .&lt;BR /&gt;
         23     19-22        37        142        4      35.5000&lt;BR /&gt;
         24     23-24        38         38        1        .&lt;BR /&gt;
&lt;BR /&gt;
########################################################################&lt;BR /&gt;
&lt;BR /&gt;
                             The SAS System                           16&lt;BR /&gt;
                                      20:09 Wednesday, February 10, 2010&lt;BR /&gt;
&lt;BR /&gt;
                                      sum_              average_&lt;BR /&gt;
        Obs    timeflag    demand    demand    count     demand&lt;BR /&gt;
&lt;BR /&gt;
         25     23-24        39         77        2      38.5000

Message was edited by: SAPPER</description>
      <pubDate>Thu, 11 Feb 2010 01:34:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Help-Regarding-Coding/m-p/55083#M15315</guid>
      <dc:creator>SAPPER</dc:creator>
      <dc:date>2010-02-11T01:34:20Z</dc:date>
    </item>
    <item>
      <title>Re: Help Regarding Coding</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Help-Regarding-Coding/m-p/55084#M15316</link>
      <description>I tried my best to keep the program simple.&lt;BR /&gt;
Hope you understood it....&lt;BR /&gt;
&lt;BR /&gt;
THanks&lt;BR /&gt;
SAPPER.</description>
      <pubDate>Thu, 11 Feb 2010 01:38:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Help-Regarding-Coding/m-p/55084#M15316</guid>
      <dc:creator>SAPPER</dc:creator>
      <dc:date>2010-02-11T01:38:41Z</dc:date>
    </item>
    <item>
      <title>Re: Help Regarding Coding</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Help-Regarding-Coding/m-p/55085#M15317</link>
      <description>Thanks a lot sapper hope it will work...</description>
      <pubDate>Thu, 11 Feb 2010 06:10:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Help-Regarding-Coding/m-p/55085#M15317</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2010-02-11T06:10:14Z</dc:date>
    </item>
    <item>
      <title>Re: Help Regarding Coding</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Help-Regarding-Coding/m-p/55086#M15318</link>
      <description>If in case you need further simple way of doing this task using sql please see the code below:&lt;BR /&gt;
&lt;BR /&gt;
Proc format ;&lt;BR /&gt;
value range &lt;BR /&gt;
0-9 = '0-9'&lt;BR /&gt;
10-18 ='10-18'&lt;BR /&gt;
19-22 ='19-22'&lt;BR /&gt;
23-24 ='23-24'&lt;BR /&gt;
;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data check;&lt;BR /&gt;
input Timeflag 2. demand 4.1 ;&lt;BR /&gt;
new_var=put(Timeflag,range.);&lt;BR /&gt;
cards ;&lt;BR /&gt;
******* give your data input here ********;&lt;BR /&gt;
******* copy the datalines in the same post here ********;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
proc sql;&lt;BR /&gt;
select new_var, avg(demand) as demand_avg&lt;BR /&gt;
from check&lt;BR /&gt;
group by new_var;&lt;BR /&gt;
quit;&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
You can mention the required variables in the select statement</description>
      <pubDate>Thu, 11 Feb 2010 09:41:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Help-Regarding-Coding/m-p/55086#M15318</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2010-02-11T09:41:39Z</dc:date>
    </item>
  </channel>
</rss>

