如何并排附加由两个独立的分割器过滤的当前会话和先前会话

时间:2019-01-17 19:56:54

标签: powerbi dax

目标:我想根据日期切片器来获取当前会话与以前的会话之间的差异 我希望输出是这样的4列:

  • 日期
  • 当前会话(请参阅下面的措施)
  • 以前的会话(请参阅下面的措施)
  • 差异(尚未计算度量)。

情况: 我目前有两种措施

  • 当前会话:SUM(Sales[Sessions])
  • 以前的会议(感谢@Alexis Olson):
  

VAR datediffs = DATEDIFF(           CALCULATE(MAX('Date'[Date])),           计算(最大值(“上一个日期” [Date])),           天           )       返回       CALCULATE(SUM(Sales [Sessions]),                 USERELATIONSHIP('上一个日期'[Date],'Date'[Date]),                 DATEADD('Date'[Date],datediffs,DAY)                   )

我有三个桌子。

  • 销售
  • 日期
  • 以前的日期(日期表的复本)

我以前的日期表与日期表是1:1无效的关系。日期表是一对多活跃关系 与我的销售表。

我始终有两个切片器,比较不同时间段的相同天数(例如2019年1月1日至1月7日与2019年12月25日至12月31日) 如果我放置当前会话,以前的会话以及三个表中任何一个的日期列

+----------+------------------+-------------------+------------+
|   date   | current sessions | previous sessions | difference |
+----------+------------------+-------------------+------------+
| Jan 8th  |            10000 |             70000 |       3000 |
| Jan 9th  |            20000 |             10000 |      10000 |
| Jan 10th |            15000 |             16000 |      -1000 |
| Jan 11th |            14000 |             12000 |       2000 |
| Jan 12th |            12000 |             14000 |      -2000 |
| Jan 13th |            11000 |             16000 |      -5000 |
| Jan 14th |            15000 |             18000 |      -3000 |
+----------+------------------+-------------------+------------+

当我将“会话”日期以及会话和以前的会话一起放在表上时,我会得到正确的每天会话数,但是我认为先前的会话数不能正确计算,因为它被日期行过滤了。

如何覆盖该表过滤器并强制其获取之前的确切会话次数?基本上两个结果都相加。下面显示了我的问题。上一届会议的每一天都是相同的,基本上是2018年12月31日的金额,因为每一行的最大日期都不同,但我希望它基于切片器。

1 个答案:

答案 0 :(得分:0)

该错误出在上一个会话公式中的VAR Datediffs变量的第一部分:

CALCULATE(LASTDATE('Date'[Date]),ALLSELECTED('Date'))

这将强制始终计算每行的最后一天,并覆盖每行中的日期值。