首页 > 解决方案 > 尝试根据表值从表中生成表达式

问题描述

我的 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

标签: expressionssrs-2012divisioniiftext-comparison

解决方案


推荐阅读