2016-04-08 47 views
1

我有一個請求,我需要創建一個完整性報告,我在查看銷售數據並驗證付款條件在所有項目(行)上是否一致。SAP BO - 比較行之間的值並有條件地顯示

樣本數據:

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具有不同的術語的代碼。我需要檢測並在報告上顯示訂單101。正確

=If(Previous([Payment Terms Code])=[Payment Terms Code]) Then 0 Else 1 

而是着眼於訂單100線2.0,並將它標誌:

我看着在這樣的變量使用以前的運營商。

我不知道我該如何做到這一點,但也許使用IN運算符如何。建議?

回答

1

因此,您需要查看任何具有多個不同條款代碼的銷售訂單時,適當描述需求?如果是這樣,你可以做到這樣的:

創建一個新變量:
Terms Count =Count([Terms Code]) in ([Sales #])

這個對象添加到報表。您應該在100條記錄中看到「1」,在101條記錄中看到「2」。

最後,過濾器添加到上橫貫的報告計數> 1

1

Previous()函數的語法是:

Previous(dimension|measure|Self [;Row|col][;(reset_dims)][;offset][;NoNull]) 

第三個參數,reset_dims允許您指定的列表用於重置計算的尺寸。

因此,您的公式將被:

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

注:

  • 必須始終放在括號尺寸即使只有一個復位維度列表維度。
  • 當您指定一組重置尺寸時,必須用分號分隔它們