如何让两个COMPUTE语句的结果显示在同一列不同行?
解决SPSS中两个COMPUTE结果仅显示一个的问题
你遇到的问题是因为连续针对同一个分组变量(memberID)使用COMPUTE命令时,第二个命令会直接覆盖第一个的输出配置,所以最终只显示最后一个计算结果。要实现同一列、不同行显示两个统计结果,有两种可行的写法:
方案一:用SUMMARY子命令直接输出汇总统计
这是最直接的方式,通过REPORT的/SUMMARY子命令分别定义两个统计项,每个项会单独占一行输出,数值自动对齐到同一列:
REPORT FORMATS subtotal (DOLLAR8.2) /VARIABLES=subtotal /BREAK=memberID /SUMMARY=COUNT(subtotal) LABEL 'Total Item :' /SUMMARY=SUM(subtotal) LABEL 'Total (Yen): '
方案二:结合COMPUTE和LINE子命令自定义输出行
如果一定要保留COMPUTE的计算逻辑,可以先计算出两个统计变量,再用/LINE子命令指定每行的标签和对应变量,实现预期的输出格式:
REPORT FORMATS subtotal (DOLLAR8.2) Total_Item (F2.) /VARIABLES=subtotal /BREAK=memberID /COMPUTE Total_Item=COUNT(subtotal) ON memberID /LINE=LABEL('Total Item :') Total_Item /COMPUTE Total_Yen=SUM(subtotal) ON memberID /LINE=LABEL('Total (Yen): ') Total_Yen
执行任意一种写法后,就能得到你想要的输出效果:
Total Item : 2
Total (Yen): $1137.50
内容的提问来源于stack exchange,提问作者CHONG YAO LIANG
相关产品推荐
相关产品推荐

