点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)尊敬的SAP顾问 我试图在CD...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)尊敬的SAP顾问 我试图在CD...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
尊敬的SAP顾问
我试图在CDS视图中使用'@DefaultAggregation:#FORMULA'聚合,但是我无法使其工作。
业务需求如下:我们有定购数量和已售数量,并且必须提供已售商品中所占数量的百分比。
对于订购数量和售出数量,我使用了" @DefaultAggregation:#SUM",对于计算列,我使用了以下摘自另一篇文章的代码段:
@ Aggregation.default:#FORMULA @ AnalyticsDetails.query.formula:'NDIV0(QtaSold/QtaOrdered)* 100' @ AnalyticsDetails.query.decimals:2 1作为百分比
在测试CDS时,对于计算所得的列,我在整个输出中得到了'1'。
您能告诉我我想念什么吗?
如您的定义所说
毫不奇怪,您在所有行中看到1
@AnalyticsDetails的文档。 说:
此批注允许您指定公式表达式,该表达式不能表示为SQL公式(视图元素列表中需要的操作数)。 只能将数值(度量)用作操作数。
范围:#ELEMEN
评估运行时(引擎):此注释将由分析管理器解释为公式。
对于不通过分析管理器的查询,不会评估注释的公式-您以哪种方式测试视图?
您可以将公式移至SQL表达式并删除@ AnalyticsDetails.query.formula批注-然后,您当然需要将除数处理为零。 最好的方法可能是在两个分支的QtaOrdered字段上具有WHERE条件的UNION ALL(一个分支WHERE QtaOrdered <> 0和另一个WHERE QtoOrdered = 0)
一周热门 更多>