Search
Search

Complex If else statement

A and B,B1,B2 are Key Figures

Condition 1:  A> B

Condition 2 : A< B

Condition 3:  A==B

Condition 4:  B=-B

Created a formula i.e CKF as  C.So formula should be like this below.But i am not getting the desired output.

(Condition==1) * NOERR (NODIV (  ( A/B ) ) )  * 30  + (Condition 2==1) * NOERR  ( NODIV(  ( ( A- B-B1)/B2 * 30 + 60) ) )  + (Condition3==1) * NOERR (NODIV( (A/B)))* 30 +

(Condition4==1) * 0

Result i want to get is :

If A is less than B i.e If Condition 1 then A/B multiply by 30 else if A is greater than B i.e  If Condition 2 then (A-B-B1/B2)*30+60 else if A is equals B i.e If Condition 3 then A/B multiply by 30 else if B`s value comes in negative i.e If Condition 4 then 0.

SVU 123replied

Whe you have complex IF ELSE Formulae...then BREAK them up into small peices so that you know where hte issue is..

CKF1 =(Condition==1) * NOERR (NODIV (  ( A/B ) ) )  * 30

CKF2=(Condition 2==1) * NOERR  ( NODIV(  ( ( A- B-B1)/B2 * 30 + 60) ) )

CKF3=(Condition3==1) * NOERR (NODIV( (A/B)))* 30

CKF4=(Condition4==1) * 0

CKF5=CKF1+CKF2+CKF3+CKF4.

For your own testing display all the CKFs.all 5 and during final Transport ... hide the CKF1/CKF2/CKF3/CKF4 and display CKF5

rgds

SVU

1 View this answer in context