CDS视图中的算术运算问题。

2020-08-19 12:50发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在尝试在另一个CDS...

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

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


嗨,

我正在尝试在另一个CDS视图中添加一个CDS视图的两个字段。 如果任何操作数为零,我将得到零作为输出。

在第一个CDS中,我将求和字段的SUM作为

 @DefaultAggregation:#SUM
  sum(total.tmp_count)作为总数,
  @DefaultAggregation:#SUM
  sum(blank.tmp_count)为空白,
  @DefaultAggregation:#SUM
  sum(error.tmp_count)作为错误

在第二个CDS中,我将字段Total和error添加为

总计,
 错误,
 总计+错误为Total_error
 

,输出为

因此,如果任何操作数(错误/总计)为零,我的输出(总计错误)将为零。

我也尝试了以下情况

  1. 将第一个CDS中的SUM值转换为整数。
  2. 添加前铸造错误和总计为整数。
  3. 将case语句放入错误以检查其是否为零,如果为零,则应仅显示总数,否则显示总数+错误。
  4. 在case语句中,它不接受NULL或'0'。

在所有这些情况下,我都得到相同的输出。

任何输入都会受到赞赏。

(3.6 kB)
10条回答
四川大学会员
2020-08-19 13:11

我怀疑您是从左外部联接获取"错误"列? 如果是这样,则在未找到满足记录的记录时,结果为NULL。 ANY VALUE + NULL =零的计算。 这就是在这种情况下"总错误"列为零的原因。

更改算术运算
总计+错误为Total_error 

当错误不为null时,则总计+错误

 否则总计结束为Total_error 

希望有帮助。

一周热门 更多>