日期之间的DAX SUM无法正常工作

贫民窟

我有两个表:

  1. DateDim
  2. 时间

我试图从我的时间表中获取hours_actual的总和,它们在我的DateDim的两个日期之间。他们在以下所示的日期有关系:

在此处输入图片说明

我目前正在使用以下DAX公式:

PreviousPeriod_Hours = CALCULATE(SUM('Time'[hours_actual])
    ,DATESBETWEEN(
                  DateDim[FullDateAlternateKey],
                  [Start of Previous Period],
                  [End of Previous Period]),
                  ALL(DateDim)
                  )

[上一个时期的开始]和[上一个时期的结束]的值是计算得出的DAX日期,正如我所期望的那样显示。

在此处输入图片说明

为了得出这些日期,我首先创建一些DAX函数:

Start of This Period = FIRSTDATE(DateDim[FullDateAlternateKey])

End of This Period = LASTDATE(DateDim[FullDateAlternateKey])

Days in This Period = DATEDIFF([Start of This Period],[End of This Period],DAY)

End of Previous Period = PREVIOUSDAY(LASTDATE(DATEADD(DateDim[FullDateAlternateKey],-1*[Days in This Period],DAY)))

Start of Previous Period = PREVIOUSDAY(FIRSTDATE(DATEADD(DateDim[FullDateAlternateKey],-1*[Days in This Period] + IF(MOD(Year('MeasureTable'[End of This Period]),4) == 0,1,0),DAY)))

为了快速总结以上内容,它是查找开始日期和结束日期之间的日期,然后从我选择的开始日期和结束日期中减去这些天。如果是a年,则添加一天。

dax公式给了我期望的正确总数。但是,如果我按两个日期显示月份中的小时数,则它们显示的内容与应有的显示方式完全不同,并且不要加到显示的总和上。

在此处输入图片说明

我期待以下值:

在此处输入图片说明

我不确定这是13的来源,而28.25似乎是次年上个月的重复。我在这里想念的是什么?我当前的方法正确吗,只是做错了什么?还是我完全采用了错误的方法?

更新-添加一些我正在使用的数据:

那么DateDim只是一个生成的日期表,例如,一行看起来像下面的内容(2016-2021): 

FullDateAlternateKey    Year    Month   Month Name  Quarter Week of Year    Week of Month   Day Day of Week Day of Year Day Name    Fiscal Year Fiscal Period Fiscal Quarter
2016-01-02              2016    1       January     1       1                1              2   6           2           Saturday    2016        5            2

hours_actual和日期如下所示: 

Date_Start              hours_actual

2019-03-05 12:00:00 AM  5
2019-03-26 12:00:00 AM  3
2019-04-23 12:00:00 AM  0.75
2019-04-24 12:00:00 AM  0.08
2019-05-22 12:00:00 AM  4
2019-05-22 12:00:00 AM  2
2019-05-22 12:00:00 AM  1.75
2019-05-27 12:00:00 AM  8
2019-05-31 12:00:00 AM  0.25
2019-06-03 12:00:00 AM  0.25
2019-06-05 12:00:00 AM  0.25
2019-06-21 12:00:00 AM  1
2019-06-27 12:00:00 AM  2
2019-06-27 12:00:00 AM  0.5
2019-06-28 12:00:00 AM  1
2019-06-28 12:00:00 AM  3
2019-07-04 12:00:00 AM  3
2019-07-05 12:00:00 AM  3
2019-07-10 12:00:00 AM  2.5
2019-07-10 12:00:00 AM  0.5
2019-07-10 12:00:00 AM  1.5
2019-07-10 12:00:00 AM  0.5
2019-07-10 12:00:00 AM  2
2019-07-12 12:00:00 AM  2.5
2019-07-17 12:00:00 AM  1
2019-07-18 12:00:00 AM  0.5
2019-07-24 12:00:00 AM  0.5
2019-07-24 12:00:00 AM  1
2019-07-24 12:00:00 AM  1.5
2019-07-24 12:00:00 AM  1
2019-07-25 12:00:00 AM  1
2019-07-25 12:00:00 AM  0.5
2019-07-31 12:00:00 AM  1
2019-07-31 12:00:00 AM  1.5
2019-07-31 12:00:00 AM  1
2019-07-31 12:00:00 AM  0.5
2019-08-01 12:00:00 AM  2
2019-08-07 12:00:00 AM  4
2019-08-07 12:00:00 AM  3.75
2019-08-08 12:00:00 AM  4
2019-08-14 12:00:00 AM  1.25
2019-09-11 12:00:00 AM  3.5
2019-09-11 12:00:00 AM  2.5
2019-09-12 12:00:00 AM  3
2019-09-12 12:00:00 AM  1.75
2019-09-13 12:00:00 AM  4
2019-09-13 12:00:00 AM  1.75
2019-09-13 12:00:00 AM  3
2019-09-14 12:00:00 AM  2
2019-09-14 12:00:00 AM  3.25
2019-09-16 12:00:00 AM  0.5
2019-09-16 12:00:00 AM  0.5
2019-09-26 12:00:00 AM  2.5
贫民窟

经过更多试验后,每月和每年都会提取以前的开始日期和结束日期的DAX功能。我的错误是认为DAX函数只能在切片器上求值,而不能在显示的表值上求值。

我采用了另一种方法,基本上创建了时间表的参考表,并添加了一个列,该列为每一行的日期添加了一年。然后,我通过future_date列将引用表加入到DateDim表中。我终于能够按当前期间和上一时期显示这些值,并且准确地给出了我想要的结果。

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

两个日期之间的范围的NSPredicate无法正常工作

来自分类Dev

日期比较无法正常工作

来自分类Dev

Java日期无法正常工作

来自分类Dev

日期功能无法正常工作

来自分类Dev

日期转换无法正常工作

来自分类Dev

日期比较无法正常工作

来自分类Dev

Java日期无法正常工作

来自分类Dev

日期格式无法正常工作

来自分类Dev

Android日期查询无法正常工作

来自分类Dev

Excel日期/时间转换无法正常工作

来自分类Dev

PHP中的日期功能无法正常工作

来自分类Dev

比较JavaScript日期无法正常工作

来自分类Dev

日期格式在Ruby中无法正常工作

来自分类Dev

JSTL中的比较日期无法正常工作

来自分类Dev

Android:片段之间的onActivityResult()无法正常工作

来自分类Dev

jQuery datepicker计数两个日期之间的差异将无法正常工作

来自分类Dev

Treatas DAX函数无法正常工作,返回完整的空白列

来自分类Dev

从日期选择器获取日期无法正常工作

来自分类Dev

简化日期之间的Sum()

来自分类Dev

我的日期检查表无法正常工作

来自分类Dev

jQuery自定义日期功能无法正常工作?

来自分类Dev

MediaStore-修改日期无法正常工作

来自分类Dev

jQuery UI-无法使日期选择器正常工作

来自分类Dev

日期比较在Shell脚本中无法正常工作

来自分类Dev

剑道网格日期输入输出无法正常工作

来自分类Dev

无法使Material-UI日期选择器正常工作

来自分类Dev

角日期管道在文本框中无法正常工作

来自分类Dev

日期传递给存储过程的参数无法正常工作

来自分类Dev

数据表日期格式无法正常工作