我有一个视觉,需要显示趋势6周的度量,然而,报告上的其他视觉是基于一个自定义范围。因此,在查看报表时,有一个日期切片器,它有一个开始日期和一个结束日期。
我需要做的是创建一个度量/可视化,显示一个6周的趋势,基于在该切片机中选择的最后一个日期。因此,即使在日期筛选器中选择2周,视觉也会显示最后6周。
最终用户选择一个日期范围(任何地方从1-2周),我需要显示一个6周趋势图表的基础上,最后一天选择的范围。因此,为了做到这一点,我需要找到一种方法来查看在切片机中选择的最大日期来使用,并使视觉独立于所述切割器。换句话说,如果你选择上周一到上周五,视觉将显示一个6周的趋势,截止上周五。
所以我知道我可以使用DAX函数LASTDATE()来获得切片器中的最后一个日期,然后减去6周。我遇到的问题是,当我创建可视化时,切割机上的两个日期都会将其强制到选定的日期范围(而不是6周)。当我为视觉更改视觉交互时,视觉中的最后一个日期不再是选定的日期。
有什么办法让这件事起作用吗?
编辑:下面是我正在使用的代码:
两张桌子
销售量
Sales ID | Customer ID | Qty | Sales Date
1 A 2 | 12/2/2018
2 A 11 | 12/2/2018
3 B 5 | 11/28/2018
4 B 7 | 11/28/2018
5 C 10 | 11/27/2018
6 D 20 | 11/27/2018
7 E 9 | 11/25/2018日历
Date | Weeknum
12/2/2018 49
12/1/2018 48
11/30/2018 48
11/29/2018 48
11/28/2018 48
11/27/2018 48
11/26/2018 48
11/25/2018 47
11/24/2018 47
...And so on用于获取开始日期的DAX语句(从选定的最大日期起6周):
Six Weeks From Last Date Selected =
DATEADD(LASTDATE('Calendar'[Date]), -42, DAY) 六周销售:
6 Weeks Sales =
CALCULATE(
SUM('Sales'[Sales]),
DATESBETWEEN(
'Calendar'[Date],
[Six Weeks From Last Date Selected],
LASTDATE('Calendar'[Date])
)
)谢谢您提前提供帮助!
发布于 2018-12-02 21:25:05
我猜您的度量是取选定日期范围和六个星期范围的交集的总和。
如果您希望始终获得六周时间,那么应该通过将ALL('Calendar'[Date])添加到CALCULATE函数中来删除date列上的筛选器上下文:
6 Weeks Sales =
CALCULATE(
SUM('Sales'[Sales]),
ALL('Calendar'[Date]),
DATESBETWEEN(
'Calendar'[Date],
[Six Weeks From Last Date Selected],
LASTDATE('Calendar'[Date])
)
)编辑:上面的会给你6周的销售价值,但不是你想要的。
要做您想做的事情,您需要创建第二个与Sales相关的日历表。
Cal2 = 'Calendar'将Cal2[Date]用于视觉而不是'Calendar'[Date],并编写一个消除'Calendar'过滤并进行6周过滤的度量。例如:
6 Weeks Sales =
VAR EndDate = LASTDATE('Calendar'[Date])
VAR StartDate = EndDate - 42
VAR CurrDate = SELECTEDVALUE(Cal2[Date])
RETURN
IF( StartDate < CurrDate && CurrDate <= EndDate,
CALCULATE(
SUM(Sales[Qty]),
ALL('Calendar')
),
BLANK()
)您也可以使用过滤器来完成此操作:
6 Weeks Sales =
VAR EndDate = LASTDATE('Calendar'[Date])
VAR StartDate = EndDate - 42
RETURN
CALCULATE(
SUM(Sales[Qty]),
ALL('Calendar'[Date]),
FILTER(
Cal2,
StartDate < Cal2[Date] && Cal2[Date] <= EndDate
)
)https://stackoverflow.com/questions/53584121
复制相似问题