2010-09-02 55 views
5

我有一个水晶报表,其报表参数可以是1到100之间的一个值。 如果该值小于50,我需要按照CustomerID进行分组。如果该值大于50,我需要按OrderID进行分组。动态分组水晶报表9

我一直在网上搜索如何做到这一点,我遇到了几个链接,说这可以通过公式完成。因此,公式里面我有:

if {ReportParameter} < 50 then 
    {TableName.CustomerID} 
else 
    {TableName.OrderID} 

我创建了一个组手动认为正确通过数据进行筛选,,但是当我拖动公式为分组类别,它不是为我工作。

有没有额外的一步我失踪?

+1

几个问题:当你说你“手动创建一个组”时,你的意思是你刚刚插入了{TableName.CustomerID}和{TableName.OrderID}组?当你试图用这个公式进行分组时,当你说“它不工作”时,你的意思是什么? – Ryan 2010-09-02 19:13:33

+0

是的,我插入组(插入>组),看看我是否可以成功地分组数据,并且工作。因此,我从组部分中删除了该标签,并尝试在其中放置一个公式,但这不适用。 – coson 2010-09-02 19:26:11

+0

我没有看到使用该公式进行分组的任何问题。这不起作用,因为记录根本没有分组?当你这样做时,什么显示为组名? – Ryan 2010-09-02 19:31:48

回答

1

OK,这里是我是如何结束这样做:

我定义的公式,但我没有,群链接到公式。所以我回到了组页眉>更改组>更改组选项>选项选项卡

并指出我的公式的名称,它的工作。

我认为通过将公式添加到组页眉,CR会自动将我的公式与组页眉联系起来。 DOH!

0

有几种方法对我来说,解决这个一个...

  1. 如果我正确理解你的后续的评论,你所做的一切是更改组的显示名称,你没实际上改变了分组。我自己试过这个,只是为了确定,这就是我看起来的样子。

  2. 二,(有人纠正我,如果我错了), 你不能在公式上组。我也在CR2010中尝试过这种方式,但无法做到这一点。 编辑划伤,瑞安是对的,我错了。)

  3. 我建议使用报告 - >集团专家,看看是哪里分组。默认情况下,它也应该在你的工具栏上。

我能想到的2种方式建立您的报告中,这将使这个问题无效:

  1. 让2个独立的报告,1为每个视图。将选择条件适当

OR

  1. 让1个主报告。设置你的组,页面,并在这里报告页眉&页脚。在数据进入Crystal之前,创建一个字段以充当您的“索引”(可能使用您列出的公式)并对其进行分组。
  2. 创建2个详细信息小节。如果您想更改组的标签,只需将公式字段拖放到您的组标题上即可。
  3. 如果{ReportParameter} <抑制第一小节50.在那里创建一个子报告并按{OrderID}对该子报告进行分组。
  4. 如果{ReportParameter}> 50,则取消第二小节。在那里创建一个子报告并按{CustomerID}对该子报告进行分组。
+1

我经常在公式上分组。我的大多数报告都包含一些灵活的分组,这些分组允许用户准确指定coson试图完成的内容......也就是说,基于该字段的参数组,否则按照该其他字段进行分组。我已经在XI和2008中都做到了这一点,没有任何问题。 – Ryan 2010-09-02 20:52:01

+0

谢谢。我相应地改变了我的答案。我不知道我为什么这么想。 – PowerUser 2010-09-02 21:33:42

+0

为了我自己的知识,你能定义“灵活组”吗?不熟悉这个词。 – PowerUser 2010-09-02 21:35:31