proc sql;
create table zh.CKlhz1 as
SELECT DEST_CODE,mat_act_wt,MAT_TUBE,prod_cname FROM ymtr.TYMTR22
where "&dayfrom"<=STOCK_DATE<="&dayto" and DEST_CODE IN ('T031','T041','T042')
order prod_cname;
run;
proc sort data=zh.CKlhz1;
by prod_cname;
run;
proc tabulate data=zh.CKlhz1;
class prod_cname;
var DEST_CODE mat_act_wt MAT_TUBE;
table (DEST_CODE prod_cname 'all'='总计'),(mat_act_wt MAT_TUBE)*(sum);
label DEST_CODE='去向' prod_cname='品名' mat_act_wt='重量' MAT_TUBE='支数';
run;
运行后:
2234 proc tabulate data=zh.CKlhz1;
2235 class prod_cname;
2236 var DEST_CODE mat_act_wt MAT_TUBE;
ERROR: 列表中的变量 DEST_CODE 与该列表规定的类型不匹配。
2237 table (DEST_CODE prod_cname 'all'='总计'),(mat_act_wt MAT_TUBE)*(sum);
2238 label DEST_CODE='去向' prod_cname='品名' mat_act_wt='重量' MAT_TUBE='支数';
2239 run;
NOTE: SAS 系统由于错误而停止了该步的处理。
NOTE: “PROCEDURE TABULATE”所用时间(总处理时间):
实际时间 0.00 秒
CPU 时间 0.00 秒
VAR 列表中 DEST_CODE是字符型,mat_act_wt MAT_TUBE两个变量是数值型。
请教如何把DEST_CODE字符型转换成数值型?