Re: PROC TABULATE

  • Follow


Hi Mark,

It ain't easy, is it?
Confusing that DATA in the data and proc steps, just different!

Remove:
>Data Tabulate;
>set sales;

and change the PROC TABULATE statement to:
proc tabulate data=WEEK f=dollar8.;

Regards - Jim.
--
Jim Groeneveld, Netherlands
Statistician, SAS consultant
http://jim.groeneveld.eu.tf


On Thu, 4 Mar 2010 07:19:55 -0800, mark <mark.chase91@YAHOO.IN> wrote:

>Hello All ,
>
>I'm using PROC TABULATE. I have pasted some sample  data below as I
>have nearly 400+ observations.
>
>
>              Transaction                             Timeof
>Laptop      Units
>         Obs        ID             DateofSale       Sale
>Model      Sold    Warranty    Week
>
>         256     RX000476      23/11/2009    09:40:09    AP3965
>1          0            Week4
>         257     RX000475      23/11/2009    23:28:37    AP3965
>1          0            Week4
>         258     RX000474      23/11/2009    06:50:40    AP3965
>1          0            Week4
>         259     RX000473      23/11/2009    09:47:16    AP3965
>1          0            Week4
>         260     RX000472      23/11/2009    05:35:33    AP3965
>1          0            Week4
>         261     RX000471      23/11/2009    14:26:35    AT3600
>1           0            Week4
>         262     RX000470      23/11/2009    07:33:28    AT3600
>1           0            Week4
>
>
>Objective is - To find the # UnitsSold of each kind of LaptopModel -
>AP3965 & AT3600 for every week. The data is monthly so I've 4 weeks.
>
>The code I used :-
>
>
>data week;
>set sales;
>        IF DateofSale >= "01/11/2009" and DateofSale < "08/11/2009" THEN
>                Week = "Week1";
>        Else IF DateofSale >= "08/11/2009" and DateofSale < "15/11/2009" THEN
>                Week = "Week2";
>        Else IF DateofSale >= "15/11/2009" and DateofSale < "22/11/2009"
>THEN
>                Week = "Week3";
>        ELSE IF DateofSale >= "22/11/2009" and DateofSale < "29/11/2009"
>THEN
>                Week = "Week4";
>Proc Print data = week;
>Run;
>
>
>Data Tabulate;
>set sales;
>proc tabulate data=tables f=dollar8.;
>   class week Laptopmodel;
>   var  UnitsSold;
>   table week*Laptopmodel,
>         Unitssold*Mean=" ";
>run;
>proc print data = Tabulate;
>run;
>
>The log -
>
>
>522  proc tabulate data=tables f=dollar8.;
>ERROR: File WORK.TABLES.DATA does not exist.
>523     class week Laptopmodel;
>ERROR: No data set open to look up variables.
>ERROR: No data set open to look up variables.
>524     var  UnitsSold;
>ERROR: No data set open to look up variables.
>525     table week*Laptopmodel,
>526           Unitssold*Mean=" ";
>527  run;
>
>NOTE: The SAS System stopped processing this step because of errors.
>
>Kindly  suggest what chnage do I need in the  2nd code
>
>Kind  Regards ,
>Mark
0
Reply jim.1stat (180) 3/4/2010 4:39:59 PM

