【问题标题】:Crystal Reports group sortingCrystal Reports 组排序
【发布时间】:2016-05-26 01:59:23
【问题描述】:

我有每个用户的航班数据记录。下表显示了一个用户 ID 的示例。我需要按具有最新航班日期的 user_id 进行分组(每个 user_id 只显示一行)。

当我添加按 user_id 分组时,结果报告显示正确的航班日期,但其余字段来自每个用户的最后一行(突出显示的字段)。如何让它显示最新的整行日期(在我的示例中为第 4 行)?谢谢!

【问题讨论】:

  • 您不想看到任何其他行 - 只是最新的,对吗? - 编辑;这只是一个排序问题吗?
  • 对。基本上,我想查看第 018 - 81 - 03/08/2017 - B 行

标签: sorting crystal-reports grouping


【解决方案1】:

如果您只想根据航班日期查看每个用户 ID 的最新记录,则有几个选项。最有效的方法是使用自定义 SQL 命令,但 Crystal 可以通过检索所有记录,然后隐藏您不想看到的记录来做到这一点。

1.按 USERID 对报表进行分组(报表 > 组专家 > 将 USERID 字段添加到组部分)

2. 按 FlightDate 对记录进行排序( Report > Sort Expert > Add FlightDate 并选择 Descending 注意:如果 FlightDate 不是日期,我们需要先创建一个公式将其转换为日期,否则 Crystal 会处理它作为字符串,12/2015 将高于 1/2016(例如)

3.创建一个运行总计来计算每个组中的记录数(这就是我们告诉 Crystal 禁止我们不想要的记录的方式) --右键点击右侧的“running Total”,选择New。随意命名;在 Field To Summarize 添加 FlightDate 下,将 summary 更改为 COUNT 将评估保留为“对于每条记录” 在重置下,选择 On Change of Group 并选择 USERID 的组

报告应如下所示

  1. 在 Section Expert 中,选择 Details 并单击“Suppress”旁边的公式按钮 输入公式{#RecountCount} > 1(或您的总成绩的任何名称)

现在您应该只看到每个用户的一条记录

【讨论】:

  • 非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多