cancel
Showing results for 
Search instead for 
Did you mean: 

Doubt regarding data functions of Bex query designer

teja_divya
Participant
0 Kudos

Hi BW Gurus,

I have a query in bex which is written like this

NODIM(NODIV0((NODIM(CKF) %A NODIM(CKF)))

what does this function does ?

Can you please help me to understand this with a simple example . Thanks in advance

Teja

Accepted Solutions (0)

Answers (2)

Answers (2)

surendra_p
Active Participant
0 Kudos

Hi Divya,

In SAP BW Bex Query desinger we have functions like NODIM(),NDIV0().

Here NIODIM() function means suppose we are doing calculations using keyfigures of type Amount or Quantity this are unit referenced objects like for amount 100INR(Here INR is attached with number 100) and Quantity 100KG .

So while doing calculation on this type of objects we will get an error becuase 100INR/200USD this is not possible to do it,So we have remove unit 1st then do the calculation for that we are using NODIM() function.

Similarly while dividing like a/b so here divide by 0 the value is undefined so to handle this situation we use NDIV0() function.

i hope this information is enough.

Regards

Surendra

teja_divya
Participant
0 Kudos

Thanks surendra for your response .Can you please explain how it performs the operation .

I mean the sequence . NODIM(NODIV0((NODIM(CKF) %A NODIM(CKF)))

which function gets executed first and which one gets executed next?

surendra_p
Active Participant
0 Kudos

Hi Divya,

In this  Formula - NODIM(NODIV0((NODIM(CKF) %A NODIM(CKF)))

step1: (NODIM(CKF) %A NODIM(CKF)) executes here in this it removes if there is any units like as for amount  INR,USD,CAD...if uses or for Qunatity units like KG,..... AND performs %A Operation.

In the above expression we can modify like this NODIV0(NODIM(CKF) %A NODIM(CKF)) is enough.

for reference please gothrough this link you will get some more information.

Data Functions - SAP Business Explorer - SAP Library

Regards

Surendra

Former Member
0 Kudos

Hi,

NODIM(NODIV0((NODIM(CKF) %A NODIM(CKF)))


1) (NODIM(CKF) %A NODIM(CKF))


this formula gets percentage (it works like this CKF/CKF*100), and NoDim is used, as inside CKF , there might be different column's which has currency/unit and other one might not! so using NoDim will ignore calculation on dimensions and compute only values.


note: both CKF's text might be same, but technical name would be different(you can cross verify that)



2)NODIV0((NODIM(CKF) %A NODIM(CKF))


if in case CKF (in bold) has zero value, system ignores the error (undefined value as :X) and replaces it with 0


3) NODIM(NODIV0((NODIM(CKF) %A NODIM(CKF)))


this is not required, as you are already applying no dim to both CKF's , however it isn't a harm, just additional NoDim for overall result.

teja_divya
Participant
0 Kudos

Hi Jyothi,

Thanks for  your explanation . I am clear now .Great help from your side !!

former_member226999
Contributor
0 Kudos

Looks like a empty query with no dimension or key figures. Are you able to open it? It could be a rrupt query.

teja_divya
Participant
0 Kudos

Sorry this is calculate key figure of a query