您需要创建两个公式领域内的最高值第一个用于变量初始化,第二个用于大于其他值的条件。
1:创建第一个公式字段并记下以下代码。将该公式字段的名称输入Initialization
。
WhilePrintingRecords;
numbervar dMax := 0;
然后将该公式字段放置在报表头部分中。
2:现在,创建另一个公式字段并记下该公式字段中的以下代码。
WhilePrintingRecords;
//dont initialize the 0 in this variable we have already initialized in 1st formula field
numbervar dMax;
//Following condition will check that current sum of that field is greater than
//values stored dMax variable. If the condition is satisfied then value will be initialized
//In dMax variable.
if (IsNull(Sum({TableName.FieldName}, {TableName.GroupField})) = False AND
Sum({TableName.FieldName}, {TableName.GroupField}) > dMax)
dMax:=Sum({TableName.FieldName}, {TableName.GroupField});
dMax;
现在,将此公式字段放在计算汇总值的位置。例如在组页脚中。
UPDATE:
如果要找出最大值withing四组总。然后在公式字段中写下以下代码并将其放在组页脚中。
WhilePrintingRecords;
numbervar dMax1:=0;
if (Sum ({@Total Contracted Value}, {JCM_MASTER__COST_CODE.Cost_Code})) > (Sum ({@Current Budget}, {JCM_MASTER__COST_CODE.Cost_Code}))
dMax1:=Sum ({@Total Contracted Value}, {JCM_MASTER__COST_CODE.Cost_Code});
else
dMax1:=Sum ({@Current Budget}, {JCM_MASTER__COST_CODE.Cost_Code});
numbervar dMax2:=0;
if (Sum ({@Costs to Date}, {JCM_MASTER__COST_CODE.Cost_Code})) > (Sum ({@Projected Final PM Input}, {JCM_MASTER__COST_CODE.Cost_Code}))
dMax2:=Sum ({@Costs to Date}, {JCM_MASTER__COST_CODE.Cost_Code});
else
dMax2:=Sum ({@Projected Final PM Input}, {JCM_MASTER__COST_CODE.Cost_Code});
if (dMax1 < dMax2)
dMax1 := dMax2;
dMax1;
Hello Sarah。我不完全知道,但我认为你应该创建公式领域,你可以写,以检查哪个值比以前更大。 – Shell 2014-11-07 03:15:05
@Sarah我编辑你的问题添加您的编辑...所以这个问题将更有意义 – Siva 2014-11-08 07:22:53