【发布时间】:2019-08-16 15:09:02
【问题描述】:
适用于所有 POWER BI 用户
我从下面给出的表“示例”中创建了一个表视觉名称作为原始数据(类似于结果表,除了 Ind 列)。我想使用 DAX 创建一个基于列总计的指标。
Company | Rev 2018 | Rev 2019 | Rev YoY(%) |
-----------------------------------------------------------
A | 440,980,812 | 321,015,626 | -27.20% |
B | 587,171,150 | 248,150,205 | -57.74% |
C | 693,692,632 | 255,633,145 | -63.15% |
D | 753,951,313 | 266,033,862 | -64.71% |
E | 387,652,076 | 393,439,270 | 1.49% |
Total | 2,863,447,983 | 1,484,272,108 | -48.16% |
下面给出了我当前的度量计算
Rev 2018 = CALCULATE(sum(Example[Rev]),Example[Year]=2018)
Rev 2019 = CALCULATE(sum(Example[Rev]),Example[Year]=2019)
Rev YoY(%) = ([Rev 2019]-[Rev 2018])/[Rev 2018]
我想创建一个指标 (Ind),如果公司的 Rev YoY(%)(公司 A 为-27.20%)大于等于 (>=) 整体/总 Rev YoY(%),则显示 1 (总数的-48.16%),否则它将显示0。它会根据切片器选择而变化(如果选择了Jan,更新的值应该根据Jan而变化,对于其他选择,例如Feb,Mar等类似)。
截至目前,该值基于 YTD 值。基于 1 月、2 月等月份,收入和同比值将更新,同时指标度量也应更新。
最终结果如下所示
Company | Rev 2018 | Rev 2019 | Rev YoY(%) | Ind
-----------------------------------------------------------
A | 440,980,812 | 321,015,626 | -27.20% | 1
B | 587,171,150 | 248,150,205 | -57.74% | 0
C | 693,692,632 | 255,633,145 | -63.15% | 0
D | 753,951,313 | 266,033,862 | -64.71% | 0
E | 387,652,076 | 393,439,270 | 1.49% | 1
Total | 2,863,447,983 | 1,484,272,108 | -48.16% | 1
如果您有解决方案,请提供帮助。
我尝试使用 filer(allcrossfiler),但它使字段保持不变,切片器不会改变
Rev_total% =
CALCULATE(
[Rev YoY(%)],
ALLCROSSFILTERED(Example)
)
基础原始数据
Company Year Month Rev
A 2018 Jan 3715518
A 2018 Feb 62195456
A 2018 Mar 47896563
A 2018 Apr 30397293
A 2018 May 13316124
A 2018 Jun 54702783
A 2018 Jul 23559246
A 2018 Aug 56357008
A 2018 Sep 91266366
A 2018 Oct 7826397
A 2018 Nov 30081453
A 2018 Dec 19666605
A 2019 Jan 20525691
A 2019 Feb 55636582
A 2019 Mar 70832178
A 2019 Apr 51101460
A 2019 May 71658353
A 2019 Jun 51261362
B 2018 Jan 70866878
B 2018 Feb 16605125
B 2018 Mar 77399457
B 2018 Apr 93675100
B 2018 May 24187836
B 2018 Jun 17141132
B 2018 Jul 23189326
B 2018 Aug 1228527
B 2018 Sep 77025448
B 2018 Oct 69069603
B 2018 Nov 61201073
B 2018 Dec 55581645
B 2019 Jan 49529171
B 2019 Feb 30268530
B 2019 Mar 58895051
B 2019 Apr 16378441
B 2019 May 63289350
B 2019 Jun 29789662
C 2018 Jan 28386565
C 2018 Feb 55081195
C 2018 Mar 98650639
C 2018 Apr 13600972
C 2018 May 79286377
C 2018 Jun 97910757
C 2018 Jul 59601906
C 2018 Aug 60499979
C 2018 Sep 10555754
C 2018 Oct 21239252
C 2018 Nov 79278588
C 2018 Dec 89600648
C 2019 Jan 27489712
C 2019 Feb 8085774
C 2019 Mar 33489287
C 2019 Apr 52598275
C 2019 May 50816690
C 2019 Jun 83153407
D 2018 Jan 69955023
D 2018 Feb 1684049
D 2018 Mar 44503967
D 2018 Apr 91505045
D 2018 May 74480545
D 2018 Jun 70038948
D 2018 Jul 28811752
D 2018 Aug 82052925
D 2018 Sep 97215945
D 2018 Oct 48093159
D 2018 Nov 96939697
D 2018 Dec 48670258
D 2019 Jan 68414609
D 2019 Feb 34593576
D 2019 Mar 28277668
D 2019 Apr 46146140
D 2019 May 83794133
D 2019 Jun 4807736
E 2018 Jan 21180873
E 2018 Feb 14552267
E 2018 Mar 27409537
E 2018 Apr 68894164
E 2018 May 24608038
E 2018 Jun 12774844
E 2018 Jul 13193433
E 2018 Aug 89921780
E 2018 Sep 34581806
E 2018 Oct 52068148
E 2018 Nov 11374013
E 2018 Dec 17093173
E 2019 Jan 21748970
E 2019 Feb 95983245
E 2019 Mar 49661560
E 2019 Apr 90056699
E 2019 May 72277971
E 2019 Jun 63710825
【问题讨论】:
-
您能完成您的问题吗?您的示例表丢失,您的结果格式非常糟糕,因此难以阅读。你说一个切片器应该做某事,但不清楚它应该做什么。
-
抱歉格式,示例表与结果表相同,但指标列除外。截至目前,该值基于 YTD 值。基于 1 月、2 月等月份,将更新收入和 YoY 值,同时指标度量也应更新。希望它更清楚。
-
您是说您正在使用度量,这表明您没有表格,只有视觉。我尝试了您的案例并在表格中添加了一列:Indicator = Revenue[ Rev YoY(%) ] > AVERAGE(Revenue[ Rev YoY(%) ])。这给了我相应的真/假
-
我正在使用您的方法在我的仪表板上尝试相同的方法,指标 = 收入 [ Rev YoY(%) ] > AVERAGE(Revenue[ Rev YoY(%) ])。平均值正在寻找列名称,而收入 [ Rev YoY(%) ] 是一个衡量标准。在您的情况下,平均值是否接受收入 [ Rev YoY(%) ] 作为论据?我的情况不是。
-
是的,这是合乎逻辑的,因为您正在使用度量,它没有对行的引用。我开始明白你在寻找。你能给我你的基础数据表和一些数据行,我可以更好地支持你。
标签: powerbi formula dax powerbi-desktop