SSRS 2012 #除法错误(不是零)

SSRS 2012 #Error on divide (NOT by zero)

以下代码

SELECT max(operation.setup_hrs),sum(lt2.hours_worked),(sum(lt2.hours_worked)/max(operation.setup_hrs)) ....

returns(在查询设计器中) 0.180 0.46 2.555555

我追求的自然是

max(operation.setup_hrs)/sum(lt2.hours_worked)

那,其余代码完全相同,returns #Error

同样,因为我试图再次用除法抓住它的愚蠢,

1/(sum(lt2.hours_worked)/max(operation.setup_hrs))

如果我手动写入(再次在同一个查询中,总是只替换第三列)

(0.180/0.46)

我得到了预期的 0.391304。所以很明显它可以处理除法。

仅作记录,虽然这里的结果显示没有涉及零并且仍然出现#Error,但我在我的原始代码中(在我开始寻找错误之前)有代码来处理最终零次出现

SELECT iif(sum(lt2.hours_worked)=0,0,
         operation.setup_hrs/iif(sum(lt2.hours_worked)=0,1,sum(lt2.hours_worked)))

我不知所措:可能导致#Error 的原因是什么?

您必须将其转换为 int/double/float 等才能进行除法

max(CDbl(Fields!lt2.hours_worked.Value))/sum(CDbl(lt2.hours_worked))