如何在 rdl 报告中的一行中获取组总数?

How to get group total inside a row in a rdl report?

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

PS:数据来自 SSAS 多维数据集。我做了 picture bellow1 来总结我想做的事情

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

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

另一件需要考虑的事情是,如果您的结果是 1,则您可能正在处理数据中的整数除法。确保返回的数据是 doubledecimal 数据类型,而不是 integer。如果您更正了数据类型,它可能会像您当前使用的那样工作。

您还需要处理 "divide by Zero' errors. Using an "=IIf (denominator = 0, 0, numerator/denominator) 不起作用,因为 "IIf" 函数计算 "then"并且 "else" 仍然会 return 一个错误。我们使用了一些我在 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