嗨,我是堆叠溢出的新手,我在水晶报告中遇到了问题。
提前谢谢
我从
等数据库获取输出Name Qty Rate Amount Mango ice cream 1 100 100 Chocobar 1 150 150 Zulubar 1 50 50 Chocolate cone 1 50 50 Kulfi 1 100 100 ABC 1 100 100 XYZ 1 50 50 Total:- 600
现在我要做的是合并前三个raw并拆分第三个raw。 我希望输出看起来像这样
Name Amount Mango ice creame, Chocobar, Zulubar 300 Chocolate cone, Kulfi, ABC 250 XYZ 50 Total:- 600
我该怎么做?
答案 0 :(得分:0)
假设您的要求是静态的,并且不涉及动态。请遵循以下流程:
创建3个详细信息部分,detailA
,detail B
和detail C
创建公式@First
将其详细放置A.
Local Numbervar var_Mango_ice_creame;
Local Numbervar var_Chocobar;
Local Numbervar var_Zulubar;
Shared Numbervar total;
if Name='Mango ice creame'
then var_Mango_ice_creame:= Amount;
if Name='Chocobar'
then var_Chocobar:= Amount;
if Name='Zulubar'
then var_Zulubar:= Amount;
total:=total+var_Mango_ice_creame+var_Chocobar+var_Zulubar;
var_Mango_ice_creame+var_Chocobar+var_Zulubar;
同样创建第二个公式@second
将其放入Detail2
Local Numbervar var_Chocolate cone;
Local Numbervar var_Kulfi;
Local Numbervar var_ABC;
Shared Numbervar total;
if Name='Chocolate cone'
then var_Chocolate cone:= Amount;
if Name='Kulfi'
then var_Kulfi:= Amount;
if Name='ABC'
then var_ABC:= Amount;
total:=total+var_Chocolate cone+var_Kulfi+var_ABC;
var_Chocolate cone+var_Kulfi+var_ABC;
创建第3个公式@Third
将其放入详细信息C
Local Numbervar var_XYZ;
Shared Numbervar total;
if Name='XYZ'
then var_XYZ:= Amount;
total:=total+var_XYZ;
var_XYZ;
创建第4个公式Display
并放入报告页脚。
Shared Numbervar total;
total;
答案 1 :(得分:0)
创建一个用于分组目的的公式字段:
// {@grouper}
Ceiling(RecordNumber/3)
在此字段上添加一个组。
创建一个手动,运行总计字段:
// {@reset}
// place in group header; suppress
WhilePrintingRecords;
Stringvar Array reset;
Stringvar Array values;
values := reset;
// {@increment}
// place in details; suppress
WhilePrintingRecords;
Stringvar Array values;
Redim Preserve values[Ubound(values)+1];
values[Ubound(values)] := {table.name_field};
// {@display}
// place in group footer
WhilePrintingRecords;
Stringvar Array values;
Join(values, ", ");