Crystal Report - 两个详细信息部分,每个部分显示自己的数据子集

时间:2013-09-16 14:55:04

标签: crystal-reports

是否可以使用包含两个详细信息部分的Crystal Report,每个部分都显示报告链接到SP的结果的子集?

例如在DetailA中,我想要记录其中FieldA在(a,b,c)和DetailB中的记录,其中FieldA在(d,e,f)中的记录

我知道可以使用Select Expert但这似乎适用于整个报告,而不是每个单独的详细信息部分

如果我不需要创建公式会很好,因为详细信息部分中有大约20个字段。是否有某种主公式可以作为一个整体应用于细节部分?

2 个答案:

答案 0 :(得分:4)

您可以通过以您想要的方式设置两个“详细信息”部分并放置要在每个部分中显示的所有记录字段来完成此操作。然后,为每个“详细信息”部分添加抑制公式。右键单击该部分,选择“Section Expert”,然后单击“Suppress(No Drill-Down)”旁边的公式按钮,可以访问每个部分的抑制公式

详细信息A部分:not({table.fieldA} in ['a','b','c'])

详细信息B部分:not({table.fieldA} in ['d','e','f'])

现在,您的详细信息A部分仅在记录为a,b或c类型时显示,而详细信息B部分仅在记录为d,e或f类型时显示。

答案 1 :(得分:2)

虽然Ryan的方法可行,但最好添加到它并按公式字段分组:

if {table.fieldA} In ['a','b','c'] then
    'Group 1'
else
    'Group 2'#

然后添加抑制公式以获取详细信息A& B为:

{@MyGroup} = 'Group 2'{@MyGroup} = 'Group 1'

这有三个好处:

  • 它会自动将两个部分分为第1组和第2组
  • 它只会显示一个或另一个,并且总是显示一个,Ryan的方法可以隐藏可能导致问题的意外细节
  • 由于您没有在不同的部分保留不同的列表,因此维护起来要容易得多