gpt4 book ai didi

powerbi - 在 Slicer 和 PARALLELPERIOD 中使用不同的列打破了我的衡量标准

转载 作者:行者123 更新时间:2023-12-05 05:15:47 26 4
gpt4 key购买 nike

我有一个表格,其中包含前 13 个月末以及最近一个工作日的数据。我的大部分报告一次只查看一个时间段,因此我在每个报告上都有一个切片器,以允许用户选择他们想要查看的时间段,通常是最近的工作日。每当刷新数据时,我都必须手动转到选择了最近工作日的每个切片器并选择新的最近工作日(不幸的是,我的组织尚未更新到允许同步切片器的版本)。随着我们转向生产和计划刷新,这会很麻烦,所以我添加了第二列,称为 REPORTING_DATE,它与原始 DATA_DATE 字段相同,只是最近的日期被替换为“最近”,因此任何选择了该日期的切片器都可以刷新后保持他们的选择。

这是我的数据的一个简化示例:

DATA_DATE   REPORTING_DATE  ACCOUNT_NO
7/10/2018 Most Recent 1001
7/10/2018 Most Recent 1002
7/10/2018 Most Recent 1003
7/10/2018 Most Recent 1004
7/10/2018 Most Recent 1005
7/10/2018 Most Recent 1006
7/10/2018 Most Recent 1007
6/30/2018 6/30/2018 1001
6/30/2018 6/30/2018 1002
6/30/2018 6/30/2018 1003
6/30/2018 6/30/2018 1004
6/30/2018 6/30/2018 1005
6/30/2018 6/30/2018 1006
5/31/2018 5/31/2018 1001
5/31/2018 5/31/2018 1002
5/31/2018 5/31/2018 1003
5/31/2018 5/31/2018 1004

我的问题是,当我将切片器更改为使用 DATA_DATE 而不是 REPORTING_DATE 时,它破坏了我用来计算每个周期计数变化的度量。

Change in Count (Month) = DISTINCTCOUNT(MyData[ACCOUNT_NO])-CALCULATE(DISTINCTCOUNT(MyData[ACOUNT_NO]),PARALLELPERIOD(MyData[DATA_DATE],-1,MONTH))

当我的切片器有 DATA_DATE = 7/10/2018 时,度量值正确返回 1(7 月 10 日的 7 减去 6 月 30 日的 6)。当我使用带有 REPORTING_DATE = Most Recent 的切片器时,我得到 7,因为 DISTINCTCOUNT(MyData[ACCOUNT_NO]) 返回 7,这是正确的,但是 CALCULATE(DISTINCTCOUNT( MyData[ACOUNT_NO]),PARALLELPERIOD(MyData[DATA_DATE],-1,MONTH)) 返回 (空白)。看起来 PARALLELPERIOD(MyData[DATA_DATE],-1,MONTH) 返回相同的值 6/30/2018 而不管使用的切片器如何,所以我被难住了问题。

最佳答案

这不起作用的原因是 CALCULATE 中的 PARALLELPERIOD 过滤器仅替换了 [DATA_DATE] 列的上下文过滤器但切片器过滤仍然有效,因为它在不同的列上。如果您在 [REPORTING_DATE] 切片器上选择 Most Recent,您的度量将尝试找到 [REPORTING_DATE] 的非重复计数最近的[DATA_DATE] 都在上个月。由于不存在这样的行,因此返回空白。

要解决此问题,您可以告诉度量忽略直接来自 [REPORTING_DATE] 切片器的过滤,并且仅在 [DATA_DATE] 列上使用过滤(从切片器间接获取过滤器)。

Change in Count (Month) =
DISTINCTCOUNT(MyData[ACCOUNT_NO]) -
CALCULATE(
DISTINCTCOUNT(MyData[ACOUNT_NO]),
ALL(MyData[REPORTING_DATE]),
PARALLELPERIOD(MyData[DATA_DATE], -1, MONTH))

这与 [DATA_DATE] 上的切片器一起工作的原因是 PARALLELPERIOD 过滤器替换该列的切片器过滤。当您在 [REPORTING_DATE] 上切片时,切片器过滤不会被替换,因为您没有在 CALCULATE 过滤器参数中引用该列。


如果这仍然没有意义,我建议阅读一些关于 CALCULATE 函数如何工作的读物。 The Definitive Guide to DAX 中有一整章专门介绍它,还有一些网站/博客也有一些不错的读物。

关于powerbi - 在 Slicer 和 PARALLELPERIOD 中使用不同的列打破了我的衡量标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51290665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com