我有一张称为佣金摘要的表,用于销售代表 该表为每个月的每个销售代表生成一个摘要行。我只想按每个月对销售代表进行排名,但是我的公式只返回1。
表格可以简化为此
Sales reps Target Attainment
John, deer 53%
Jane, Joe 160%
Adam, Smith 30%
我的目标是像这样显示我的桌子
Sales reps Target Attainment Rank
John, deer 53% 2
Jane, Joe 160% 1
Adam, Smith 30% 3
这是我正在使用的Rankx公式
Ranks =
RANKX (
ALL ( 'Commission Summary' ),
CALCULATE (
SUM ( 'Commission Summary'[Target Attainment] ),
'Commission Summary'[Date] = 10 / 01 / 2019
),
,
DESC
)
如前所述,我只是将日期过滤为十月。
请帮助:(
答案 0 :(得分:0)
问题出现在计算的过滤器'Commission Summary'[Date] = 10 / 01 / 2019
中。引擎首先将每个数字除以10/01 = 10和10/2019 = 0.00495,该日期在您的数据中不存在,对于所有值返回空白,因此所有出现次数的排名都为1(因为所有相同的空白值)。
为避免此问题,请使用'Commission Summary'[Date] = DATE(2019,10,1)
作为过滤器上下文。这将返回正确排序的排名,但您将对所有销售代表进行排名,包括该日期没有活动的销售代表(它们将位于排名的底部)
如果您想更进一步,我建议使用以下步骤:
首先创建一个度量:
Comission Summary Filtered = CALCULATE (
SUM ( 'Commission Summary'[Target Attainment] ),
'Commission Summary'[Date] = DATE(2019,10,1)
然后使用以下代码按该度量进行过滤:
Rank =
IF (
[Comision Summary Filtered] > 0,
RANKX ( ALL ( 'Commission Summary' ), [Comision Summary Filtered],, DESC, DENSE )
)
这样您将获得一个更干净的结果。 :)