交叉表的计算成员中的舍入问题

2020-08-15 19:33发布

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

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


我有一个带有计算所得成员的交叉表,可以创建平均值。 问题在于它总是四舍五入。 因此,如果平均值为3.8,它将显示为" 3"。 我希望将其舍入到小数点后一位。

但是,即使将字段格式更改为四舍五入到小数点后1位,它也只会加上零(3.0)。

我认为这可能与使用交叉表值(即"计数")的平均公式有关。

有人建议我如何更改此公式以解决此舍入问题? 谢谢!

本地号码var i; 本地号码var avg; 本地号码var cnt;

对于i:= 1到CurrentColumnIndex-1做(avg:= avg + GridValueAt(CurrentRowIndex,i,CurrentSummaryIndex); cnt:= cnt + 1;); (avg + GridValueAt(CurrentRowIndex,0,CurrentSummaryIndex))/(cnt + 1);

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

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


我有一个带有计算所得成员的交叉表,可以创建平均值。 问题在于它总是四舍五入。 因此,如果平均值为3.8,它将显示为" 3"。 我希望将其舍入到小数点后一位。

但是,即使将字段格式更改为四舍五入到小数点后1位,它也只会加上零(3.0)。

我认为这可能与使用交叉表值(即"计数")的平均公式有关。

有人建议我如何更改此公式以解决此舍入问题? 谢谢!

本地号码var i; 本地号码var avg; 本地号码var cnt;

对于i:= 1到CurrentColumnIndex-1做(avg:= avg + GridValueAt(CurrentRowIndex,i,CurrentSummaryIndex); cnt:= cnt + 1;); (avg + GridValueAt(CurrentRowIndex,0,CurrentSummaryIndex))/(cnt + 1);

付费偷看设置
发送
2条回答
callcenter油条
1楼 · 2020-08-15 19:52.采纳回答

嗨,谢丽尔,

您必须使用"显示字符串"公式。

1。 右键单击"平均"列的标题单元格>"计算所得成员">"编辑列值公式"。

顶部的注释文本将指示此列所需的数据类型。 如果显示日期时间,则使用以下公式:

 datetime(1890,01,01,00,00,00)

如果显示日期,则使用:

< pre> date(1890,01,01)

如果显示文字,请使用:

"平均" 

2。 右键单击计算列中的摘要值之一>计算成员>编辑计算公式>删除代码,然后输入0

3。 右键单击摘要单元格之一>格式字段>常用选项卡>单击"显示字符串"旁边的公式按钮,然后使用以下代码:

 IF year(GridRowColumnValue("字段用作交​​叉表列",CurrentColumnIndex  ))= 1890然后
 (
 本地号码
 本地号码var avg;
 本地号码var cnt;
 对于我:= 0到CurrentColumnIndex-1做
 (
 avg:= avg + tonumber(GridValueAt(CurrentRowIndex,i,CurrentSummaryIndex));
 cnt:= cnt + 1;
 );
 文本(avg/cnt,1)
 )
 其他
 totext(CurrentFieldValue,'#')

注意:用正确的数据库字段替换"用作交叉表列的字段"。 还要确保将其括在双引号中,而不要放在花括号中。

-阿比拉什

悻福寶寶
2楼-- · 2020-08-15 20:16

可以完美地工作!

再次感谢阿比拉什!

一周热门 更多>