IIF声明在SSRS 2005中返回错误部分

时间:2015-02-18 08:10:23

标签: reportingservices-2005

以下是我的SSRS 2005报告中字段的VB表达式代码。此表达式代码仅返回IIF Statement的假部分。但是它没有理由不返回真正的部分,因为它引用了包含数据的正确colomn。

VB代码

=IIF(CBOOL(Fields!OverallCPT.Value) = TRUE OR Fields!OverallCPT.Value > 0 OR Fields!OverallCPT.Value <> 0,
FORMAT((AVG(Fields!CPT_Time.Value) / 60000),"00") & ":" & FORMAT((AVG(Fields!CPT_Time.Value) mod 60000/1000),"00") ,Nothing)

以下是我用于将数据转换为可用格式的数据集的一部分。

SQL数据集代码

Convert(Bigint,DatePart(minute,[Arrival Time]) * 60000) + Convert(Bigint,Datepart(second,[Arrival Time])*1000) AS 'CPT Time'

当数据集返回我在IIF statement中提供的条件的值时,为什么此IIF Statement会返回false。

1 个答案:

答案 0 :(得分:0)

尝试将IIF更改为调试目的:

=IIF(TRUE,1,0)

如果你仍然得到意想不到的结果,我会建议你的“真实”和“错误”结果可能处于错误的位置。 (当条件为真时,您没有指定您打算返回的内容 - 正确的语法是条件优先,然后是真实结果,最后是错误结果)

如果没有,那么你的if条件或者你对OverallCPT的计算都有一个错误。您可能还需要验证[到达时间]是否包含您期望的值。你的if条件在语法上看是正确的,但我无法确定它是你想要它没有更多信息。