【问题标题】:How to fix Cumulative Measures not working as expected如何修复累积措施未按预期工作
【发布时间】:2019-06-04 22:00:23
【问题描述】:

我试图在图表上显示两个累积度量,但只有一个显示正确。另一个没有正确计算它的值。

一个衡量标准是计算累积的预期提交次数。

另一个是实际提交的总数。

在这两个累积措施中,我都安全地使用了“USERELATIONSHIP”功能。

我创建了一个涵盖必要日期范围的独立日期表。 我在日期表和包含预期和实际提交的表之间创建了两个关系。 主要关系是日期表和预期提交之间的关系。 第二个关系是日期和实际提交之间的关系。

数据:

预计周末提交(网站)实际提交周末

24/05/2019 24/05/2019

2019 年 7 月 6 日
15/03/2019 15/03/2019

2019 年 7 月 6 日
21/06/2019
14/06/2019
19/04/2019 19/04/2019

2019 年 7 月 6 日
14/06/2019
14/06/2019
2019 年 7 月 6 日
28/06/2019
2019 年 7 月 6 日
2019 年 5 月 24 日 2019 年 5 月 24 日

21/06/2019
14/06/2019
2019 年 7 月 6 日
28/06/2019
28/06/2019
21/06/2019
2019 年 5 月 24 日 2019 年 5 月 24 日

21/06/2019
2019 年 7 月 6 日
19/04/2019 07/06/2019

17/05/2019 17/05/2019

15/03/2019 15/03/2019

Cumulative Actual O&M Submission = 
CALCULATE (
        COUNTA(  'O&M - Tracker'[Actual Submission End of Week]),

        FILTER (
            ALL('O&M - Tracker'),
            'O&M - Tracker'[Actual Submission End of Week] <= MAX(  'O&M - Tracker'[Actual Submission End of Week])
        ),
        USERELATIONSHIP(OMDATES2[Date],'O&M - Tracker'[Actual Submission End of Week])

)


Cumulative Expected O&M Submission =
CALCULATE (
        COUNTA(  'O&M - Tracker'[Expected Submission (Site)]),

        FILTER (
            ALL('O&M - Tracker'),
            'O&M - Tracker'[Expected Submission End of Week (Site)] <= MAX ( 'O&M - Tracker'[Expected Submission End of Week (Site)])
        ),
        USERELATIONSHIP(OMDATES2[Date],'O&M - Tracker'[Expected Submission End of Week (Site)])
    )

我遇到的问题是实际提交的累积测量值没有正确绘制,这似乎是由于日期与实际提交的关系不是主要关系。 (当我切换关系层次结构时,另一个累积度量出错了)。

当前结果:

累计实际(不正确)= 2 (15/03/2019)、7 (19/04/2019)、4 (17/05/2019)、7 (24/05/2019)

累计预期 = 2、4、5、8、15、19、23、26

期望的结果:

累计实际 = 2 (15/03/2019)、3 (19/04/2019)、4 (17/05/2019)、7 (24/05/2019)、8 (07/06/2019)

累计预期 = 2、4、5、8、15、19、23、26

如果有人可以帮助解释我哪里出错了,将不胜感激。

保罗

【问题讨论】:

  • 你在图表轴上放了什么?
  • @RADO 图表轴包含我的日期表 OMDATES2 中的日期字段。此表是从最小预期提交日期或最小实际提交日期的最小日期派生的单列日期。到最大预期提交日期或最大实际提交日期中的最大日期。
  • 好的,知道了。我了解问题所在,并会在几分钟内给您答复。
  • @RADO Brilliant,非常感谢您如此迅速地回复和解释。通过引用 O&M 表中的日期生成我以前的日期表,您是说尽管生成的日期表看起来独立,但这仍然形成关系?有什么方法可以动态设置我的新日期表的范围,使其最小值和最大值不超过 O&M 表的最小值/最大值,类似于我以前的?
  • 您的表之间的关系由您设置;表格的生成方式无关紧要。关于最小值/最大值 - 我建议您为此使用 Power Query。例如:medium.com/@Konstantinos_Ioannou/…

标签: powerbi dax


【解决方案1】:

这里的关键问题是您使用了错误的日期 - 它们需要来自 Date 表,而不是“O&M - Tracker”表。否则,您不能使用“USERELATIONSHIP”——因为您根本没有使用“日期”表。

我会按如下方式解决问题(这里我会使用简化的名称,根据需要更改它们):

Cumulative Expected Submissions =
VAR 
   Current_Date = MAX ( 'Date'[Date] )
RETURN
   CALCULATE ( COUNTA ( Submissions[Expected] ), 'Date'[Date] <= Current_Date )

其中“日期”是您的日期表的名称。这里不需要“USERELATIONSHIP”。

同样:

Cumulative Actual Submissions =
VAR 
   Current_Date = MAX ( 'Date'[Date] )
RETURN
    CALCULATE (
        COUNTA ( Submissions[Actual] ),
        'Date'[Date] <= Current_Date,
        USERELATIONSHIP ( 'Date'[Date], Submissions[Actual] )
    )

它是如何工作的: 与您的公式相同,但不是在“O&M - Tracker”表中累积,而是在您的日期表中累积。这允许我们使用不同的关系。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 2015-12-12
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多