组是否可能水平堆叠而不是垂直堆叠?

2020-09-12 12:21发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在基于20个可能的条目的多项...

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

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


我正在基于20个可能的条目的多项选择字段来汇总报告。 我正在尝试显示几个月内的数字。 因此,我有一个公式可以解析响应中的每个条目,并为每个可能的答案创建20个条目。

这是一个例子:

 如果isull({return:reason})则为0
 否则,如果instr({return:reason}," Paint Chipping")> 0则为1
 否则0
  

每个事件都记录有报告日期。 我将约会分组,并为每个月设置了分组。

所以我的结果如下:

 本月油漆崩裂泄漏
 2018年5月2 4 5
 2018年6月1 4 0
 七月2018 0 1 2
  

在这里我使用了3个示例,但有二十个类别(大多数名称较长),即使在横向方向上也太多了。

有没有一种方法可以使组(实际上是整个报表)水平堆叠而不是垂直堆叠,所以我可以得到它

 原因原因2018年5月2018年6月2018年7月
 油漆剥落2 1 0
 泄漏4 4 1
 破碎5 0 2
  

其中一个参数是日期范围,并且不会超过一年的时间,因此我不会遇到与其他方向相同的情况。

我确实考虑过格式化字段,以便在报表仍以横向显示时可以纵向读取表格,但是这给我们的用户带来了痛苦,而且我们在软件中使用的报表查看器不允许您 改变方向。

我也尝试了交叉表,但是鉴于我有多个要放置在行中的字段并且所有这些字段都有空字段,因此交叉表会产生混乱。

这是可能的还是让我知道之后是否有另一种方式来获得我的帮助。

3条回答
半个程序猿
2020-09-12 12:47 .采纳回答

好吧,我想我已经弄清楚了。

为了获得所需的格式,您将必须使用Command,这是要获取的SQL Select语句 将数据转换为所需的格式。 这是必需的,因为任何给定的记录在同一字段中都可以具有多个原因代码,因此您需要将多个查询合并在一起,每个查询都在寻找一个原因代码。

" CHARINDEX"语法 如果您使用其他类型的数据库,则与Crystal" Instr"函数相同的功能可能会有所不同。 我在其中使用了" With"语句。 使用语句将数据作为临时游标一次拉入内存,您可以将其作为其他查询的基础,而不必为已与UNION连接的每个查询进入实际表。 这是一种更快的处理方式,但同样,它不适用于所有数据库类型。 我肯定知道它可以在SQL Server和Oracle中运行,而且我非常确定它可以在Sybase中运行。

您必须从报告中删除开始日期和结束日期参数,然后 将查询添加到命令时,在命令编辑器中创建它们。 在命令编辑器中创建的参数具有一些其他内部属性,这些属性是报表中创建的参数所不具有的,并且命令编辑器无法看到在报表中创建的参数。 保存命令后,参数将在报表的"字段资源管理器"中可用,以便您可以在报表中使用它们。 有关如何使用命令的更多信息,请参阅我的博客文章在此处

在您的报告中,创建一个交叉表,其中新的reasonName字段作为行,新的reviewMonth字段作为列,PatID的计数作为摘要 。

-Dell

一周热门 更多>

相关问答