【发布时间】:2020-12-02 17:54:45
【问题描述】:
我一直在努力解决这个问题,希望有人能够提供帮助......
我有一张表格,其中包含多年来产品的销售情况。有一种方法可以让我得到客户每年的总收入,忽略已售出的产品:
totalRevenueMeasure =
CALCULATE (
SUM ( test[Revenue] ),
ALLEXCEPT ( test, test[company], test[year] )
)
Year company Product revenue totalRevenueMeasure rankx (revenue in year)
2018 company a shoes 100 300 1
2018 company a mugs 200 300 1
2018 Company b shoes 250 250 2
2019 company a lamps 300 300 2
2019 Company b shoes 350 450 1
2019 Company b mugs 100 450 1
2019 Company c mugs 100 100 3
2020 company a shoes 150 150 2
2020 Company c lamps 200 200 1
我得到的最接近 RANKX 度量的值如下,但这并没有给出正确的结果。预期输出在上表的 RANKX 列中。
Customer Rank =
RANKX(
ALLSELECTED( test[company],test[year]),
[TotalRevenueMeasure],
,
DESC,
Dense
)
在此先感谢您的指点,DAX 仍然让我有些困惑,可能有更好的方法来解决它。
根据 Alexis 的建议,测试数据成功但实时跳过了排名中的一些行 - 2019 年没有排名第一,但有 2 个排名第二。我想这一定是某种数据问题...
【问题讨论】:
-
如果您使用的数据类型是十进制,请尝试将结果转换为 RANKX 中的货币。 sqlbi.com/blog/marco/2014/07/16/…
-
这工作得很好。我会一直在寻找时间。谢谢你!
-
几天前我确实为类似的问题寻找了几个小时。