我的 SSRS 报告创建了一个汇总表。我需要根据表中的 2 条数据进行计算,并将其作为表达式添加到报表底部。我的表达式错误,因为它没有从表中读取数据输出。
我已经跟进了所有可以找到的错误示例,但没有找到解决方案。我是 SSRS 的新手。我已经通过简单地使用 IIf 语句返回我正在寻找的值(没有我需要的其余计算)来测试表达式,并且它不返回任何一个值。结果我得到“#Error”。我直接从 SQL 代码中复制了查找值,所以我知道我的比较值中没有拼写错误。
我在我的表达式中有这个代码:
=Code.Divide
(IIf(Fields!Results.Value = "BKR3 - Total Overtime Hours", Fields!Results.Value, 0)) ,
(IIf(Fields!Emp_Type.Value = "BKR1 - Total Paid Hours", Fields!Results.Value, 1))
通过另一个stackoverflow问题,我找到了这段代码并将其添加到我的报告中:
Public Function Divide(ByVal dividend as Double, ByVal divisor as Double) As Double
If IsNothing(divisor) Or divisor = 0 Or IsNothing(dividend) Or dividend=0 THEN
Return 0
Else
Return dividend/divisor
End If
End Function
我收到此错误:
textrun 'Textbox3.Paragraphs[0].TextRuns[0]' 的值表达式包含错误:[BC30455] Argument not specified for parameter 'divisor' of 'Public Function Divide(dividend As Double, divisor As Double) As Double '。
这是我的输出的样子:
*Emp_Type Results
*A3-Facility Payroll Hours 28,252.20
*A4-Provider Payroll Hours 1,998.50
*BKR1-Total Paid Hours 30,250.70
*BKR2-Total Worked Hours 27,037.62
*BKR3-Total Overtime Hours 504.20
*BS1-Hospital FTEs 99.72
*BS2-Clinic FTEs 23.25
加班 % #Error
(非常抱歉,我无法让列表缩进!)
我期待这是我的结果:
Overtime % 0.18%
这就是我得到的:
Overtime % #Error