BODS中的上一行值

2020-09-01 22:39发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好, 我正面临一个场景,其中...

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

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


您好,

我正面临一个场景,其中当行号不等于1时,我需要在"数量"列中覆盖该值。

公式将为:如果行号不等于1,则数量-数量。数量将为前一行的值。我使用了前一行的值函数,但没有运气。请帮助我。

ifthenelse(Query_2.ROW_NO = 1,Query_2.Quantity,previous_row_value(Query_2.Quantity)-Query_2.MENGE)

预期的回答是147-10,即137。

(12.1 kB)
8条回答
路亽曱_Ryan
2020-09-01 22:41

previous_row_value()函数的确会记住该函数先前执行的值。 通过在ifthenelse()中调用它,不会为ROW_NO = 1执行该函数,因此在ROW_NO = 2中具有值

我从没考虑过这种情况,因此不确定。 但这提供了无数的可能性。

解决方案很简单:在Query_2(此查询的输入)中,添加带有映射previous_row_value(Quantity)的列PREV_Quantity。 现在,该函数将针对每一行执行。

 ifthenelse(Query_2.ROW_NO = 1,Query_2.Quantity,Query_2.PREV_Quantity-Query_2.MENGE)

一周热门 更多>