首页 > 解决方案 > 在 SAS 中使用 where 条件的百分比拆分

问题描述

一般来说,我是 SAS 和数据分析的新手。很抱歉,如果我的问题听起来太愚蠢了。我有一个包含三个变量的品牌药数据集。变量 1 包含药物名称,变量 2 包含该药物是 BRANDED、Generic 还是 Brand-Generic,变量 3 包含该药物的总销售额。我想要的是在总药品销售中分配品牌、通用和品牌通用药物的百分比。最终输出应该看起来像 Branded : 35% Generic : 25% Branded-Generic : 40%

非常感谢任何有关 sas 代码的帮助,谢谢。

标签: sas

解决方案


所以你想要一个 % 的销售分成!您可以尝试使用 SQL ( proc sql) 来获得您想要的答案。

proc sql;
create table want as 
select drug_type, sum(total_sale) as tot_sale
from have
group by drug_type;

create table want as 
select *, tot_sale/sum(tot_sale) as percent_sale format=percent10.2
from want;
quit;

我创建了一个表格“想要”,其中包含每种药物类型的总销售额。使用该表,我创建了一个包含计算出的销售百分比的列,并将其格式化为百分比(以便于查看)。

当然,还有其他方法可以做到这一点,比如使用proc summaryorproc freq甚至是data step. 但作为一个初学者,我想从 SQL 开始会是一个不错的决定。


推荐阅读