我有一份非常基本的报告,没有任何小组。详细信息由许多数字列组成。我想添加一个公式字段,它将使用第一行中的字段。例如:
(ColumnAFromCurrentRecord - ColumnBFromFirstRecord)/ ColumnBFromFirstRecord
有人能指出我正确的方向吗?
答案 0 :(得分:1)
1。
创建一个名为AssignFirstValue
的公式,并将其定义为:
WhilePrintingRecords;
Global StringVar strFirstValue := {MYDBNAME.MYSTRINGFIELD};
将AssignFirstValue
公式放在Report Header
中并予以取消。
2。
创建一个名为PrintFirstValue
的公式,并将其定义为:
WhilePrintingRecords;
Global StringVar strFirstValue;
strFirstValue
将PrintFirstValue
公式放在您想要显示报告中第一个值的位置。
答案 1 :(得分:0)
关于Crystal Report公式的视频。 http://youtu.be/bE0ikQfELV8
答案 2 :(得分:0)
您需要从第一条记录中获取列b。尝试下面的解决方案。
Note: This is not a tested solution as I at present I don't have CR.
创建以下公式Count
并放入详细信息部分:
Local NumberVar a;
a:=a+1;
这将对从 1 开始到最后一行的行进行编号。
现在再创建一个公式StoreB
:
Share NumberVar b;
if {@Count}=1
then b:=columnb
这会将columnb的值存储在变量b
中的第一个记录中现在使用你想要的地方:
EvaluateAfter(@StoreB)
Shared NumberVar b;
(ColumnAFromCurrentRecord - b) / b
让我知道它是怎么回事。