如何按一个字段分组并使用Crystal Report按另一个字段排序

时间:2015-08-03 10:52:46

标签: sorting crystal-reports

我想按一个字段分组,并使用Crystal Report按另一个字段排序。

例如:Group A PO Number(排序ASC)。对于每个采购订单编号,都有一个名称,我希望按Name_x排序。

我尝试使用Record sort Expert添加字段,或者我使用Name_x创建了一个新组,然后按新字段排序,但它不起作用。

PO_1         Name_4
PO_2         Name_2
PO_3         Name_3
PO_4         Name_1
PO_5         Name_7
PO_6         Name_6

结果必须是:

Name_1       PO_4
Name_2       PO_1
Name_3       PO_1
Name_4       PO_1
Name_6       PO_6
Name_7       PO_5

3 个答案:

答案 0 :(得分:6)

我找到了如下解决方案,效果非常好。如果您有任何想法,请告诉我。

解决方案:我们将在每个组中创建可用于排序功能的摘要。

  • 第1步:在详细信息部分插入新的部分。
  • 步骤2:拖动或添加要用于排序的字段到详细信息部分 报告。将这些字段格式化为Suppressed。
  • 步骤3:右键单击任何字段,为每个字段插入摘要(INSERT | SUMMARY或单击sigma),使用MAX值作为摘要,并为每个部分插入一个Group Footer(Not报告页脚)。对要用于排序的所有字段重复上述操作。
  • 步骤4:同样,您可以选择添加单独的组页脚部分并使用“如果空白部分抑制”或“抑制”
  • 步骤5:使用REPORT | GROUP SORT EXPERT用新MAX值(ASC或DESC)选择排序参数。
  • 步骤6:如果有必要,请删除组或详细信息。

答案 1 :(得分:3)

我想建议一个简单的解决方案: -

  • 只需在GroupExpert中添加另一个组,即名称也按名称对报告进行分组
  • 然后通过转到GroupExpert-> Option
  • 按名称对报告进行排序
  • 隐藏或取消新添加的群组'姓名'在报告中 这就是......

答案 2 :(得分:0)

你的问题没有任何意义......如果你有一个PO编号只有(唯一)名称为什么然后按一个属性分组并按另一个属性排序?你有1:1的关系,这意味着如果你按照PO分组,那么你会得到结果:

PO_1         Name_4
P0_2         Name_2

如果按名称分组,则获得:

Name_1       PO_4
Name_2       PO_1

就是这样......你按照要排序的属性进行分组。如果你有1:N的关系,那么整个问题可以通过另一种方式解决,但这对这个问题并不重要。您的“抑制”字段的解决方案也可以工作,但速度较慢,因为您首先按某个属性进行分组,然后抑制细节,然后计算它的总和等等...此解决方案更加简单