【问题标题】:Reporting Services - Calculating row totals/percentages in a tableReporting Services - 计算表格中的行总数/百分比
【发布时间】:2011-07-18 15:29:24
【问题描述】:

我正在尝试计算每一行的总数以及占总数的百分比。

现在我有一张这样的桌子:

Blah    Col1    Col2    Col3
-----------------------------
ABC      1        1      1
DEF      2        2      3
-----------------------------
Total    3        3      4

并且我希望它包括如下的总数/百分比:

Blah    Col1    Col2    Col3    Total    %
--------------------------------------------
ABC      1        1      1        3     30%
DEF      2        2      3        7     70%
--------------------------------------------
Total    3        3      4        10    100%

我知道我可以在 SQL 查询中进行计算,但存储过程相当复杂,所以我想尽可能避免这种情况。所以我想知道是否有一种简单的方法可以在 SSRS 中实现这一点。

现在我只为每个 Blah 设置一个行组,我用它来计算列总数。

【问题讨论】:

    标签: sql-server reporting-services


    【解决方案1】:

    我为我的矩阵添加了一个总计行,然后我为该列引用了总计文本框(在我的情况下为文本框 8),然后我做了:

    Sum(Fields.FieldName.Value)/ReportItems!Textbox8.Value
    

    我希望这是有道理的!

    【讨论】:

      【解决方案2】:

      要计算总数,只需使用+ 运算符进行简单的求和。对于百分比,您可以使用ReportItems!ItemName 参考总计。

      【讨论】:

        【解决方案3】:

        您可以在 Reporting Services 中使用“SUM”和“AVG”等聚合函数来实现您想要做的事情。它的工作方式是 SSRS 表中组的“详细”部分将列出所有数据,而组的非详细部分(如页眉和页脚)可用于聚合,例如:

        =SUM(Fields!TestValue.Value)
        

        http://msdn.microsoft.com/en-us/library/ms159134%28v=sql.90%29.aspx

        如果您需要更多帮助,请告诉我。

        【讨论】:

        • 如果我想对某些行而不是所有行求和怎么办?
        【解决方案4】:

        创建两组,一组在每一行的相同数据的列上,然后一组在 blah 列上。为 emcompassing 组添加一行并在那里进行求和。

        【讨论】:

          【解决方案5】:

          您可以简单地执行以下操作: 总和(CInt(字段!TestValue.Value)) 或 Sum(CInt(Fields!DollarAmountOfCheck.Value),"DataSet1") 有时当数据来自 WCF 时,它不接受 Sum() 函数。但在这种情况下这很好用。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-09-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-08-12
            • 2018-06-24
            相关资源
            最近更新 更多