如何创建SQL表达式来计算多个数据字段的总数?

时间:2014-02-20 00:07:57

标签: sql list sum report expression

我正在尝试在列表报告的每一行中添加最终数据字段。这些数据字段统计了申请人的工作小时数。期望的结果是表达式总共显示442小时。这是因为第一个字段值是420小时,第二个字段值是22小时。其他字段值为零。在下面的第一个示例中,报告生成字符串联,420220000。

=字段!EstHrsTotal1.Value +字段!EstHrsTotal2.Value +字段!EstHrsTotal3.Value +字段!EstHrsTotal4.Value +字段!EstHrsTotal5.Value +字段!EstHrsTotal6.Value

在第二个示例中,使用SUM运算符会导致报告中出现#Error。

= SUM(字段!EstHrsTotal1.Value +字段!EstHrsTotal2.Value +字段!EstHrsTotal3.Value +字段!EstHrsTotal4.Value +字段!EstHrsTotal5.Value +字段!EstHrsTotal6.Value) < / p>

计算这六个数据字段总值之和的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

看起来您的EstHrsTotal值是字符串。您需要将它们转换为整数(或者如果您需要考虑几小时的小数)。您可以在sql或SSRS报告中执行此操作:

SQL:

select
    cast(EstHrsTotal1 as int) EstHrsTotal1,
    cast(EstHrsTotal2 as int) EstHrsTotal2,
    cast(EstHrsTotal3 as int) EstHrsTotal3,
    cast(EstHrsTotal4 as int) EstHrsTotal4,
    cast(EstHrsTotal5 as int) EstHrsTotal5,
    cast(EstHrsTotal6 as int) EstHrsTotal6
from dbo.YourTable

SSRS报告:

  

<强> = CINT(字段!EstHrsTotal1.Value)+ CINT(字段!EstHrsTotal2.Value)+ CINT(字段!EstHrsTotal3.Value)+ CINT(字段!EstHrsTotal4.Value)+ CINT(字段!EstHrsTotal5.Value )+ CINT(字段!EstHrsTotal6.Value)