【问题标题】:PowerBi: Measure over IDPowerBi:基于 ID 的测量
【发布时间】:2018-08-10 16:37:27
【问题描述】:

我有一张表:
ID、delta & Date

我添加了一个计算列:

SD = CALCULATE(STDEV.P(Query1[delta]),FILTER(Query1,Query1[sys_id] = EARLIER(Query1[sys_id])))

为每个 id 计算 delta... 的标准差。

我现在想要做的是,当我在日期列上有一个过滤器(切片器)时,它在计算 SD 时不会考虑这些行

所以我想要一个 Measure 而不是一个计算列,但是之前的函数不起作用。

我是一个完整的初学者,并且在谷歌上搜索了很多,但似乎无法弄清楚它是如何工作的。 如何在度量中过滤以仅在计算时采用具有相同 ID 的行?

非常感谢您提供正确方向的任何指示。


编辑: 我认为我过于简单化了。 目前,我有以下图表:

这仅显示该 ID 在当天发生“相对”显着变化(增量为“异常”)的值。 我通过过滤 Significance > 1

的图表来实现这一点
Significance = ABS(AVERAGE(Query1[delta])) / (AVERAGE(SignificanceLevel[SignificanceLevel]) * AVERAGE(Query1[SD]))

现在我的 SD 只是按上述方式计算,但我希望这考虑到我正在查看的时间段(数据切片器)。 因为例如在更远的过去,情况更糟,现在重大的变化还没有发生。

但我仍然会在图表中分别查看每一天的值(并且总是必须这样做),因此对于这一天的 SD 来说,一个简单的度量总是会返回 0,因为它只查看特定的一天(= 仅 1 行) 而不是我在数据切片器中指定的所有日期。

【问题讨论】:

  • 那么该图表是否按预期工作,您只是希望能够调整日期范围?如果没有,你希望它如何工作?图表上的颜色代表什么?你能创建一个minimal example来帮助解释吗?
  • 是的,它按预期工作,每种颜色都有不同的 id。
  • 是的,它按预期工作,每种颜色都是不同的 id。因此,我可以使用 daye 切片器调整每个 id 的“显着”更改表示中的日期范围..但这不会影响我的“显着”参数,因为它当前需要整个期间(计算列)以及当我尝试时为了使它成为一个度量,它将始终返回 0,因为它仅针对该特定日期进行评估.. 而我希望它在整个范围内进行评估(如在切片器中)(我担心我想要做的事情是不可能的,而且我需要查看移动标准差之类的东西吗?..刚刚发明)
  • 所以您希望SD 固定,但Significance 滚动?
  • SD,因此也是意义滚动。这仅在日期切片器中指定的时间段内进行评估......对于图表中的单个日期,这仍应在整个时间段内显示。 (因为一个日期 = 1 行没有任何意义来寻找意义)

标签: powerbi dax


【解决方案1】:

EARLIER 函数通常不是您想要的度量值。如果您有一个分解ID 值的视觉对象,则度量应自动使用该过滤器上下文,您无需在计算中放置过滤器。

尝试在行或列上具有ID 的矩阵视觉对象中使用以下内容:

SD = STDEV.P(Query1[delta])

它应该与 Date 切片器很好地交互。


如果我正确理解了您的评论,那么我相信您需要更多类似以下内容的内容:

SD = CALCULATE(STDEV.P(Query1[delta]), ALLSELECTED(Query1[Date]))

这应该为您提供日期切片器中所有选定日期的标准偏差。

【讨论】:

  • 这样我在与日期切片器交互时获得了我想要的值。但是我希望在每条日期线上都可以使用这个值。现在它显然返回 0,因为只有 1 个日期。我的最终目标是将每个日期/id 的增量与 SD 进行比较 > 并过滤我的视觉效果以仅显示重要的线条(条形)
  • 嗨,已经感谢您的帮助,但它并没有达到我想要的效果。我在我的问题中详细阐述了一点,希望这能让我更清楚我试图完成的事情
猜你喜欢
  • 2020-02-10
  • 2020-08-20
  • 1970-01-01
  • 2023-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多