【问题标题】:Calculating Sum and average in SSRS在 SSRS 中计算总和和平均值
【发布时间】:2013-04-04 16:53:49
【问题描述】:

我的报告有问题。 我有一个这样的矩阵


                     |ID   |         
 |Question(TEXT)|    |Point(Value)|   |Calculated(Average)|   |Calculated(Satisfaction)%|
                  Summary:            |Average(Average)   |   |Average(Satisfaction)%|

这个矩阵在另一个页组中。

所以,我的问题是在某个页面组中,

Question_Text 是空白的,并且所有的点(值)都是 0。

每行的平均值显示正确的值,但汇总平均值显示不正确,因为它还考虑了额外的行并计算平均值。

所以如果所有平均值的总和是 40 并且有 4 个问题(包括空白问题) 平均值将是 10 而不是 13.33,因为它除以 4 而不是 3。

由于查询而显示该行,所以我需要更改查询还是有办法在 SSRS 本身中进行。

【问题讨论】:

    标签: tsql reporting-services ssrs-2008


    【解决方案1】:

    您可以使用这样的表达式来排除空白问题:

    =Avg(IIf(Fields!Question_Text.Value = "" or IsNothing(Fields!Question_Text.Value)
      , Nothing
      , Fields!Point_Value.Value))
    

    或替代方案:

    =Sum(Fields!Point_Value.Value)
      / Sum(IIf(Fields!Question_Text.Value = "" or IsNothing(Fields!Question_Text.Value), 0.0, 1.0))'Updated
    

    评论后编辑:

    我将表达式添加到报告中 - 第一个运行良好,第二个在小更新后也运行良好(请参阅编辑详细信息)。

    我使用以下查询创建了一个测试数据集:

    select Question_Group = 'Group1', Question_Text = 'Q1', Point_Value = 10
    union all select Question_Group = 'Group1', Question_Text = 'Q2', Point_Value = 15
    union all select Question_Group = 'Group1', Question_Text = 'Q3', Point_Value = 15
    union all select Question_Group = 'Group1', Question_Text = '', Point_Value = 0
    union all select Question_Group = 'Group2', Question_Text = 'Q4', Point_Value = 10
    union all select Question_Group = 'Group2', Question_Text = 'Q5', Point_Value = 15
    union all select Question_Group = 'Group2', Question_Text = 'Q6', Point_Value = 15
    union all select Question_Group = 'Group2', Question_Text = null, Point_Value = 0
    

    我刚刚基于Question_Group 创建了一个组,并将这两个表达式都添加到了组页脚。

    设计模式下的报告:

    根据上述数据集报告结果:

    【讨论】:

    • 它基于示例数据集对我有用;请看上面。如果它仍然不适合您并且您需要进一步的帮助,请提供有关您的数据集的更多信息以及填充一些示例数据的查询,如上例所示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    相关资源
    最近更新 更多