Crystal reports 如何在crystal report中获取runningvalue()

Crystal reports 如何在crystal report中获取runningvalue(),crystal-reports,visual-studio-2013,rdlc,Crystal Reports,Visual Studio 2013,Rdlc,过去我使用RDLC报告,但现在我使用Crystal报告。我在RDLC报告中使用了这个公式 =Previous(RunningValue(Fields!balance.Value,sum,nothing))+Fields!balance.Value 但在Crystal report中找不到运行值。有人能告诉我它在水晶报告里的什么地方吗?如果没有其他解决方案,可以这样做吗 我希望在平衡栏中得到这样的结果 id name debit credit balance

过去我使用RDLC报告,但现在我使用Crystal报告。我在RDLC报告中使用了这个公式

=Previous(RunningValue(Fields!balance.Value,sum,nothing))+Fields!balance.Value
但在Crystal report中找不到运行值。有人能告诉我它在水晶报告里的什么地方吗?如果没有其他解决方案,可以这样做吗

我希望在平衡栏中得到这样的结果

id    name         debit     credit    balance
1     umer         100         0         100
2     umer          0         50          50
3     umer          0         10          40
4     umer          200        0         240
平衡地写下面的代码


我建议您使用一个运行总数,因为这种类型的计算正是他们打算使用的

首先,创建一个公式,将借项作为总数的加法处理,贷项作为减法处理:{table.debitAmount}-{table.creditAmount}

然后创建一个运行总数,并将刚刚创建的公式插入字段进行汇总。在“运行总计”屏幕的“评估”部分,将每条记录的余额设置为,如果希望此余额在整个报告中使用,则在“重置”部分,将其设置为“从不”;如果余额应按分组级别使用,则选择组


编辑:不用说,但您需要验证要设置为Sum的摘要类型是否为“运行总计”

您是指“运行总计”?无运行总计将是我希望第2行中的第1行余额,然后第3行中的第2行余额的全部数据的总和,依此类推……您能举个例子吗?@Siva检查更新的问题确定。。。在这里我可以看到row2=row1-row2。。。第3行=第2行-第3行,但当涉及第4行时,它是第4行=第4行+第3行。。。为什么计算有差异?或者我的理解是错误的?局部变量不能从一行传到另一行。。。除非display变量是全局变量,并且您也不需要balance变量,否则这将不起作用。您还缺少whileprintingrecords关键字,以确保按排序的记录顺序对其进行计算。事实上,我已使用Shared进行了测试,但不知何故改为local,并且在没有whileprintingrecords的情况下工作,我能够看到正确的输出。在发布解决方案之前测试了该解决方案,但使用Shared进行了测试。这仅仅是因为它对您的测试用例并不意味着它适用于所有的用例。whileprintingrecords关键字强制公式在对记录进行排序后求值,否则它们将按照CR所说的原始顺序求值,这并不总是可预测的。为什么您会选择让解决方案出现错误,而不是进行一个单词的更改来修复它??我想每个人都有自己的。
Whileprintingrecords;
Shared Numbervar balance;
Shared Numbervar display;

balance:=debit-credit;
display:=display+balance;
display