Hi
i am new base SAS programming, i want to calculate countrywise monthly sale with base sas or proc sql method.
data as below
this is retail.CSV file.
Country Product_id unitPrice Quantity Date
AU 2507 3.32 6 01/12/2017
AU 2510 4.11 7 01/12/2017
AU 2507 3.32 3 05/12/2017
US 2411 5.22 4 04/11/2017
US 2466 3.11 6 06/10/2017
Ge 2658 4.58 7 07/09/2017
Ge 6655 6.32 2 07/09/2017
US 8425 1.23 9 05/08/2017
AU 3512 3.22 10 06/06/2017
See this:
data have;
input Country $ Product_id $ unitPrice Quantity Date :mmddyy10.;
format date mmddyy10.;
cards;
AU 2507 3.32 6 01/12/2017
AU 2510 4.11 7 01/12/2017
AU 2507 3.32 3 05/12/2017
US 2411 5.22 4 04/11/2017
US 2466 3.11 6 06/10/2017
Ge 2658 4.58 7 07/09/2017
Ge 6655 6.32 2 07/09/2017
US 8425 1.23 9 05/08/2017
AU 3512 3.22 10 06/06/2017
;
run;
proc sql;
create table want as
select
country,
year(date) as year,
month(date) as month,
sum(quantity*unitprice) as sale
from have
group by country, calculated year, calculated month;
quit;
See this:
data have;
input Country $ Product_id $ unitPrice Quantity Date :mmddyy10.;
format date mmddyy10.;
cards;
AU 2507 3.32 6 01/12/2017
AU 2510 4.11 7 01/12/2017
AU 2507 3.32 3 05/12/2017
US 2411 5.22 4 04/11/2017
US 2466 3.11 6 06/10/2017
Ge 2658 4.58 7 07/09/2017
Ge 6655 6.32 2 07/09/2017
US 8425 1.23 9 05/08/2017
AU 3512 3.22 10 06/06/2017
;
run;
proc sql;
create table want as
select
country,
year(date) as year,
month(date) as month,
sum(quantity*unitprice) as sale
from have
group by country, calculated year, calculated month;
quit;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.