
[英]RRSR Sorting i got “a sort expression for the tablix4 includes an aggregate function”
[英]Sorting Tablix with an Expression as its Value
我是 SSRS 的新手,无法对我的数据进行排序。
我有一个要排序的列,它具有以下表达式: =((SUM(VAL(IIF(Fields!SecTypeBaseCode.Value="cs",Fields!Marketvalue.Value,0))))/ (Sum( Fields!Marketvalue.Value)+Sum(Fields!AccruedInterest.Value)))/(Fields!EquityTarget.Value/100)
为了尝试对其计算值进行排序,我创建了一个带有表达式的计算字段。 然后我尝试根据计算字段进行排序。 但是,每次我这样做都会给我一个错误,因为表达式有一个聚合。 知道如何解决此问题或对其进行排序吗?
排序的聚合表达式需要在单个项目的组上,而不是在数据集、表格或图表的属性上。
您可能会收到一个静默错误,该错误允许报告运行,但由于可能存在除以零问题而无法计算表达式。 如果您在 Visual Studio 中预览报告,您可能会在错误列表中看到错误。
SSRS 喜欢聪明地检查除以零时可能出现的问题。 不幸的是,它会找到字段可能为零的任何地方。 要解决此问题,请使用 IIF 语句,以便将可能的零除数替换为 1,将分子替换为零。 你的表达式有点复杂,因为你有两个除数,但它应该是这样的
= IIF(Sum(Fields!Marketvalue.Value + Fields!AccruedInterest.Value) = 0
OR Fields!EquityTarget.Value = 0,
0,
SUM(IIF(Fields!SecTypeBaseCode.Value="cs", Fields!Marketvalue.Value, 0))
)
/
IIF(Sum(Fields!Marketvalue.Value + Fields!AccruedInterest.Value) = 0,
1,
Sum(Fields!Marketvalue.Value + Fields!AccruedInterest.Value))
/
IIF(Fields!EquityTarget.Value = 0, 1, Fields!EquityTarget.Value)
*
100
另请参阅: 避免在 SSRS 表达式中被零除
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.