【发布时间】:2013-12-12 18:51:04
【问题描述】:
我有一个导入的 excel 文件,DATASET 看起来像:
Family Weight
1 150
1 210
1 99
2 230
2 100
2 172
我需要找到每个家庭的等级总和。
我知道我可以使用 PROC RANK 轻松做到这一点,但这是一个硬件问题,我可以使用的 only PROC 语句是 PROC Means。我什至不能使用 Proc Sort。
排名如下(最低权重获得排名 = 1,等等)
99 - 排名 = 1
100 - 排名 = 2
150 - 排名 = 3
172 - 排名 = 4
210 - 排名 = 5
230 - 排名 = 6
结果数据集:
Family Sum_Ranking
1 9
2 12
家庭 1 Sum_Ranking 由 (3+5+1) 计算得出
Family 2 Sum_Ranking 的计算公式为 (6+2+4)
感谢您的帮助。
【问题讨论】:
-
到目前为止,您尝试了什么?我认为你甚至不需要 PROC MEANS 来解决这个问题。除非您的硬件要求您至少使用一次 PROC MEANS,否则您可以单独在 DATA 步骤中执行此操作。
-
实际上,通过 PROC MEANS 执行此操作是一个非常有趣的问题。仅在没有 PROC SORT 的情况下使用数据步骤是相当困难的 - 您必须进行一些数组操作,这可能超出了像这样的可能较低级别的类的范围。