目标:我想根据日期切片器来获取当前会话与以前的会话之间的差异 我希望输出是这样的4列:
情况: 我目前有两种措施
SUM(Sales[Sessions])
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日的金额,因为每一行的最大日期都不同,但我希望它基于切片器。
答案 0 :(得分:0)
该错误出在上一个会话公式中的VAR Datediffs变量的第一部分:
CALCULATE(LASTDATE('Date'[Date]),ALLSELECTED('Date'))
这将强制始终计算每行的最后一天,并覆盖每行中的日期值。