Crystal reports Crystal Reports-选择公式中要使用的第一行中的数据

Crystal reports Crystal Reports-选择公式中要使用的第一行中的数据,crystal-reports,formula,Crystal Reports,Formula,我有一份非常基本的报告,没有分组。详细信息由许多数字列组成。我想添加一个公式字段,它将使用第一行中的字段。例如: (ColumnAFromCurrentRecord-ColumnFromFirstRecord)/ColumnFromFirstRecord 有人能给我指出正确的方向吗 您需要从第一条记录中提取b列。尝试下面的解决方案 Note: This is not a tested solution as I at present I don't have CR. 创建以下公式Count并将

我有一份非常基本的报告,没有分组。详细信息由许多数字列组成。我想添加一个公式字段,它将使用第一行中的字段。例如:

(ColumnAFromCurrentRecord-ColumnFromFirstRecord)/ColumnFromFirstRecord


有人能给我指出正确的方向吗

您需要从第一条记录中提取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
这将在变量b的第一条记录中存储columnb的值

现在,在需要的地方使用:

EvaluateAfter(@StoreB)
Shared NumberVar b;

(ColumnAFromCurrentRecord - b) / b
让我知道进展如何。

1。 创建一个名为
AssignFirstValue
的公式,并如下定义:

WhilePrintingRecords; 
Global StringVar strFirstValue := {MYDBNAME.MYSTRINGFIELD}; 
WhilePrintingRecords; 
Global StringVar strFirstValue; 
strFirstValue 
AssignFirstValue
公式放在
报告标题中,并将其隐藏

二,。 创建一个名为
PrintFirstValue
的公式,并如下定义:

WhilePrintingRecords; 
Global StringVar strFirstValue := {MYDBNAME.MYSTRINGFIELD}; 
WhilePrintingRecords; 
Global StringVar strFirstValue; 
strFirstValue 

PrintFirstValue
公式放在您希望在报告中显示第一个值的任何位置

谢谢你抽出时间来帮助我。当我尝试保存StoreB公式时,它告诉我,{@count}=1处需要一个布尔值。我认为这不是问题所在。我在那一步编辑了答案,这很有帮助,我进一步了解了,但行计数似乎没有增加。每一行的计数列下都有一个1。我错了。我有一个打字错误,我没有注意到。现在一切都很好!谢谢