I want to make such process in Contributor (but I think it doesn't matter in which client)
Users input data in Input Cube,
after it they click button which launch TI process.
TI process will have 2 steps (2 another TI processes)
1 step transfers data from input Cube to Cubes where calculations (using rules) takes place.
2 step transfers calculated data to Report Cubes.
So I have a question. When 1 step (TI process) ended, it takes some time to calculate data in Calculation Cubes. So when the 2 step started can it be what it will transfer to Report Cubes data which not recalculated yet. Or it will be waited for time when calculations in Calculation Cubes will have ended?
If not (2 TI process will not wait) - is it possible to force second TI process to wait until calculations in Calculation Cubes will have ended?
Input->Calculate->Report
-
- Regular Participant
- Posts: 208
- Joined: Sat Dec 04, 2010 2:35 pm
- OLAP Product: PAL
- Version: 2.0.9
- Excel Version: 2016
-
- MVP
- Posts: 1816
- Joined: Mon Dec 05, 2011 11:51 am
- OLAP Product: Cognos TM1
- Version: PA2.0 and most of the old ones
- Excel Version: All of em
- Location: Manchester, United Kingdom
- Contact:
Re: Input->Calculate->Report
Why don't you either do the rule calculations within the TI instead of a cube with rules and transfer straight to the reporting cube?
Or have rules from the "calculation" cube to the reporting cube?
Or have rules from the "calculation" cube to the reporting cube?
Declan Rodger
-
- Regular Participant
- Posts: 208
- Joined: Sat Dec 04, 2010 2:35 pm
- OLAP Product: PAL
- Version: 2.0.9
- Excel Version: 2016
Re: Input->Calculate->Report
Both ways aren't gooddeclanr wrote:Why don't you either do the rule calculations within the TI instead of a cube with rules and transfer straight to the reporting cube?
Or have rules from the "calculation" cube to the reporting cube?
1. Rules make it much faster than TI process
2. Against problems - excessive growth of feeders (it is impossible to avoid overfeeding or using condition feeders which also lead to launch of TI process which recalc condition feeders) and therefore using of memory.
It is another way exists - connect input cubes with calculated Cubes - but it is incovinient for users - input become a problem because it starts recalculating after every input in picklist or every click to Enter and it takes time.
-
- MVP
- Posts: 2832
- Joined: Tue Feb 16, 2010 2:39 pm
- OLAP Product: TM1, Palo
- Version: Beginning of time thru 10.2
- Excel Version: 2003-2007-2010-2013
- Location: Atlanta, GA
- Contact:
Re: Input->Calculate->Report
Why are you worrying about when the calculations will happen? You have no control over it. If a cell is a calculated via a rule, then any use of that cell, whether in a report, or TI process, will trigger the calculation to be performed (unless the value has already been cached AND nothing has happened that would cause the end result to be different). In other words, you don't have to wait for anything, TM1 will naturally calculate the amounts first, before your Step 2 happens.
- rkaif
- Community Contributor
- Posts: 328
- Joined: Fri Sep 05, 2008 6:58 pm
- OLAP Product: IBM Cognos TM1
- Version: 9.1 or later
- Excel Version: 2003 or later
Re: Input->Calculate->Report
I agree with Tomok and Declanr for this scenario.
In TM1/TI you can use the ExecuteCommand(CommandLine, Wait); function to execute the DOS command. Make sure you set the Wait argument to 1 so that it will wait for the command line to execute before proceeding to the next statement in your TI.
But if someone wants to introduce some delay between the processes then you can do it using the Sleep command in Windows.EP_explorer wrote:is it possible to force second TI process to wait until calculations in Calculation Cubes will have ended?
Code: Select all
SLEEP x ( where x is the number of seconds to pause)
Cheers!
Rizwan Kaif
Rizwan Kaif
-
- Regular Participant
- Posts: 208
- Joined: Sat Dec 04, 2010 2:35 pm
- OLAP Product: PAL
- Version: 2.0.9
- Excel Version: 2016
Re: Input->Calculate->Report
I haven't connected with the described situation - so of course I'm worrying . I try today this process and I hope it will behave as you described.tomok wrote:Why are you worrying about when the calculations will happen? You have no control over it. If a cell is a calculated via a rule, then any use of that cell, whether in a report, or TI process, will trigger the calculation to be performed (unless the value has already been cached AND nothing has happened that would cause the end result to be different). In other words, you don't have to wait for anything, TM1 will naturally calculate the amounts first, before your Step 2 happens.
-
- MVP
- Posts: 733
- Joined: Wed May 14, 2008 11:06 pm
Re: Input->Calculate->Report
Although I totally agree with you regards the OP's original point (i.e. no need to worry), isn't it the case that any potential performance impact of calculations will be felt when the results are queried in step 2? It is just feeders needing to be set in step 1 that could cause a delay.tomok wrote:Why are you worrying about when the calculations will happen? You have no control over it. If a cell is a calculated via a rule, then any use of that cell, whether in a report, or TI process, will trigger the calculation to be performed (unless the value has already been cached AND nothing has happened that would cause the end result to be different). In other words, you don't have to wait for anything, TM1 will naturally calculate the amounts first, before your Step 2 happens.
rkaif wrote:But if someone wants to introduce some delay between the processes then you can do it using the Sleep command in Windows.
In TM1/TI you can use the ExecuteCommand(CommandLine, Wait); function to execute the DOS command. Make sure you set the Wait argument to 1 so that it will wait for the command line to execute before proceeding to the next statement in your TI.Code: Select all
SLEEP x ( where x is the number of seconds to pause)
Are you aware of TI's sleep command (I believe it is undocumented):
Code: Select all
# this will sleep for 10,000 milliseconds
Sleep ( 10000 );
Robin Mackenzie