需求是如下图中的所有制造件中Routing Operation的Yield Percentage做一个汇总报表,格式如下:
Item Code,Yield Rate
其实这个是一个很简单的报表,那么为什么我还在这里写出来呢?这里告诉大家一个思路,因为做这个报表可以用Session Report也可以用Easy Query Report。由于财务要求比较紧急,我就用了Query Report帮他们做的。
其实用Session写的话,就是定义一个Double类型变量或者直接用Domain来定义,然后在读取Routing Operation这张表的时候做一个循环乘积运算就行了,然后把结果输出到报表。我在用Query做的时候考虑到它的局限性,只能在Report里面写乘积循环的代码,而Query的主程序里面写所有有Routing Operation有效记录的制造件。
<br/>select<br/>tirou102.mitm<br/>from<br/>tirou102<br/>where<br/>tirou102.mitm >= tirou102.mitm.f<br/>and tirou102.mitm <= tirou102.mitm.t<br/>and tirou102.indt <= utc.num()<br/>and tirou102.exdt >= utc.num()<br/>group by tirou102.mitm<br/>
Report Script
<br/>|****************************** declaration section ***************************<br/><br/>declaration:<br/><br/> table ttirou102<br/> domain tcdate current.date<br/><br/>|**** Detail Section **********************************************************<br/>detail.1:<br/>before.layout:<br/>total.y.rate=1<br/>current.date = utc.num()<br/>select<br/>tirou102.yldp<br/>from<br/>tirou102<br/>where<br/>tirou102.mitm = :tirou102.mitm<br/>and tirou102.indt <= :current.date<br/>and tirou102.exdt >= :current.date<br/>selectdo<br/><br/>total.y.rate = total.y.rate*tirou102.yldp/100<br/><br/>selectempty<br/><br/>endselect<br/><br/>|**** End of Source ***********************************************************<br/>