SSRS:24:00 的 Hour()
SSRS: Hour() for 24:00
我正在使用 Hour(Fields!tempo.Value)
从字段(速度)中获取小时数。当我第一次得到“24:00”并且报告显示“#error”时,问题就来了。
'Hour'函数中的描述说:
Returns an Integer value from 0 through 23 representing the hour of
the day
所以,我将表达式更改为
=IIf(Fields!tempo.Value = "24:00", 0, Hour(Fields!tempo.Value))
但是我得到了#error。然后我试了:
=IIf(Fields!tempo.Value = "24:00", 0, 1)
正确地,我得到 24:00 值的“0”和其余值的“1”。
- 我不明白为什么
Hour()
在 IIf()
下无法工作。
- 对于这种情况可能存在一些更好的解决方法,但我不知道。
提前致谢
编辑:
想法是获取每天 2 小时之间开始的所有事件(对于从早上、下午和晚上开始的筛选事件):
=IIf(Hour(Fields!tempo.Value) >= 22 Or Hour(Fields!tempo.Value) <= 6, SHOWTHIS, Nothing)
如果你不需要对小时执行操作,你可以使用字符串来获取小时,如果你的数据集returns是一个字符串,这是最简单的解决方案(IMO)。
尝试使用这个表达式:
=IIF(LEFT(Fields!tempo.Value,2)="24","0",REPLACE(LEFT(Fields!tempo.Value,2),":",""))
如果您仍想使用 HOUR
函数获取小时数,则必须在 IIF
和 HOUR
函数中验证您的字段两次:
=IIF(Fields!tempo.Value="24:00",
0,
HOUR(IIF(Fields!tempo.Value="24:00","0:00",Fields!tempo.Value))
)
如果有帮助请告诉我。
我正在使用 Hour(Fields!tempo.Value)
从字段(速度)中获取小时数。当我第一次得到“24:00”并且报告显示“#error”时,问题就来了。
'Hour'函数中的描述说:
Returns an Integer value from 0 through 23 representing the hour of the day
所以,我将表达式更改为
=IIf(Fields!tempo.Value = "24:00", 0, Hour(Fields!tempo.Value))
但是我得到了#error。然后我试了:
=IIf(Fields!tempo.Value = "24:00", 0, 1)
正确地,我得到 24:00 值的“0”和其余值的“1”。
- 我不明白为什么
Hour()
在IIf()
下无法工作。 - 对于这种情况可能存在一些更好的解决方法,但我不知道。
提前致谢
编辑:
想法是获取每天 2 小时之间开始的所有事件(对于从早上、下午和晚上开始的筛选事件):
=IIf(Hour(Fields!tempo.Value) >= 22 Or Hour(Fields!tempo.Value) <= 6, SHOWTHIS, Nothing)
如果你不需要对小时执行操作,你可以使用字符串来获取小时,如果你的数据集returns是一个字符串,这是最简单的解决方案(IMO)。
尝试使用这个表达式:
=IIF(LEFT(Fields!tempo.Value,2)="24","0",REPLACE(LEFT(Fields!tempo.Value,2),":",""))
如果您仍想使用 HOUR
函数获取小时数,则必须在 IIF
和 HOUR
函数中验证您的字段两次:
=IIF(Fields!tempo.Value="24:00",
0,
HOUR(IIF(Fields!tempo.Value="24:00","0:00",Fields!tempo.Value))
)
如果有帮助请告诉我。