我有一个表EMPLOYETIMES,其中记录了时间,并设置了到达(key为100)和离开(key为101)的键。
我添加了计算字段,一个带有ARRIVAL,一个带有DEPARTURE,在这些字段中我有以下表达式:
到来= IIF (Fields!KEY_MODE.Value=100,Fields!EMPLOYETIMES.Value, nothing)
和
离开
= IIF (Fields!KEY_MODE.Value=101,Fields!EMPLOYETIMES.Value, nothing)
我也试过这样使用SWITCH:
到来= SWITCH (Fields!KEY_MODE.Value=100,Fields!EMPLOYETIMES.Value)
离开
= SWITCH (Fields!KEY_MODE.Value=101,Fields!EMPLOYETIMES.Value)
我从这些字段得到的结果是这样的:
18.01.2021 07:14
18.01.2021 17:23
等等
然后我在表格中添加了一个表达式,我想在其中获得ARRIVAL &像这样离开:
= DateDiff(DateInterval.Hour,Fields!ARRIVAL.Value,Fields!DEPARTUE.Value)
但结果不是我所期望的,我得到的数字如下:
-17707375
17707385
等等
我该怎么做才能使这些计算正确?
这个表达式
= DateDiff(DateInterval.Hour,Fields!ARRIVAL.Value,Fields!DEPARTUE.Value)
为每行计算,并且没有行同时填充了ARRIVAL和DEPARTURE。您需要将它们聚合在一起。也许使用MAX(),让您的SQL查询计算它们。