如何使用变量通过DateDiff函数生成日期差值计算表?
现有代码问题修正
你写的DAX存在3处语法问题:
- 两个
DATEDIFF函数均缺少右闭合括号 ROW函数内的列名定义存在多余的引号与无效换行GENERATE为表函数,不能直接用作度量值的返回结果
修正后的可运行版本如下(适用于需要生成差异表的场景):
设计差异表 = VAR 基准设计完成日期 = SELECTEDVALUE('SR ID'[Baseline Design Complete]) RETURN ROW( "10月设计差异", DATEDIFF(基准设计完成日期, SELECTEDVALUE('SR ID'[Oct Design Complete]), DAY), "11月设计差异", DATEDIFF(基准设计完成日期, SELECTEDVALUE('SR ID'[Nov Design Complete]), DAY) -- 后续新增月份仅需在此处追加对应行即可,无需新建独立度量 )
最优实现方案(无需新建数十个计算项)
你不需要为每个月单独写计算项,用字段参数+单个通用度量即可实现动态切换查看不同月份和基准的差值:
- 新建字段参数,将所有月度设计完成日期字段(
Oct Design Complete/Nov Design Complete等)全部加入参数,参数命名为「月度设计完成时间」 - 新建如下通用度量:
设计周期差值 = DATEDIFF( SELECTEDVALUE('SR ID'[Baseline Design Complete]), SELECTEDVALUE('月度设计完成时间'[月度设计完成时间]), DAY )
使用时将「月度设计完成时间」参数作为维度放入切片器、矩阵行/列即可动态切换查看对应月度的差值,后续新增月份只需要在字段参数里新增对应字段即可,无需修改度量代码。
内容的提问来源于stack exchange,提问作者BiGeek
相关产品推荐
相关产品推荐

