Page 1 of 1

Action Button to run 4 TI with same parameter

Posted: Tue Apr 27, 2010 10:08 am
by appleglaze28
I was planning to create an action button to execute 4 TI processes containing the same parameter for all for 4. But I don't know its done...it might be more cause I'm still working out how to transfer data from 1 element to another for 2 dimensions in 1 cube. So when I work this out how would I do cause among the 4 cube, I might have 4 parameter while the other 1 would have 2.

Re: Action Button to run 4 TI with same parameter

Posted: Tue Apr 27, 2010 10:31 am
by Alan Kirk
appleglaze28 wrote:I was planning to create an action button to execute 4 TI processes containing the same parameter for all for 4. But I don't know its done...it might be more cause I'm still working out how to transfer data from 1 element to another for 2 dimensions in 1 cube. So when I work this out how would I do cause among the 4 cube, I might have 4 parameter while the other 1 would have 2.
At the outset you say that you want to execute four TI processes which all have the same parameters. You later talk about four cubes, and some (processes, presumably?) having four parameters while others have two.

So which is it?

If you want an action button which will execute four processes, all with the same parameters, that's easy. Just call a single process and use the ExecuteProcess function in its Prolog to call the four that you want to execute, passing the same parameters to each one.

If you do find that you need to pass different parameters to the processes, then If() blocks should be able to handle that... as long as you decide in advance exactly what it is that you're trying to achieve and write your code accordingly.

If it's something else, it might help to explain your question more clearly.

Re: Action Button to run 4 TI with same parameter

Posted: Wed Apr 28, 2010 1:26 am
by appleglaze28
Sorry if it may seem confusing...I have 4 cubes and have 1 dimension in common. So I need to run a process for each cube that transfer the data from 1 element to another. So technically all 4 process would be using the same parameter. I practically re use the process and just changed the cube name for all respective 4 cubes. I wanted to create 1 action button to do this all together rather than 1 action button per TI.

I'm also considering how to run the process for example of all the 4 cubes 3 of them would be requiring 4 parameter like for example
Dimension 1:
Element 1
Element 2
Element 3

Dimension 2
May 1
May 2
May 3

3 of the 4 cubes have a time dimension, I might need to transfer them from 1 element to another within Dimension 1 as well as from 1 element to another from Dimension 2. So I would have 4 parameters for 3 of TI for 3 of the cubes.

So what's the best approach to do a EXECUTEPROCESS TI for this kind of scenario.

Re: Action Button to run 4 TI with same parameter

Posted: Sat May 08, 2010 11:33 am
by TM1Dunk
Appleglaze

To follow on from Alan's comment, I fear that your description is still quite confusing! However, if I had to take a guess as to what you're trying to do, which looks like you're trying to "daisy chain" minly different processes together which have only one common parameter:

1) Create 5 processes
i) Pro1 - this is the one you will choose to run from the action button. It will collect all parameters (those known at run-time) from the Excel sheet and then call the second process
ii) Pro2 - called from Pro1, updates Cube1
iii) Pro3 - called from Pro2, updates Cube2
iv) Pro4 - called from Pro3, updates Cube3
v) Pro5 - called from Pro4, updates Cube4

2) Each process should have all parameters required for the overall group of processes i.e. not just those required for each individual cube e.g.
i) ParaCommon - common dimension across all cubes
ii) ParaDim1 - dimension only found in cube 1
iii) ParaDim2 - dimension only found in cube 2
iv) ParaDim3 - dimension only found in cube 3
v) ParaDim4 - dimension only found in cube 4

3) Use ExecuteProcess to pass these parameters from process 1 => 2 => 3 etc. whether or not they are needed in the next process, just to ensure they are there if required.:
In "Epilog" of process 1:
ExecuteProcess(Pro2 , 'ParaCommon' , ParaCommon , 'ParaDim1' , ParaDim1 , 'ParaDim2' , ParaDim2 , 'ParaDim3' , ParaDim3 , 'ParaDim4' , ParaDim4 , 'ParaDim5' , ParaDim5);

In "Epilog" of process 2:
ExecuteProcess(Pro3 , 'ParaCommon' , ParaCommon , 'ParaDim1' , ParaDim1 , 'ParaDim2' , ParaDim2 , 'ParaDim3' , ParaDim3 , 'ParaDim4' , ParaDim4 , 'ParaDim5' , ParaDim5);

In "Epilog" of process 3:
ExecuteProcess(Pro4 , 'ParaCommon' , ParaCommon , 'ParaDim1' , ParaDim1 , 'ParaDim2' , ParaDim2 , 'ParaDim3' , ParaDim3 , 'ParaDim4' , ParaDim4 , 'ParaDim5' , ParaDim5);

In "Epilog" of process 4:
ExecuteProcess(Pro5 , 'ParaCommon' , ParaCommon , 'ParaDim1' , ParaDim1 , 'ParaDim2' , ParaDim2 , 'ParaDim3' , ParaDim3 , 'ParaDim4' , ParaDim4 , 'ParaDim5' , ParaDim5);

If not all parameters are known when you execute the chain from Excel, populate them in the Action Button with blank cells, and then simply give them values in TI at the appropriate step in the chain. E.g. if "ParaDim2" is unknown until process 2, then leave it blank in process 1 and add a ParaDim2 = VariableName; command into TI in process 2.

I hope this doesn't further confuse the issue :lol:

TM1Dunk