我正在尝试使用两个参数字段

2020-08-27 05:36发布

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

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


您好,我正在尝试使用两个Number类型参数字段来使用Crystal Reports来确定月份的日期范围。 该报告将一直工作到两个参数具有相同的月份为止。 底部的记录数正确,但没有显示在屏幕上。

这是我所拥有的:

参数字段:

BegMonth(类型:数值列表:静态)

EndMonth(类型:数值列表:静态)

我的值为:

1-1月

2月2日

3月3日

Under Value选项:允许离散值:True

正在报告->选择专家->报告

如果({{EMPLOYEE.DEPARTMENT} ="信息"

和ToNumber({@ MMBdate})> = ToNumber({?BegMonth})

和ToNumber({@ MMBdate})<= ToNumber({?EndMonth}))

然后是

否则为假

我要怎么做才能使报表中显示同一月的数据?

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

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


您好,我正在尝试使用两个Number类型参数字段来使用Crystal Reports来确定月份的日期范围。 该报告将一直工作到两个参数具有相同的月份为止。 底部的记录数正确,但没有显示在屏幕上。

这是我所拥有的:

参数字段:

BegMonth(类型:数值列表:静态)

EndMonth(类型:数值列表:静态)

我的值为:

1-1月

2月2日

3月3日

Under Value选项:允许离散值:True

正在报告->选择专家->报告

如果({{EMPLOYEE.DEPARTMENT} ="信息"

和ToNumber({@ MMBdate})> = ToNumber({?BegMonth})

和ToNumber({@ MMBdate})<= ToNumber({?EndMonth}))

然后是

否则为假

我要怎么做才能使报表中显示同一月的数据?

付费偷看设置
发送
2条回答
路亽曱_Ryan
1楼-- · 2020-08-27 05:45

请勿在Select Expert中使用" If"语句! 通常,Crystal无法将其转换为SQL并将其发送到数据库,因此它将所有数据带入内存并在那里进行过滤。

这可能会导致报告显着变慢。相反,我会执行以下操作:

({{EMPLOYEE.DEPARTMENT} =" INFOS"
 和ToNumber({@ MMBdate})在{?BegMonth}到{?EndMonth}中)
 

修改您的参数以使"类型"为数字而不是字符串,并提供"静态"值列表。 将月份数字放在值列中,将月份名称放在描述列中-这应该会自动为您提供所需的格式。

您不会显示{@MMBdate}公式是什么 这样做,但我可能还会尝试使用数据库所使用的语法中的SQL表达式从日期字段中将月份作为数字提取。 在Select Expert中使用Crystal公式(不是IsNull())可确保Crystal无法将选择条件发送到数据库,以进行更有效的处理。 但是,SQL表达式是由数据库评估的,因此在适当使用它们时,它们可以使您的报告更快。

如果您在创建SQL表达式时需要帮助,请告知我所使用的数据库类型,以及 还要发布{@MMBdate}的公式,以便我为您提供帮助。

-Dell

Alawn_Xu
2楼-- · 2020-08-27 05:42

我将{@MMBdate}公式更改为此:

 Month({PAEMPLOYEE.BIRTHDATE})

这将为您提供相同的结果,但处理较少。 更好的做法是创建一个SQL表达式,该表达式将使用SQL而不是Crystal公式返回生日的月份。 您没有说要连接到哪种数据库,但是如果是SQL Server,则表达式将为:

 Month(" PAEMPLOYEE"。" BIRTHDATE")

或 如果是Oracle,它将是:

提取(" PAEMPLOYEE"的月份。" BIRTHDATE")

您当前的SQL表达式无法满足您的需要,因为SQL表达式不是 打算像您一样用于完整查询。 我希望如果您从"选择专家"中剔除该部分,您将获得返回的数据。 但是,这不能满足您过滤掉这些状态的需要。 您可能最终不得不使用命令(SQL Select语句)为报表提供所有数据,而不是将表链接在一起。 有关如何执行此操作(包括如何为此设置参数)的信息,请参见此处的博客文章: https://blogs.sap.com/2015/04/01/best-practices-when-using-commands-with-crystal-reports/。 如果不确定如何编写查询,请转至数据库>>显示SQL查询,复制Crystal生成的查询,然后将其粘贴到此处,以便我为您提供帮助。 还请让我知道您要连接的数据库类型。

-Dell

一周热门 更多>