Hi
The reason that your MetaData is not working is that all the statements that actually affect the dimension are within IF statements. You must have at least one statement that affects the dimension that is not in an IF statement. It is probably a long standing bug but it seems that if TI sees IFs around everything on the MetaData tab for some bizarre reason it decides that the MetaData tab isn't needed.
You don't actually need the IFs at all. Ti is clever enough that it won't insert duplicate elements or anything like that. Just remove the IFs and it will work.
If the purpose of your statements is just to ensure that a small number of new codes encountered in your data source are inserted before loading data, then it is actually more efficient to leave the MetaData Tab blank altogether to avoid an unnecessary pass over the data, and to use IF( element exists ... with the Direct version of the Insert and ComponentAdd statements. This is because if you use the MetaData tab there will be a full dimension rebuild, which takes longer and locks any cubes with that dimension for longer. By comparison, the Direct statements effectively tack the new elements on to the end of the existing dimension, so it is a more minor update. However, over time, you do need to compress the dimension down using DimensionUpdateDirect, so be sure to schedule this.
On the other hand, if you are lets say unwinding the hierarchy on the Prolog, ie breaking links to consols, doing a full update on the MetaData Tab, and then storing Attribute values on the Data Tab, then your approach is OK. There are better approaches but they aren't worth the trouble if the dimension is not that big and can be updated overnight.
Regards
Paul Simon
------------------------------
Paul Simon
------------------------------
Original Message:
Sent: Fri January 31, 2020 01:59 PM
From: Angelo B.
Subject: PA - TI doesn't cycle in Metadata tab
Hi Veronika,
Thank you for your message. The use of new variable with asciioutput was purely for debugging purposes. My datasource is a DB2 table and contains multiple variable, I'm using three of them to update dimensions (in metadata tab) hence data update in data tab. When you do a metadata change (typically dimension updates), in prolog and metadata tab, those are applied to a copy of the dimension and committed to the real dimension at the end of metadata tab. In theory I'm expecting the TI won't cycle in Metadata it shouldn't neither in data tab. In this case it's completely ignoring metadata and going straight to data tab. To overcome this inconsistency I'm using "direct" functions in data tab, but it's not the regular way of working. I've also tested this in TM1 10.2.2 and it's working as expected.
Thanks,
Angelo
------------------------------
Angelo B.
Original Message:
Sent: Fri January 31, 2020 11:28 AM
From: Veronika Gultom
Subject: PA - TI doesn't cycle in Metadata tab
Hi,
for variable, you can put initial variable in prolog, because prolog will be executed once. And the variable value still use in the other tabs. It is not like ascioutput that overwrite start from zero again.
This is the simple concept of TI that I understand:
Regards,
Original Message------
Hi,
Maybe a silly question but how are your variables defined? Variables have options Metadata/Data/Both. If all are set to Data it will jump straight to Data.
EDIT: of course won't jump, but variable is ignored.
/Jaakko
------------------------------
Jaakko Kähärä
------------------------------
#PlanningAnalyticswithWatson