【问题标题】:Average data which comes out of a Crystal Report formula来自 Crystal Report 公式的平均数据
【发布时间】:2016-03-30 16:05:50
【问题描述】:

我的组页眉中有一个公式,如下所示:

if count({Removals.rpid},{Removals.r-ixservice}) <> 0 then 
( sum ({@SIT - Count},{Removals.r-ixservice}) / count({Removals.rpid},{Removals.r-ixservice}) * 100)

else 0;

这非常有效,因为它会根据上面的字段输出一个 % 数字。但是,在报告页脚中,我想对上述公式生成的所有数据进行平均并将其吐出,这样如果在报告中这个公式在 3 行上说 90-80-70,那么在页脚中它会说70.

我尝试使用 Average({@Formulaname}),但 Crystal 只是说“此字段无法汇总”。

谢谢。

【问题讨论】:

    标签: crystal-reports formula


    【解决方案1】:

    它已经是一个汇总公式,因此您无法再次对其进行汇总..建议的选项是使用数组并汇总。

    试试这个

    使用组头中的公式并抑制

        Shared Numbervar array store;
    
        if count({Removals.rpid},{Removals.r-ixservice}) <> 0 then 
        store:=store+( sum ({@SIT - Count},{Removals.r-ixservice}) / count({Removals.rpid},{Removals.r-ixservice}) * 100)
    
        else store:=store+0;
    1
    

    现在在报告页脚中

    Shared Numbervar Array store;
    Local Numbervar i;
    Local numbervar final;
    
    For i:=1 to Ubound(store) do
    (
    final:=final+store[i];
    );
    
    Final/Ubound(store);
    

    【讨论】:

    • 嗨 Siva,当我尝试这个时,组标题公式中的第一部分 Crystal 弹出错误“此数组必须下标。例如:数组 [i]。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多