Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SAP BO-比较行之间的值并有条件地显示_Sap_Business Objects - Fatal编程技术网

SAP BO-比较行之间的值并有条件地显示

SAP BO-比较行之间的值并有条件地显示,sap,business-objects,Sap,Business Objects,我有一个请求,我需要创建一个完整性报告,其中我查看销售数据并验证所有项目(行)的付款条件是否一致 样本数据: Sales # | Line # | Terms Code 100 | 1.0 | N90 100 | 2.0 | N90 101 | 1.0 | N60 101 | 2.0 | P45 101 | 3.0 | N60 请注意,在SO 101上,第2.0行具有不同的术语代码。我需要检测它,并且只在报告上显

我有一个请求,我需要创建一个完整性报告,其中我查看销售数据并验证所有项目(行)的付款条件是否一致

样本数据:

Sales # | Line # | Terms Code 
100     | 1.0    |  N90
100     | 2.0    |  N90
101     | 1.0    |  N60
101     | 2.0    |  P45
101     | 3.0    |  N60
请注意,在SO 101上,第2.0行具有不同的术语代码。我需要检测它,并且只在报告上显示order 101

我想在变量中使用前面的运算符,如下所示:

=If(Previous([Payment Terms Code])=[Payment Terms Code]) Then 0 Else 1
但这会导致订单100第2.0行的标记错误


我不知道如何才能做到这一点,但也许可以使用IN操作符。建议?

因此,当您需要查看具有多个不同术语代码的任何销售订单时,是否适合描述该要求?如果是这样,您可以这样完成:

=If(Previous([Payment Terms Code])=[Payment Terms Code]) Then 0 Else 1
创建新变量:
Terms Count=Count([Sales#])中的[Terms code])

将此对象添加到报告中。所有100条记录都应该看到“1”,101条记录应该看到“2”


最后,在Trans Count>1的报告中添加一个过滤器。

函数的语法是:

Previous(dimension|measure|Self [;Row|col][;(reset_dims)][;offset][;NoNull])
第三个参数,
reset_dims
允许您指定用于重置计算的尺寸列表的时间

因此,您的公式为:

Previous([Payment Terms Code]; ([Sales #];[Line #]))
注:

  • 即使重置标注列表中只有一个标注,也必须始终将标注放在括号中
  • 指定一组重置标注时,必须使用分号将其分隔开