我是水晶报道的新手,所以我不知道该怎么做
如何使用此公式创建一个组:
在主报告中
if DistinctCount ({PROD.GROUP_ID}, {PROD.ID_NO})=1 then
//group by
PROD.GROUP_ID
else if DistinctCount ({PROD.GROUP_ID}, {PROD.ID_NO})>1 and
({PROD.GROUP_ID}=previous({PROD.GROUP_ID}) or
{PROD.GROUP_ID}=next({PROD.GROUP_ID})) then
//group by
PROD.DOC_ID
else
//group by
PROD.GROUP_ID
请帮助我,这是我在水晶报道中的新手,我需要做到这一点
我的主要报告中有这个:
在组头中,它由{PROD.GROUP_ID}组分组
Sub_Car
Sub_Airplane
我的一些子报告在按{PROD.GROUP_ID}分组时正在工作,而某些子报告在{PROD.DOC_ID}
分组时有效答案 0 :(得分:0)
你试图将分组的结果分组以重新组合,这是你编写公式的方式所不可能的,因为DistinctCount ({PROD.GROUP_ID}, {PROD.ID_NO})
本身就是分组的输出。
要实现此目的,您需要使用子报告并传递非重复计数以用作子报告中的分组。
转到另一部分group footer b
并将子报告放在那里并使用Change sub report links
将DistinctCount ({PROD.GROUP_ID}, {PROD.ID_NO})
传递给子报告
在子报告中,它将显示在参数字段中,{?DistinctCount ({PROD.GROUP_ID}, {PROD.ID_NO})}
现在将您的公式创建为@grouping
并写下以下代码:
if {?DistinctCount ({PROD.GROUP_ID}, {PROD.ID_NO})}=1 then
//group by
PROD.GROUP_ID
else if {?DistinctCount ({PROD.GROUP_ID}, {PROD.ID_NO})}>1 and
({PROD.GROUP_ID}=previous({PROD.GROUP_ID}) or
{PROD.GROUP_ID}=next({PROD.GROUP_ID})) then
//group by PROD.DOC_ID
else
//group by PROD.GROUP_ID
现在使用公式对子报表进行分组...如果您希望在主报表中显示数据或删除主报表的所有字段,只显示子报表