从公式字段创建饼图

2020-08-31 06:42发布

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

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


我在公式字段中有2组数据,一组是数据的标签列表,另一组是从各个子报表收集的数据。 他们看起来像这样:

//标签
 ['标签1','标签2','标签3','标签4']; 
//数据
 [9,14,20,5]; 

我想将它们显示在饼图中,其中每个切片与数据的比例均与相应标签所标记的数据之和成比例。 我尝试过的任何方法都无法使图表显示出来。

例如,我尝试对标签公式设置"更改时",对数据公式设置"显示值",并进行以下更改:

//标签
 ['Label 1','Label 2','Label 3','Label 4'] [recordNumber]; 
//数据
 [9,14,20,5] [recordNumber]; 

但这并没有导致任何结果。 显然,我缺少明显的东西,但是我不确定是什么。

如何正确显示此数据?

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

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


我在公式字段中有2组数据,一组是数据的标签列表,另一组是从各个子报表收集的数据。 他们看起来像这样:

//标签
 ['标签1','标签2','标签3','标签4']; 
//数据
 [9,14,20,5]; 

我想将它们显示在饼图中,其中每个切片与数据的比例均与相应标签所标记的数据之和成比例。 我尝试过的任何方法都无法使图表显示出来。

例如,我尝试对标签公式设置"更改时",对数据公式设置"显示值",并进行以下更改:

//标签
 ['Label 1','Label 2','Label 3','Label 4'] [recordNumber]; 
//数据
 [9,14,20,5] [recordNumber]; 

但这并没有导致任何结果。 显然,我缺少明显的东西,但是我不确定是什么。

如何正确显示此数据?

付费偷看设置
发送
5条回答
渐行渐远_HoldOn
1楼-- · 2020-08-31 07:30

这是一种解决方法:

1。 在同一公式或另一个公式中,将"值"列表转换为以逗号分隔的字符串。

2。 创建一个新的子报表,该子报表指向与其他数据库相同的数据库。 使用自定义SQL查询作为其源。

为该子报表设置数据库时,选择"添加命令"并编写一个自定义sql,以使其返回标签列表。 您可能需要返回更多标签。 对于SQL Server,它看起来像这样:

从某表中选择"标签1"作为标签
 全联盟
 从某个表中选择"标签2"作为标签
 全联盟
 从某个表中选择"标签3"作为标签
 全联盟
 从某个表中选择"标签4"作为标签
 全联盟
 从某个表中选择"标签5"作为标签
 全联盟
 从某个表中选择"标签6"作为标签

对于其他数据库,这也应该大体相同。

3。 返回主报表>右键单击子报表>选择"更改子报表链接">将标签列表公式移至右侧窗格,然后取消选择"根据字段选择子报表中的数据"

4。 对值列表公式重复步骤3(该值应该像标签一样是字符串)

5。 编辑子报表>转到记录选择公式>键入以下代码:

 {Command.Label} IN Split({?Pm- @ Labels},",")

//其中{Command.Label}是Command SQL的字段,而@Labels是从主报表传递的公式字段

6。 使用以下代码在子报表中创建一个名为@pievalues的公式:

 WhileReadingRecords;
 numbervar x:= x + 1;
 tonumber(Split({?Pm- @ Values},",")[x]); 

//,其中@values是从主报告传递的值列表公式

7 插入一个饼图。 将汇总功能设置为"不汇总",将"标签"字段用作" On Change of",将" @pievalues"公式用作" Show Values"。

8。 抑制子报表中的其他部分。

我希望这会有所帮助。

-Abhilash

DafaDDDa
2楼-- · 2020-08-31 07:24

该列表是否总是包含4个值?

-Abhilash

小熊yu生菜
3楼-- · 2020-08-31 07:44

在这种情况下,是的。 我们还有其他一些报告,可能包含更多报告,但将遵循相同的一般思想,即在子报告中生成值并具有预先确定的标签字符串列表。

葫芦娃快救爷爷
4楼-- · 2020-08-31 07:30

您 需要使用自定义SQL中的"标签"字段替换{Command.Label}。

如果打开公式编辑器,则应在"报告字段"窗格下看到该字段,如果 双击该字段,应将其添加到公式中。

-Abhilash

CJones
5楼-- · 2020-08-31 07:43

我当前正在尝试执行此操作,但是在步骤5上出现错误 在子报表公式工作室中,{Command.Label}未知。 我错过了什么吗?

一周热门 更多>