cancel
Showing results for 
Search instead for 
Did you mean: 

Universe

Former Member
0 Kudos

Hi All,

we have created a univ(IDT) from a cube using SAP BW --> realtional connection --> multi source universe.

In the newly created univ we have a dimension "G/L account". which has got some numeric values

say 10001,10002 ...50000.

The requirement is i have to create new dimensions or attributes based on "G/L account"

Ex:

Dimension A if the G/L account value between 10013 to 10033

Dimension B if the G/L account value between 30023 to 30045

is it possible. please help

i am on BO 4.1 Sp4 & BW7.3

Regards,

deshmukh

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Mark i have no idea whether MDX engine supports IF or CASE statements here.

Gurus - please help

Former Member
0 Kudos

Why don't you just try it?

Former Member
0 Kudos

Mark

i am not very sure how this is achieved. but below is the sample of what i tried

@select ("_D_IOFIGL_C10_0GLAccount."0GL_Account")

from "_D_I0FIGL_C10_0GL_ACCOUNT" where "_D_I0FIGL_C10_0GL_ACCOUNT"."0GL_ACCOUNT" between x and y


please correct me.

GL Account has got lot of values

we are creating dimensions using it.

if the values are between xx and yy it has to be created as Dimension A

if the values are between ww and hh it has to be created as Dimension B

please help

Former Member
0 Kudos

A case statement has the construct:

CASE

WHEN TABLE.COLUMN BETWEEN '100000' and '100333' THEN 'DIM A'

WHEN TABLE.COLUMN BETWEEN '100334' and '199999' THEN 'DIM B'

...........

ELSE 'DIM Z'

END

You can add whatever extra WHEN clauses you want.

I'd still say that it's easier to achieve at the BW level - I'd always push this sort of thing back to the database/data warehouse where possible and have a column for this value.

Former Member
0 Kudos

Hi Mark,

The G/L account formula is

@catalog('FIGL01')."PUBLIC"."I0FIGL_C10"."0GL_ACCOUNT" (automatically created by univ)

i used the above formula to create my new dimension A as stated below.

SELECT: @catalog('FIGL01')."PUBLIC"."I0FIGL_C10"."0GL_ACCOUNT"

WHERE: @Select(FGL01\Accounts\G/L Account) BETWEEN '100' AND '99'

it worked. Anyways thanq for your interest towards helping me.

Former Member
0 Kudos

The only problem that I can see with that is if you use Dimension A and Dimension B in the same query, the where clauses will cancel each other out and you will return no data.

Former Member
0 Kudos

I'd create it at the BW layer - that way it's usable at all levels of the reporting chain.

Former Member
0 Kudos

Hi Mark,

Thank you for your suggestion.

But i was asked to create it at universe level.

Is it possible? what are the pros & cons of doing it at univ level.

Please reply

Former Member
0 Kudos

I know you were but I've always found issues with creating extra bits at the universe level with BW when it's not simple string manipulations. Does BW's MDX engine support if or case statements because that's what's needed here