抑制出现在不同组中的数据,保留最新的数据
Suppress data which appears in different groups, and keep the one with the latest date
我的报表需要对一组数据进行分组统计,当数据出现在不同的分组中,ID和TYPE相同但DATE和DECISION不同时,需要抑制非最新日期和总数不应包括被抑制的数据。你能帮我解决这个问题吗?
原始数据
ID TYPE DATE DECISION
1111 F 12/01/2016 Approved
1122 E 3/02/2016 Approved
1111 F 23/01/2016 Refused
1133 G 3/07/2016 Refused
在分组之前,我可以隐藏第一条不是最新日期的记录:
ID TYPE DATE DECISION
1122 E 3/02/2016 Approved
1111 F 23/01/2016 Refused
1133 G 3/07/2016 Refused
根据 DECISION 对数据进行分组后:
第 1 组 - 已批准
ID TYPE DATE DECISION
1111 F 12/01/2016 Approved
1122 E 3/02/2016 Approved
第 2 组 - 拒绝
ID TYPE DATE
1111 F 23/01/2016 Refused
1133 G 3/07/2016 Refused
ID 总数:4
预期结果:
第 1 组 - 已批准
ID TYPE DATE
1122 E 3/02/2016
第 2 组 - 拒绝
ID TYPE DATE
1111 F 23/01/2016
1133 G 3/07/2016
ID 总数:3
有几个选项 - 如果您不需要 Crystal 检索所有记录,最好的选项(从性能的角度来看)是使用自定义 SQL 命令。
Suppress Nonadjacent Duplicates in Report
如果这不是一个选项,或者您需要 crystal 来获得所有记录 (对于系统中发出的所有请求的总数 运行),你可以使用条件抑制,但你将无法通过保留当前分组来实现它。
请参阅此 post 以配置有条件的细节抑制。
有条件的详细信息抑制通过向组内的每条记录添加一个数字来实现。可以通过记录排序专家判断第1条记录是多少,如果记录数大于1则隐藏详情。
如果您首先按决策对报告进行分组,则此方法将不起作用,因为 ID 本质上是该决策的子集(因此,1111 将出现在两个决策组中)。
如果此报告的 objective 是获取汇总数据,则此方法会很好,因为您可以创建 运行 总计,在记录被“批准”或拒绝时计算记录,甚至不使用 Decision
上的任何分组
编辑:这个 运行 总数将计算所有记录(ID 1111 将被计算两次)。 SQL 命令是获得所需内容的最简洁的方法...另一种选择可能是使用变量。我研究一下。
我的报表需要对一组数据进行分组统计,当数据出现在不同的分组中,ID和TYPE相同但DATE和DECISION不同时,需要抑制非最新日期和总数不应包括被抑制的数据。你能帮我解决这个问题吗?
原始数据
ID TYPE DATE DECISION
1111 F 12/01/2016 Approved
1122 E 3/02/2016 Approved
1111 F 23/01/2016 Refused
1133 G 3/07/2016 Refused
在分组之前,我可以隐藏第一条不是最新日期的记录:
ID TYPE DATE DECISION
1122 E 3/02/2016 Approved
1111 F 23/01/2016 Refused
1133 G 3/07/2016 Refused
根据 DECISION 对数据进行分组后:
第 1 组 - 已批准
ID TYPE DATE DECISION
1111 F 12/01/2016 Approved
1122 E 3/02/2016 Approved
第 2 组 - 拒绝
ID TYPE DATE
1111 F 23/01/2016 Refused
1133 G 3/07/2016 Refused
ID 总数:4
预期结果:
第 1 组 - 已批准
ID TYPE DATE
1122 E 3/02/2016
第 2 组 - 拒绝
ID TYPE DATE
1111 F 23/01/2016
1133 G 3/07/2016
ID 总数:3
有几个选项 - 如果您不需要 Crystal 检索所有记录,最好的选项(从性能的角度来看)是使用自定义 SQL 命令。
Suppress Nonadjacent Duplicates in Report
如果这不是一个选项,或者您需要 crystal 来获得所有记录 (对于系统中发出的所有请求的总数 运行),你可以使用条件抑制,但你将无法通过保留当前分组来实现它。
请参阅此 post 以配置有条件的细节抑制。
有条件的详细信息抑制通过向组内的每条记录添加一个数字来实现。可以通过记录排序专家判断第1条记录是多少,如果记录数大于1则隐藏详情。
如果您首先按决策对报告进行分组,则此方法将不起作用,因为 ID 本质上是该决策的子集(因此,1111 将出现在两个决策组中)。
如果此报告的 objective 是获取汇总数据,则此方法会很好,因为您可以创建 运行 总计,在记录被“批准”或拒绝时计算记录,甚至不使用 Decision
上的任何分组编辑:这个 运行 总数将计算所有记录(ID 1111 将被计算两次)。 SQL 命令是获得所需内容的最简洁的方法...另一种选择可能是使用变量。我研究一下。