SAS Proc SQL计数问题

SAS Proc SQL计数问题,sas,proc-sql,Sas,Proc Sql,我有一列数据,该列名为Daily_Miledge。我每天有15种不同的里程数和250排。我想对每天15英里的每一英里进行单独计数。我在SAS中使用PROC SQL,它不喜欢交叉连接命令。我不确定我应该做什么,但这是我开始做的: PROC SQL; select A, B From (select count(Daily_Mileage) as A from Work.full where Daily_Mileage = 'Farm Utility Vehicle (Class 7)') a cr

我有一列数据,该列名为Daily_Miledge。我每天有15种不同的里程数和250排。我想对每天15英里的每一英里进行单独计数。我在SAS中使用PROC SQL,它不喜欢交叉连接命令。我不确定我应该做什么,但这是我开始做的:

PROC SQL; select A, B From (select count(Daily_Mileage) as A from Work.full where Daily_Mileage = 'Farm Utility Vehicle (Class 7)') a cross join (select count(Daily_Mileage) as B from Work.full where Daily_Mileage = 'Farm Truck Light (Class 35)') b); QUIT;
您可以先创建另一列,然后对该列进行求和,并按每日里程分组。如果我误解了你的问题,请告诉我

PROC SQL;
   CREATE TABLE tab1 AS
   SELECT Daily_Mileage, 1 AS Count, SUM(Count) AS Sum
   FROM <Whatever table your data is in>
       GROUP BY Daily_Mileage;
QUIT;

您可以先创建另一列,然后对该列进行求和,并按每日里程分组。如果我误解了你的问题,请告诉我

PROC SQL;
   CREATE TABLE tab1 AS
   SELECT Daily_Mileage, 1 AS Count, SUM(Count) AS Sum
   FROM <Whatever table your data is in>
       GROUP BY Daily_Mileage;
QUIT;

使用用例语句定义计数,如下所示

proc sql;
  create table submit as
  select sum(case when Daily_Mileage = 'Farm Utility Vehicle (Class 7)'
                  then 1 else 0 end) as A,
         sum(case when Daily_Mileage = 'Farm Truck Light (Class 35)'
                  then 1 else 0 end) as B
  from Work.full
  ;
quit ;

使用用例语句定义计数,如下所示

proc sql;
  create table submit as
  select sum(case when Daily_Mileage = 'Farm Utility Vehicle (Class 7)'
                  then 1 else 0 end) as A,
         sum(case when Daily_Mileage = 'Farm Truck Light (Class 35)'
                  then 1 else 0 end) as B
  from Work.full
  ;
quit ;

你就不能用proc-freq吗

data example ;
  input @1 Daily_Mileages $5. ;
datalines ;
TYPE1
TYPE1
TYPE2
TYPE3
TYPE3
TYPE3
TYPE3
;
run ;

proc freq data = example ;
  table Daily_Mileages ;
run ;

/* Create an output dataset */    
proc freq data = example ;
  table Daily_Mileages /out=f_example ;
run ;

你就不能用proc-freq吗

data example ;
  input @1 Daily_Mileages $5. ;
datalines ;
TYPE1
TYPE1
TYPE2
TYPE3
TYPE3
TYPE3
TYPE3
;
run ;

proc freq data = example ;
  table Daily_Mileages ;
run ;

/* Create an output dataset */    
proc freq data = example ;
  table Daily_Mileages /out=f_example ;
run ;