使用InScope在矩阵中的行组和列组的SSRS小计?

时间:2016-11-07 10:07:52

标签: sql-server reporting-services sql-server-2012 ssrs-2012

我在计算列组中父行组的百分比时遇到问题,预期结果如下所示。

enter image description here

列组的百分比是直接使用表达式:

=Sum(Fields!Total.Value) / Sum(Fields!Total.Value, "LocationGroup")

虽然我无法使用能够提供LocationGroupCategoryGroup交集的小计的表达式。

通过修改我的数据集以使用Window Function中的TSQL来计算小计,我已经实现了预期的结果,尽管我觉得使用表达式也可以实现这一点。

我遇到过很多提及InScope功能的文章,虽然我没有按预期工作。

1 个答案:

答案 0 :(得分:1)

因此,当您在CategoryGroup时,如果SubcategoryGroup处于活动状态,您希望计算列组的总数,则需要计算CategorygGroup内的%,因此以下内容将在我看来实现:

=IIF(InScope("SubcategoryGroup")
    ,Sum(Fields!Total.Value) / Sum(Fields!Total.Value, "CategoryGroup")
    ,Sum(Fields!Total.Value) / Sum(Fields!Total.Value, "LocationGroup")
    )