Crystal Reports-条件记录排序

2020-08-20 10:30发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试基于多个字段对报告记录进行排序,但不像字段A(升序,字段B-降序等)那么简单。我的记录具有字段"机器","故障","幅值"和 "日期"。 机器在特定日期出现一定程度的故障。 我想首先基于"幅值"(降序),然后基于"机器"(升序),"故障"(升序),然后基于"日期"(升序)进行排序。 但是,更重要的是,一台"机器"可能有多个"故障",并可能分配了不同的"幅值"。 我希望分配给同一台"机器"的所有"故障"都一个接一个地排序,即使"故障"是不同的"幅度"

例如,机器A的故障被分配为重要。 机器B有两个故障:严重和可忽略。 机器C的故障为严重。 机器D的故障被分配为无关紧要。 机器E有两个均指定为"重要"的故障。

正确的顺序是:

机器B-严重

机器B-无关紧要

机器C-严重

机器A-重要

机器E-重要1

机器E-重要2

机器D-无关紧要

从本质上讲,我希望基于"幅度"支持记录,但无论是否将相同"机器"的"幅度"都保留为"故障",

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试基于多个字段对报告记录进行排序,但不像字段A(升序,字段B-降序等)那么简单。我的记录具有字段"机器","故障","幅值"和 "日期"。 机器在特定日期出现一定程度的故障。 我想首先基于"幅值"(降序),然后基于"机器"(升序),"故障"(升序),然后基于"日期"(升序)进行排序。 但是,更重要的是,一台"机器"可能有多个"故障",并可能分配了不同的"幅值"。 我希望分配给同一台"机器"的所有"故障"都一个接一个地排序,即使"故障"是不同的"幅度"

例如,机器A的故障被分配为重要。 机器B有两个故障:严重和可忽略。 机器C的故障为严重。 机器D的故障被分配为无关紧要。 机器E有两个均指定为"重要"的故障。

正确的顺序是:

机器B-严重

机器B-无关紧要

机器C-严重

机器A-重要

机器E-重要1

机器E-重要2

机器D-无关紧要

从本质上讲,我希望基于"幅度"支持记录,但无论是否将相同"机器"的"幅度"都保留为"故障",

付费偷看设置
发送
4条回答
小c菟菟
1楼-- · 2020-08-20 11:30

我想到的唯一方法是使用Command(SQL Select语句)。 您的SQL技能如何? 如果您对构建查询有帮助,请转到"数据库"菜单,然后选择"显示SQL查询...",复制查询并将其粘贴到此处。 另外,请让我知道您要连接的数据库类型。

有关使用Commands的更多信息,请参见以下博客:https://blogs.sap.com/2015/04/01/best-practices-when-using-commands -with-crystal-reports/

-Dell

jovirus
2楼-- · 2020-08-20 11:30

嗨,

是因为机器B在机器之前出现是有原因的 C尽管都出现了"严重"故障?

这些故障值是否静态?

-阿比拉什

wang628962
3楼-- · 2020-08-20 11:22

好吗?这是您需要做的:

1。 在"机器"字段上插入一个组

2。 使用以下代码创建一个名为@sort的公式:

 SELECT {Fault_field}//用显示故障字符串的数据库字段或公式字段替换
 例'严重':1
 例'重大':2
 案例'无关紧要':3
 默认值:4 

3。 转到"插入摘要"选项>选择要进行聚合的@sort字段,并将其聚合函数设置为"最小"

4。 禁止CR放置在组页脚上的摘要字段

5。 转到"组排序专家">选择"计算机组"作为组以对ALL进行排序,然后根据@sort摘要字段以升序对它进行排序。

-Abhilash

何必丶何苦呢
4楼-- · 2020-08-20 11:20

* "基本上,我希望根据...来报告记录。"

机器B在机器C之前,因为机器将按升序(在幅值降序之后)并且两台机器都具有严重故障(幅值最高)。 所有字段均为静态。 严重幅度优先。 有四个幅度值,并且基于0-10。 7-10很严重。 4-7很重要。 1-3无关紧要。 <1是正常的。 出于参数考虑,"机器","故障"和"日期"具有无限值。

关键在于,无论故障幅度如何,机器故障都将分组在一起(这是因为我的客户不必在报告中进行搜索就可以找到同一台机器上的其他问题)。 但是,"数量级"是主要的排序字段,即,如果每台机器仅具有一个"故障/数量级",则报告排序将简单地为"数量级-降序"然后是"机器-升序"。

我忘了提到我正在使用Crystal Reports 8.5,这是必需的。 我也有CR 2016,但该报告需要在8.5中生成。

一周热门 更多>