繁体   English   中英

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

[英]How to group by one field and sort by another field with Crystal Report

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

例如: Group APO Number (按ASC排序)。 对于每个PO号,都有一个名称,我想按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

我发现以下解决方案,并且效果很好。 如果您有任何想法请告诉我。

解决方案:我们将在每个组中创建汇总,以用于排序功能。

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

我想提出一个简单的解决方案:

  • 只需在GroupExpert中添加另一个组,即Name即可按Name将报告分组
  • 然后通过转到GroupExpert-> Option通过名称对报告进行排序
  • 隐藏或隐藏报告中新添加的组“名称”。

您的问题没有任何意义...如果您有一个仅具有(唯一)名称的PO号,为什么要按一个属性分组并按另一个属性排序? 您具有1:1关系,这意味着如果按PO分组,则会得到结果:

PO_1         Name_4
P0_2         Name_2

如果按名称分组,则会得到:

Name_1       PO_4
Name_2       PO_1

就是这样...您将要分类的属性分组。 如果您具有关系1:N,则可以用另一种方法解决整个问题,但这对这个问题并不重要。 您使用“抑制”字段的解决方案也可以工作,但它的速度较慢,因为您首先按某个属性分组,然后抑制细节,然后计算其总和,等等。此解决方案非常简单

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM