我使用Proc制表创建了以下列表:

enter image description here

你会注意到我把PCTN列留空了,因为我运行的代码(下面)给了我错误的百分比

这是我的代码:

ods tagsets.excelxp file = 'G:\CPS\myworknew.xml'
style = analysis;
proc tabulate data = final;
Class Year P_Occupation Full_Part_Time_Status Self_Emp_Inc Self_Emp_Uninc Self_Emp Multi_Job;
table year, P_Occupation P_Occupation*Self_Emp_Inc*(N pctn<P_Occupation>);           
run;
ods tagsets.excelxp close;

我实际上希望如何计算百分比如下:例如,对于self_emp_inc类型A的架构和工程职业我希望:(16083/16595)* 100 . 换句话说,我希望P_Occupation总数(Cell B7 = 16595)作为分母 . 当Type = B(512/16595)* 100时相同 . 类型A的架构和工程的下一个Pctn值为(15479/15869)* 100,类型B(390/15869)* 100 . 然后我想要艺术,设计,娱乐......相同的东西,但分母将来自艺术,设计,娱乐专栏,而不是建筑师和工程:所以例如它的类型A将是:(14925 / 15896)* 100,对于B型,它将是(971/15896)* 100 .

我怎样才能完成这项任务?我一直为Pctn键入错误的值

以下是数据集的一部分:

enter image description here