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

2020-08-27 05:36发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好,我正在尝试使用两个Numb...

         点击此处--->   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
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

一周热门 更多>