Hello,
I'm beginner in TM1 things, so could you give me some ideas for starting. My question is, what is the best practise to create allocations (like a-tables in Cognos Planning)?
For example I have a TI process for getting ODBC data from DWH. There are detailed product data with product ID-s and the target cube has limited number of rows, where data goes. And the allocation is like:
id1, id2, id23 -> product group 1 row
id10, id4, id44, id22 ->product group 2 row
etc.
Lets assume that the list of products increases in time and next month I have 20-30 more products to track. Is there a way to determine easily, which rows are new and update allocation descriptions? In Cognos Planning there is a d-link option "dump items".
So any help is welcome.
ylr
Allocation table?
-
- Posts: 40
- Joined: Fri Jan 29, 2010 1:55 am
- OLAP Product: Cognos TM1
- Version: 9.5
- Excel Version: 2007
- Contact:
Re: Allocation table?
you can use the DIMIX function to check id element exists in the product dimension
Code: Select all
IF(DIMIX('Product', id1) = 0);
DIMENSIONELEMENTINSERT('Product' ....
ENDIF;
- Martin Ryan
- Site Admin
- Posts: 2003
- Joined: Sat May 10, 2008 9:08 am
- OLAP Product: TM1
- Version: 10.1
- Excel Version: 2010
- Location: Wellington, New Zealand
- Contact:
Re: Allocation table?
Not entirely sure I understand what you're trying to do, but the dimix function mentioned above does seem like it would help you a lot. As you mention updating descriptions you might also be interested in "attrputs" and attributes in general.
I typically do allocations via rules, or alternatively by cycling through elements within a dimension in TI. Some sample code for doing this:
Not sure if that's useful or not. If not, perhaps you could go into a bit more detail on what you're trying to do.
Martin
I typically do allocations via rules, or alternatively by cycling through elements within a dimension in TI. Some sample code for doing this:
Code: Select all
sDim='myDim';
i=0;
nDimSize=dimsiz(sDim);
while(i<nDimSize);
i=i+1;
elem=dimnm(sDim, i);
if(ellev(sDim, elem)=0); # i.e. an N level element
(do something with the elem);
endif;
end;
Martin
Please do not send technical questions via private message or email. Post them in the forum where you'll probably get a faster reply, and everyone can benefit from the answers.
Jodi Ryan Family Lawyer
Jodi Ryan Family Lawyer
Re: Allocation table?
Back to topic. Thanks for answers, I explained my situation not very clearly, but still I got new ideas from you. Actually I thougt that I know how to solve my allocation case and question is only about new elements, but I'm stuck on allocations too. So I try again:
For example in target cube there are 4 dimensions:
- Products (prod1, prod2, ...)
- Segments (Private, Business, Corporate clients)
- Period
- Revenues/Amounts
DWH query gives following data:
- product_id (10000, 10123, 21345, ...)
- segments
- period
- data
So I don't know now, how to allocate this.
Should I first create another cube where to load DWH data (with product_id dimension), and then somehow allocate data to target cube?
Or should I allocate data directly from query?
The Product lines include data from different number of product_id, for instance "prod1" includes product_id-s 15400, 17300, 17370, "prod2" includes another 10 different prod_id etc. Next month there could be additionally new product_id-s in DWH. These should be also allocated to corresponding Product rows. I understand that is possible to add new elements to dimension automatically with elementinsert command, but allocation doesn't appear automatically?
I found some topics in forum about mapping cubes and also about dimension attributes. Which is better solution to allocate? When there is larger number of product_id-s and Products, use of attributes is a bit more unhandy?
Regards!
For example in target cube there are 4 dimensions:
- Products (prod1, prod2, ...)
- Segments (Private, Business, Corporate clients)
- Period
- Revenues/Amounts
DWH query gives following data:
- product_id (10000, 10123, 21345, ...)
- segments
- period
- data
So I don't know now, how to allocate this.
Should I first create another cube where to load DWH data (with product_id dimension), and then somehow allocate data to target cube?
Or should I allocate data directly from query?
The Product lines include data from different number of product_id, for instance "prod1" includes product_id-s 15400, 17300, 17370, "prod2" includes another 10 different prod_id etc. Next month there could be additionally new product_id-s in DWH. These should be also allocated to corresponding Product rows. I understand that is possible to add new elements to dimension automatically with elementinsert command, but allocation doesn't appear automatically?
I found some topics in forum about mapping cubes and also about dimension attributes. Which is better solution to allocate? When there is larger number of product_id-s and Products, use of attributes is a bit more unhandy?
Regards!