Page 1 of 1

Unable to update attribute of large dimension

Posted: Fri Jun 16, 2017 1:43 pm
by ofintm1
Hi,

I have a dimension with around 320,000 elements (transaction references) and need to update a dimension attribute depending on whether the element contains a specific text string e.g. 'AB'.

I have created a TI process with the dimension level 0 subset as the data source. On the data tab I have used the SCAN function and if it returns non-zero I wish to add the attribute text. Simple code is as follows:

Code: Select all

IF(SCAN('AB', vRef) <> 0);
   ATTRPUTS('AB',sDim,vRef,'Type');
ENDIF;
I have tried using AttrPutS and CellPutS but both completely freeze the server and never finish (left TI process to run for half an hour). The records processed/progress bar also does not update. I tried using an ASCIIOutput after each attribute is updated but this did not produce anything so it seems the process simply hangs at the start of the Data tab.

I don't usually work with such large dimensions however I understand TM1 should be able to handle processing a dimension of this size.

Please could someone advise if there is a way to complete the above task more efficiently and shine any light on why I may be experiencing this issue/how to troubleshoot?

Many thanks,
Oli

Re: Unable to update attribute of large dimension

Posted: Fri Jun 16, 2017 1:53 pm
by declanr
Sounds unusual. If your "level 0" subset is MDX based it could possibly be locking the dimension and stopping you updating the attribute. Try changing the process to have no source and just loop through the dim in the prolog and then check if the style of the element is N if so you process the code you already had.

Re: Unable to update attribute of large dimension

Posted: Fri Jun 16, 2017 2:22 pm
by ofintm1
Thanks Declan!

I had been using a dynamic subset and after following your advice it worked without any issues.

Best,
Oli