|
|
Re: PROC TABULATE
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)
|
|
|
|
|
|
|
|
|