On Mar 4, 9:39=A0pm, jim.1s...@YAHOO.COM (Jim Groeneveld) wrote:
> Hi Mark,
>
> It ain't easy, is it?
> Confusing that DATA in the data and proc steps, just different!
>
> Remove:
>
> >Data Tabulate;
> >set sales;
>
> and change the PROC TABULATE statement to:
> proc tabulate data=3DWEEK f=3Ddollar8.;
>
> Regards - Jim.
> --
> Jim Groeneveld, Netherlands
> Statistician, SAS consultanthttp://jim.groeneveld.eu.tf
>
> On Thu, 4 Mar 2010 07:19:55 -0800, mark <mark.chas...@YAHOO.IN> wrote:
> >Hello All ,
>
> >I'm using PROC TABULATE. I have pasted some sample =A0data below as I
> >have nearly 400+ observations.
>
> > =A0 =A0 =A0 =A0 =A0 =A0 =A0Transaction =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 Timeof
> >Laptop =A0 =A0 =A0Units
> > =A0 =A0 =A0 =A0 Obs =A0 =A0 =A0 =A0ID =A0 =A0 =A0 =A0 =A0 =A0 DateofSal=
e =A0 =A0 =A0 Sale
> >Model =A0 =A0 =A0Sold =A0 =A0Warranty =A0 =A0Week
>
> > =A0 =A0 =A0 =A0 256 =A0 =A0 RX000476 =A0 =A0 =A023/11/2009 =A0 =A009:40=
:09 =A0 =A0AP3965
> >1 =A0 =A0 =A0 =A0 =A00 =A0 =A0 =A0 =A0 =A0 =A0Week4
> > =A0 =A0 =A0 =A0 257 =A0 =A0 RX000475 =A0 =A0 =A023/11/2009 =A0 =A023:28=
:37 =A0 =A0AP3965
> >1 =A0 =A0 =A0 =A0 =A00 =A0 =A0 =A0 =A0 =A0 =A0Week4
> > =A0 =A0 =A0 =A0 258 =A0 =A0 RX000474 =A0 =A0 =A023/11/2009 =A0 =A006:50=
:40 =A0 =A0AP3965
> >1 =A0 =A0 =A0 =A0 =A00 =A0 =A0 =A0 =A0 =A0 =A0Week4
> > =A0 =A0 =A0 =A0 259 =A0 =A0 RX000473 =A0 =A0 =A023/11/2009 =A0 =A009:47=
:16 =A0 =A0AP3965
> >1 =A0 =A0 =A0 =A0 =A00 =A0 =A0 =A0 =A0 =A0 =A0Week4
> > =A0 =A0 =A0 =A0 260 =A0 =A0 RX000472 =A0 =A0 =A023/11/2009 =A0 =A005:35=
:33 =A0 =A0AP3965
> >1 =A0 =A0 =A0 =A0 =A00 =A0 =A0 =A0 =A0 =A0 =A0Week4
> > =A0 =A0 =A0 =A0 261 =A0 =A0 RX000471 =A0 =A0 =A023/11/2009 =A0 =A014:26=
:35 =A0 =A0AT3600
> >1 =A0 =A0 =A0 =A0 =A0 0 =A0 =A0 =A0 =A0 =A0 =A0Week4
> > =A0 =A0 =A0 =A0 262 =A0 =A0 RX000470 =A0 =A0 =A023/11/2009 =A0 =A007:33=
:28 =A0 =A0AT3600
> >1 =A0 =A0 =A0 =A0 =A0 0 =A0 =A0 =A0 =A0 =A0 =A0Week4
>
> >Objective is - To find the # UnitsSold of each kind of LaptopModel -
> >AP3965 & AT3600 for every week. The data is monthly so I've 4 weeks.
>
> >The code I used :-
>
> >data week;
> >set sales;
> > =A0 =A0 =A0 =A0IF DateofSale >=3D "01/11/2009" and DateofSale < "08/11/=
2009" THEN
> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Week =3D "Week1";
> > =A0 =A0 =A0 =A0Else IF DateofSale >=3D "08/11/2009" and DateofSale < "1=
5/11/2009" THEN
> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Week =3D "Week2";
> > =A0 =A0 =A0 =A0Else IF DateofSale >=3D "15/11/2009" and DateofSale < "2=
2/11/2009"
> >THEN
> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Week =3D "Week3";
> > =A0 =A0 =A0 =A0ELSE IF DateofSale >=3D "22/11/2009" and DateofSale < "2=
9/11/2009"
> >THEN
> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Week =3D "Week4";
> >Proc Print data =3D week;
> >Run;
>
> >Data Tabulate;
> >set sales;
> >proc tabulate data=3Dtables f=3Ddollar8.;
> > =A0 class week Laptopmodel;
> > =A0 var =A0UnitsSold;
> > =A0 table week*Laptopmodel,
> > =A0 =A0 =A0 =A0 Unitssold*Mean=3D" ";
> >run;
> >proc print data =3D Tabulate;
> >run;
>
> >The log -
>
> >522 =A0proc tabulate data=3Dtables f=3Ddollar8.;
> >ERROR: File WORK.TABLES.DATA does not exist.
> >523 =A0 =A0 class week Laptopmodel;
> >ERROR: No data set open to look up variables.
> >ERROR: No data set open to look up variables.
> >524 =A0 =A0 var =A0UnitsSold;
> >ERROR: No data set open to look up variables.
> >525 =A0 =A0 table week*Laptopmodel,
> >526 =A0 =A0 =A0 =A0 =A0 Unitssold*Mean=3D" ";
> >527 =A0run;
>
> >NOTE: The SAS System stopped processing this step because of errors.
>
> >Kindly =A0suggest what chnage do I need in the =A02nd code
>
> >Kind =A0Regards ,
> >Mark

Hello ,

Is it possible to do Conditional Sum over two columns, say I wnat to
find no. of units sold over each of the 4 weeks.

regards ,
mark
0
Reply mark 3/4/2010 6:00:45 PM


1 Replies
240 Views

(page loaded in 0.091 seconds)

Similiar Articles:













7/28/2012 11:33:48 AM


Reply: