使用Command SQL根据报告数据设置值

2020-09-03 02:56发布

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

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


我正在尝试使字段动态化,并基于报表中的另一个字段。

我执行了一条命令sql,并将字段拉到了报表中。 我认为查询是正确的,但是我仍然没有获得正确的数据。

这是命令sql:

SELECT DISTINCT PROCESS_UNIT.DESCRIPTION

从PROCESS_UNIT内部联接示例

在PROCESS_UNIT.NAME = SAMPLE.PROCESS_UNIT

WHERE SAMPLE.PROCESS_UNIT = SAMPLE.PROCESS_UNIT

SAMPLE.PROCESS_UNIT是报告中的一个字段,我需要获取该字段的值,然后使用它提供PROCESS_UNIT.DESCRIPTION。

似乎sql命令未使用报告中的SAMPLE.PROCESS_UNIT值?

我不明白什么?

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

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


我正在尝试使字段动态化,并基于报表中的另一个字段。

我执行了一条命令sql,并将字段拉到了报表中。 我认为查询是正确的,但是我仍然没有获得正确的数据。

这是命令sql:

SELECT DISTINCT PROCESS_UNIT.DESCRIPTION

从PROCESS_UNIT内部联接示例

在PROCESS_UNIT.NAME = SAMPLE.PROCESS_UNIT

WHERE SAMPLE.PROCESS_UNIT = SAMPLE.PROCESS_UNIT

SAMPLE.PROCESS_UNIT是报告中的一个字段,我需要获取该字段的值,然后使用它提供PROCESS_UNIT.DESCRIPTION。

似乎sql命令未使用报告中的SAMPLE.PROCESS_UNIT值?

我不明白什么?

付费偷看设置
发送
6条回答
土豆飞人
1楼-- · 2020-09-03 03:11

您不能使用这样的命令。 如果要使用命令,则该命令需要提取报告的所有数据,这样您将拥有获取此值所需的数据。 有关如何使用命令的更多信息,请参见此处的博客文章:https://blogs.sap.com/2015/04/01/best-practices-when-using-commands-with-crystal-reports/

-Dell

半个程序猿
2楼-- · 2020-09-03 03:17

我无法获得提供正确答案的子报表。 根据主报告中的SAMPLE.PROCESS_UNIT字段,它似乎没有变化。 这是参数{?Unit}

CJones
3楼-- · 2020-09-03 03:13

感谢您的回答,但我仍然不明白您在说什么。 我读了您的博客,但它并没有特别帮助我了解如何根据需要使用命令sql。

是否可以告诉我要使用的语法?

Violet凡
4楼-- · 2020-09-03 03:17

有人可以给我一个简单的示例,说明如何使用带where子句参数的sql命令。 报告吗?

SELECT DISTINCT PROCESS_UNIT.DESCRIPTION

从PROCESS_UNIT内部联接示例

在PROCESS_UNIT.NAME = SAMPLE.PROCESS_UNIT

WHERE SAMPLE.PROCESS_UNIT = SAMPLE.PROCESS_UNIT,这就是我要从报告中获取的部分。

小熊yu生菜
5楼-- · 2020-09-03 03:21

您好杰夫 ,

为什么不能使用返回报表数据的SQL并使用简单的Join也返回说明?

您可以将报表中字段的值传递给 命令SQL,但是,您需要使用子报表。 在这种情况下,您可以添加包含以下命令SQL的子报表:

 SELECT DISTINCT
 PROCESS_UNIT.DESCRIPTION
 来自PROCESS_UNIT
 WHERE PROCESS_UNIT.NAME = {?Unit} 

{?Unit}是您需要在Command SQL中设置的参数(与"名称"字段的数据类型相同)。

然后将这个子报表放置在主报表上的处理单元旁边>右键单击子报表>选择更改子报表链接>将单元名称字段移到右侧窗格>选择{?Unit}参数字段 从读取"要使用的子报表参数字段"的下拉列表中

,这类似于在返回说明的表中建立简单的联接,但是由于额外的查询,最终可能会很慢

-Abhilash

wang628962
6楼-- · 2020-09-03 03:24

嗨杰夫,

您需要在" process_unit"字段上进行链接 而不是"说明"字段。

-Abhilash

一周热门 更多>