如何在 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,则您可能正在处理数据中的整数除法。确保返回的数据是 double
或 decimal
数据类型,而不是 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
如何获取行项目中组的总数?
我试过 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,则您可能正在处理数据中的整数除法。确保返回的数据是 double
或 decimal
数据类型,而不是 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