按记录值选择组,但在Crystal Reports 2008中显示整个组

时间:2011-12-28 18:04:18

标签: crystal-reports grouping crystal-reports-2008

我环顾四周,似乎找不到能够回答或解决这个问题的问题。基本上问题就是这样,我们有一份报告,我们正在尝试编写,它显示了单个SKU的价格中断,并计算每次价格突破时的保证金。问题是我们为某些SKU提供了多个供应商,因此在某些情况下,如果从供应商a购买,价格中断是有利可图的,如果从供应商b购买则有损失,在某些情况下只有一个价格水平。我想做的是选择组(在这种情况下是SKU)它是否有一个具有低边距的记录,但我希望它显示组中的所有记录而不是抑制它们。 / p>

在这个例子中,有一个供应商的价格突破小于25%保证金,而第二个不是,我希望选择这个组,因为它有一个保证金低于.25的记录,但是我希望其余的记录继续显示:

enter image description here

这是原始图片的链接:

http://i.stack.imgur.com/3Xc4W.png

进一步的例子:

enter image description here

(来自http://i.minus.com/ibbFXxjusemO5N.PNG

1 个答案:

答案 0 :(得分:1)

这里唯一的问题是我不知道保证金字段的名称 - 我将把它称为{table.Margin}。

  • 右键单击Margin字段并选择Format Field ...选项。
  • 在“格式编辑器”对话框中选择“边框”选项卡,然后单击背景颜色的公式按钮(x-2)。
  • 输入如下公式:If {table.Margin} < 0.25 Then crRed
  • 单击“保存”并从“格式公式编辑器”对话框中关闭。
  • 在“格式编辑器”对话框中单击“确定”。

如果您预览报告,现在应以红色突出显示低于0.25的边距值。

编辑:要选择价格等级组中至少有一个记录的保证金低于0.25的所有记录,请尝试以下操作:

  • 进入“组选择公式编辑器”对话框(通过“选择专家”,或直接从“报表”菜单&gt;“选择公式”&gt;“组”选项)。
  • 输入新的公式,例如Minimum ({table.Margin}, {table.PriceTier}) < 0.25
  • 单击“保存”并从“组选择公式编辑器”对话框中关闭(如果需要,可以选择“选择专家”)。

预览时,报告现在应仅显示至少有一个保证金值低于0.25的价格等级组。