dax - DAX - 如何对过去 N 周、今年和去年的度量值求和
问题描述
我有一个度量 [Total] 由 Date 表中的自定义周末结束日期字段 'Date'[CustWEndingDate] 报告,基于周六 - 周五周(因此每周在周五结束),加上相关的 'Date'[WeekNum ] 和 'Date'[Year] 到那个。数据如下所示:
[CustWEndingDate], [Year], [WeekNum], [Total]
3/29/2019, 2019, 13, 400
4/5/2019, 2019, 14, 350
4/12/2019, 2019, 15, 420
4/ 19/2019, 2019, 16, 390
...
3/27/2020, 2020, 13, 315
4/3/2020, 2020, 14, 325
4/10/2020, 2020, 15, 405
4/17/2020 , 2020, 16, 375
我的问题是:如何创建 DAX 度量来计算今年最后 3 周与去年相同的最后 3 周?例如,今年第 14 周、第 15 周和第 16 周 (325+405+375) 与去年同一周的第 14 周、第 15 周和第 16 周 (350+420+390)?
提前感谢您提供的任何帮助!
解决方案
我会使用以下方法:
- 用今天的日期计算标量
- 用今天日期的年份计算标量
- 计算与今天日期关联的 WeekNum 的标量
- 用 CY 值计算今年最后 3 周的标量
- 计算上一年最后 3 周(相同)的 PY 值的标量
- 计算比率
下面是技术实现:
Joel's Measure:=
VAR _TODAY = TODAY()
VAR _YEAR = YEAR(_TODAY)
VAR _WEEKNUM = CALCULATE(MIN('Date'[WeekNum]), 'Date'[Date] = _TODAY)
VAR _CY = CALCULATE([MEASURE], 'Date'[Year] = _YEAR, 'Date'[WeekNum] IN {_WEEKNUM, _WEEKNUM - 1, _WEEKNUM - 2})
VAR _PY = CALCULATE([MEASURE], 'Date'[Year] = _YEAR - 1, 'Date'[WeekNum] IN {_WEEKNUM, _WEEKNUM - 1, _WEEKNUM - 2})
RETURN
DIVIDE(_CY - _PY, ABS(_PY))
这应该可以解决您的问题。如果没有,请与结果分享反馈。
推荐阅读
- java - Java:实现将不同实例重定向到不同订阅者的观察者模式的最佳方法是什么?
- c - mpi C中的奇怪分段错误
- reactjs - 用于 React 原生项目的 EDF Writer
- h2 - 未找到 H2 JDBC 函数“NVARCHAR”
- javascript - react-selecto - 无法从照片库中拖动和选择
- sql-server - 用于 SQL Server 的 gCloud SQL 导入 bacpac 文件
- c++ - 运行ctest时如何在docker中获取核心转储文件?
- java - 防止 Tomcat 在应用程序错误时启动
- php - 脚本没有运行,我不知道为什么
- controls - 我如何从观察到的振荡频率中判断它是否是由控制系统的不稳定性引起的?