Reporting services 在多个列上运行总计的SSR?
我正在创建一个SSRS报告,其中我有一个Reporting services 在多个列上运行总计的SSR?,reporting-services,ssrs-2008,ssrs-tablix,cumulative-sum,Reporting Services,Ssrs 2008,Ssrs Tablix,Cumulative Sum,我正在创建一个SSRS报告,其中我有一个Tablix该Tablix的数据,如下所示 单参数-->平衡=100 firstamt SecondAmt ThirdAmt RunningTotal 10 15 20 145 02 05 01 153 -30 -20 -03 100 所以基本上我的RunningTotal
Tablix
该Tablix
的数据,如下所示
单参数-->平衡=100
firstamt SecondAmt ThirdAmt RunningTotal
10 15 20 145
02 05 01 153
-30 -20 -03 100
所以基本上我的RunningTotal
字段值应该是
RunningTotal = Balance + firstAmt+SecondAmt+thirdAmt and then update
Balance = Balance + firstAmt+SecondAmt+thirdAmt (Or RunningTotal)
对于下一行,应使用Balance=RunningTotal
然后计算下一行RunningTotal,依此类推。我尝试使用自定义代码
,运行值
,但仍然没有成功
任何帮助都会很好,谢谢。我的报表服务器也是2008
(如有疑问,请随时发表评论。)
我试着遵循自定义代码,但不起作用
public dim finalRunningTotal as decimal = 0
public function CalculateRunningTotal (totalAmount as decimal, CheckAmount as decimal,pstAmount as decimal) as decimal
dim valueToReturn as decimal = finalRunningTotal + totalAmount + CheckAmount +pstAmount
finalRunningTotal = valueToReturn
return valueToReturn
end function
下面是一个示例-使用如下表达式:
=RunningValue(Fields!FirstAmt.Value + Fields!SecondAmt.Value + Fields!ThirdAmt.Value
, Sum
, Nothing)
+ Parameters!Balance.Value
根据表格的设置方式,您可能需要将Nothing
更改为不同的范围
在一个简单的例子中对我有效:
这里的例子如上所述
为了简化此过程,您可以向数据集添加一个计算字段,如下所示:
=Fields!FirstAmt.Value + Fields!SecondAmt.Value + Fields!ThirdAmt.Value
这使得RunningValue
表达式更简单:
=RunningValue(Fields!MyCalculatedField.Value
, Sum
, Nothing)
+ Parameters!Balance.Value
您有三个金额,这总是三个(或一个固定的数字,无论如何)还是每次报表运行时金额的数量都在变化?金额将来自数据库,因此每次的值都不同,但三列相同columns@IanPreston基本上我想要一种方法来更新每一行的Balance参数,这样就可以使用Balance参数来表示所有三列的总和用于运行总计计算。Amt列的来源是什么?是否有任何方法可以计算源中的所有金额,并且只在报告中添加参数值?@AlexPeshik是的,我可以更新源以在一列中获取所有金额列的总和。我会尝试让您知道。没问题,很高兴它有帮助!