2014-04-03 99 views
0

不确定如何分组报告,可以根据条件对事物进行不同的分组。这是场景。我有公司,政策号码和产品。有时一项政策可能涵盖多家公司,但有时一家公司可能有多项政策。Crystal Reports有条件分组

所以在政策覆盖超过一个公司第一种情况是这样的:

Policy > Company > Product 

在其他情况下,公司可以有多个策略就应该是这样的:

Company > Policy > Product 

如何解决这个问题的任何想法?

+0

总会有3个级别的分组吗? – craig

+0

是的,一项政策可能涵盖多家公司,但如果是这种情况,那么公司不会有多项政策,因此它始终是政策>公司>产品或公司>政策>产品。基本上它是如何运作的,就是小公司经常被分组在一起并且被一个政策覆盖,而一个大公司可能被分割以被多个政策覆盖。 –

回答

2
  • 创建一个参数,以允许一个人选择两个路径中的一个
  • 创建使用参数字段2个式字段中的数据库字段之间进行选择:
// {@level_1} 
Select {?grouping} 
Case "Policy > Company > Product": {table.policy} 
Case "Company > Policy > Product": {table.company} 
Default: {table.policy} 

// {@level_2} 
Select {?grouping} 
Case "Policy > Company > Product": {table.company} 
Case "Company > Policy > Product": {table.policy} 
Default: {table.company} 
  • 为每个配方字段创建一个组,并为产品字段创建一个组
+0

报告需要在单个报告中包含这两种类型的分组。基本上,我们有一家供应商,指定他们希望按政策编号查看他们的报告,而不管该政策是否涵盖多家公司或单个公司是否包含多项政策。这本身并不一定是一项艰巨的任务。我遇到的问题是试图在报告中获得他们想要的其他一些东西的总计。如果我按照政策将其分组为顶级组别,那么当政策处于较低级别时,我无法得到合适的总数 –

+0

在我如何处理此报告方面,我有很大的灵活性。这是一个导出的自动化报告,因此我可以选择将某些逻辑从报告中取出并放入存储过程中,或者通过C#有条件地向参数报告参数。 –

+0

我最终简化了报告,不需要公司分组,所以它只是政策>产品,而不再是问题,如果公司是在一个更高的组级别的政策。我会接受你的回答,因为这是一个很好的建议,可以帮助其他人。 –

0

实际上,有两种方法,数据显示为分类组, 说例如对于在政策覆盖超过一个公司

政策>公司>产品

第一种情况中你可以得到计数(*)记录,即没有。的公司不止一个在多个政策下可以创建公式,并基于哪个组可以插入到设计视图中。

另一种方法是拆分细节部分并根据需求通过条件(x2按钮)抑制不需要的部分。

类似的方法也可以使用子报告,但有点复杂的任务 但适用于这两种情况。