CrossTab报告中计算列的公式

2020-09-12 00:30发布

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

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


嗨,

我需要在交叉表报表中添加计算列。

我需要在每个季度中添加"计算变化百分比"列。 并且计算的列值基于最近两年(2018年和2017年动态列)的百分比比较。

我一直在尝试插入计算列,但是找不到适合这些列的公式。

(15.9 kB)

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

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


嗨,

我需要在交叉表报表中添加计算列。

我需要在每个季度中添加"计算变化百分比"列。 并且计算的列值基于最近两年(2018年和2017年动态列)的百分比比较。

我一直在尝试插入计算列,但是找不到适合这些列的公式。

(15.9 kB)
付费偷看设置
发送
3条回答
天桥码农
1楼 · 2020-09-12 00:35.采纳回答

嗨布凡,

1。 右键单击标题为"第一季度"的单元格>"计算所得成员">"插入子代"。 在year = 2015之后应插入一个新的空白列。

2。 右键单击此新列的空白标题单元格>计算所得成员>编辑插入公式>将代码修改为:

 GetColumnGroupIndexOf(CurrentColumnIndex)= 1 

3。 再次右键单击空白标题单元格>计算所得成员>编辑标题公式>键入:

"更改%" 

4。 右键单击此"更改%"列中的零值之一>计算所得成员>编辑计算公式>粘贴以下代码:

本地数字var i;
 本地号码更改;
 本地号码var cy;
 本地号码var py;
 对于i:= 0到CurrentColumnIndex
 (
     如果GridLabelAt(" Field_Used_as_the_first_Column",CurrentColumnIndex)= GridLabelAt(" Field_Used_as_the_first_Column",i),则
     (
          如果GridLabelAt(" Field_Used_as_the_second_Column",i)=年(当前日期),则
         (
             cy:= GridValueAt(CurrentRowIndex,i,CurrentSummaryIndex);
             py:= GridValueAt(CurrentRowIndex,i + 1,CurrentSummaryIndex);
         );
     );
 );
 如果cy = 0,则为0,否则
 更改:=(py-cy)%cy; 

//将Field_Used_as_the_first_Column替换为用作交叉表中第一列的数据库字段。 请注意,字段名称必须用双引号引起来,且不能像我的代码中那样使用大括号。 您还必须用正确的数据库字段(即交叉表列中的第二个字段)替换Field_Used_as_the_second_Column。

-Abhilash

N-Moskvin
2楼-- · 2020-09-12 00:47

谢谢,Abhilash。

它工作正常。

土豆飞人
3楼-- · 2020-09-12 00:36

如果您还希望在此"更改"列中显示数值的%符号,则需要执行以下操作:

1。 右键单击此更改列中的值之一>格式字段>数字选项卡>自定义>货币符号选项卡>选中"启用货币符号>选择"位置"为123 $>单击"货币符号"旁边的公式按钮并使用 这段代码:

如果GridLabelAt(" Field_Used_as_the_second_Column",CurrentColumnIndex)=" Change%",则为"%" else"" 

-Abhilash

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答