如何在rdl报告中连续获取组总数?

时间:2019-06-03 12:40:00

标签: reporting-services ssas olap-cube rdl

如何获取行项目中组的总数? 我尝试过Fields!Sales.Value/SUM(Fields!Sales.Value),但是它返回1而不是row_amount/group_total,报告返回row_amount/row_amount

PS:数据来自SSAS多维数据集。我做了picture bellow 1来总结我想做的事情 enter image description here

2 个答案:

答案 0 :(得分:1)

您可能只用ReportItems比较这些值。也就是说,您可以为sales文本框和totalsales文本框指定名称,然后使用这些值进行比较。以下表达式可能会按预期工作。

= (ReportItems!SalesTextbox.Value / ReportItems!SalesTotalTextbox.Value) * 100.0

与此相关的另一件事是,如果结果为1,则可能正在处理数据的整数除法。确保返回的数据以doubledecimal数据类型输入,而不是integer数据类型。如果您更正了数据类型,它可能会像当前一样工作。

答案 1 :(得分:0)

您还需要处理“被零除”错误。使用“ = IIf(分母= 0、0,分子/分母)不起作用,因为“ IIf”函数会同时评估“ then”和“其他”,仍然会返回错误。我们使用了一些在SO上找到的自定义代码(我希望我能记住它的来源,以便在应交的地方提供功劳)。

Public Function HandleDivideByZero(ByVal numerator As Decimal, denominator As Decimal) As Decimal
        If denominator = 0 Then
            Return 0
        Else
            Return numerator / denominator
        End If
End Function