Reporting services 如何在rdl报告中获取行内的组总数?
如何获取行项目中的组总数? 我尝试了Reporting services 如何在rdl报告中获取行内的组总数?,reporting-services,ssas,olap-cube,rdl,Reporting Services,Ssas,Olap Cube,Rdl,如何获取行项目中的组总数? 我尝试了字段!Sales.Value/SUM(Fields!Sales.Value)但它返回1,而不是行金额/组金额报告返回行金额/行金额 PS:数据来自SSAS多维数据集。我总结了我想做的事情 您可以通过ReportItems比较这些值。也就是说,您可以为sales文本框和totalsales文本框指定名称,并使用这些值进行比较。以下表达式可能会按预期工作 = (ReportItems!SalesTextbox.Value / ReportItems!SalesTo
字段!Sales.Value/SUM(Fields!Sales.Value)
但它返回1,而不是行金额/组金额
报告返回行金额/行金额
PS:数据来自SSAS多维数据集。我总结了我想做的事情
您可以通过
ReportItems
比较这些值。也就是说,您可以为sales
文本框和totalsales
文本框指定名称,并使用这些值进行比较。以下表达式可能会按预期工作
= (ReportItems!SalesTextbox.Value / ReportItems!SalesTotalTextbox.Value) * 100.0
另一个要考虑的问题是,如果你的结果是1,你可能会处理你的数据中的整数除法。确保返回的数据带有双精度
或十进制
数据类型,而不是整数
。如果您更正了数据类型,它可能会像您当前使用的那样工作。您还需要处理“被零除”错误。使用“=IIf(分母=0,0,分子/分母)不起作用,因为“IIf”函数同时计算“then”和“else”,并且仍然会返回错误。我们使用了一点我在SO上找到的自定义代码(我希望我能记得它从哪里来,这样我就可以在到期的时候给它评分)
谢谢!我还必须处理像这样的除以零的情况
=IIF(ReportItems!SalesTotalTextbox.Value=0,0,(ReportItems!SalesTextbox.Value/ReportItems!SalesTotalTextbox.Value)*100.0)
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