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))
以下代码
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))