如果两个值都不为 NULL 在 RDLC 中如何减去两个值之间的日期
How to subtract date between two values if both value is not NULL In RDLC
这是我当前 code/expression 减去两者的值:
=RIGHT ( Left( (fields!I.value - fields!O.value).ToString(), (fields!I.value - fields!O.value).ToString().Length - (fields!I.value - fields!O.value).ToString().LastIndexOf(".")), 8)
但如果其中任何一个为空,表达式仍在继续,结果如下图所示,总小时数列
I just want the total hours column has value if Clock in and clock out is not NULL
I.value=打卡
o.value=下班
谢谢大家!
您可以使用IsNothing()
函数来检查字段是否有值。
SSRS 中另一个需要了解的重要函数是 IIF
语句。这允许您根据表达式获得不同的输出。就像您的标准 if-else 块一样。
这里有一个小例子,希望能稍微解释一下:
=IIF(IsNothing(Fields!I.Value) OR IsNothing(Fields!O.Value), "One of the fields NULL" , "Both fields have values")
下面是您实际想要使用的那个(我还没有测试过,但如果您的公式正确,那么它应该可以工作。)
=IIF(IsNothing(Fields!I.Value) OR IsNothing(Fields!O.Value), "" , RIGHT( Left( (fields!I.value - fields!O.value).ToString(), (fields!I.value - fields!O.value).ToString().Length - (fields!I.value - fields!O.value).ToString().LastIndexOf(".")), 8))
您应该考虑阅读以下文档:Expression Examples (Report Builder and SSRS)
这是我当前 code/expression 减去两者的值:
=RIGHT ( Left( (fields!I.value - fields!O.value).ToString(), (fields!I.value - fields!O.value).ToString().Length - (fields!I.value - fields!O.value).ToString().LastIndexOf(".")), 8)
但如果其中任何一个为空,表达式仍在继续,结果如下图所示,总小时数列
I just want the total hours column has value if Clock in and clock out is not NULL
I.value=打卡
o.value=下班
谢谢大家!
您可以使用IsNothing()
函数来检查字段是否有值。
SSRS 中另一个需要了解的重要函数是 IIF
语句。这允许您根据表达式获得不同的输出。就像您的标准 if-else 块一样。
这里有一个小例子,希望能稍微解释一下:
=IIF(IsNothing(Fields!I.Value) OR IsNothing(Fields!O.Value), "One of the fields NULL" , "Both fields have values")
下面是您实际想要使用的那个(我还没有测试过,但如果您的公式正确,那么它应该可以工作。)
=IIF(IsNothing(Fields!I.Value) OR IsNothing(Fields!O.Value), "" , RIGHT( Left( (fields!I.value - fields!O.value).ToString(), (fields!I.value - fields!O.value).ToString().Length - (fields!I.value - fields!O.value).ToString().LastIndexOf(".")), 8))
您应该考虑阅读以下文档:Expression Examples (Report Builder and SSRS)