Original Message:
Sent: Wed October 16, 2024 05:10 PM
From: John O'Leary
Subject: ForceReevaluationOfFeedersForFedCellsOnDataChange use
We are in the same boat.
In the impacted cases we drop the rules of the impacted cube(s) in the Prolog and recreate the rules in the Epilog. This works because the loads are out of hours and the rule creation process does not take very long. I should also add that if your load is conditional on rules in the cube then this won't readily work. The following is our method.
##########################################################################
### Prolog Turn Off Rules after clearing of data (To ensure correct target area cleared)
###########################################################################
#Defines current rule file location
sRulesFile = '\\localhost\TM1Servers\xxxx\Data\' | sTargetCube2 | '.rux';
#Defines Temporary rule file location
sTempRulesFile = '\\localhost\TM1Servers\xxxx\Source Files\RuleTempFiles\' | sTargetCube2 | '.txt';
#Defines empty rule file location (file must be created first)
sEmptyFile= '\\localhost\TM1Servers\xxxx\Source Files\RuleTempFiles\NoRules.txt';
#Copies rule from current location to temporary location
#Make sure the target file has been exists before this process is first run as xcopy will otherwise hang
sCommandLine= 'xcopy /q /y ' | char(34) | sRulesFile | char(34) | ' ' | char(34) | sTempRulesFile | char(34);
ExecuteCommand(sCommandLine,1);
#Loads empty rule to current rule location (i.e. blanks current rule file)
RuleLoadFromFile(sTargetCube2, sEmptyFile);
##########################################################################
### Epilog Turn Rules Back On
###########################################################################
sTempRulesFile = '\\localhost\TM1Servers\xxxx\Source Files\RuleTempFiles\' | sTargetCube2 | '.txt';
RuleLoadFromFile(sTargetCube2, sTempRulesFile);
##
I looked at using an alternative approach using some of the other rule functions using strings in TI variables but you need to replace single quotes with 2 single quotes and there is no TI Replace function so you need to loop etc and move the relative position each time (Anyway I didn't invest the time but if you are on Server 12 you may need to go down that path)
------------------------------
John O'Leary
Original Message:
Sent: Tue October 15, 2024 04:00 AM
From: manyi sun
Subject: ForceReevaluationOfFeedersForFedCellsOnDataChange use
When using ForceReevaluationOfFeedersForFedCellsOnDataChange
along with condition feeders, I am currently encountering an issue where data loading becomes extremely slow after applying ForceReevaluationOfFeedersForFedCellsOnDataChange
. However, I need to use condition feeders during the feeding process. In this case, do you have any good suggestions or important points I should be aware of?
samples :
['A'] =if(Elisanc('Dim1','ele1',!Dim1)=1,DB('CubeB', !Dim1, !Dim2, 'B'),continue) ;
feeders;
[B]=>(if(Elisanc('Dim1','ele1',!Dim1)=1,'CubeA',''),!Dim1, !Dim2, 'A');
------------------------------
manyi sun
------------------------------