我的报表中有两个汇总列,其中CS_1汇总列是代表   总收货批数,  CS_2汇总列是代表 总不合格批数, 我现在想通过这两个汇总列来算出总不合格率,然后放在报表中:  基本公式是: 总不合格批数/总收货批数*100 ||'%'是不是要用到公式列,这段语句应该如何写,望哪位高人能指定一下,谢谢了!!

解决方案 »

  1.   

    cs列和cp列都可以。代码是类似 return :cs_2/:cs_1*100||'%'
      

  2.   

    cf或cp列可以,但要注意放在合适的group中,关键是PL/SQL Formula属性中要写Function
    以cf为例:
    function CF_1Formula return Char is
    v_disq_rate   varchar2(200);
    begin
      v_disq_rate := substr(:cs_2/:cs_1*100,1,instr(:cs_2/:cs_1*100,'.')-1)
                     ||substr(:cs_2/:cs_1*100,instr(:cs_2/:cs_1*100,'.'),3) :cs_2/:cs_1*100
                     || '% ';
      return (v_disq_rate);  
    end;
    上面用了点技巧,让你可以得到小数点后两位的百分比。