Page 1 of 1

PASS process with conditional user input parameters

Posted: Thu May 30, 2024 9:21 am
by lcnbs
I have a process called from PASS with three input parameters, where the user selects different versions of the TB:
  • Select current year budget version
    Select current year actuals version
    Select next year budget version
I also have a separate model environment cube where the user can specify whether they are running the model in Current Year or Next Year - a lot of the processes are extremely data heavy so running everything all the time would have a big impact on performance.

I'd like to be able to look up to the model environment cube then restrict the parameters on the first process according to what year it is. If the model environment is Current Year, the user is only asked for
  • Select current year budget version
    Select current year actuals version
If the model environment is Next Year, the user is only asked for
  • Select next year budget version
I can write a "starter" process with conditional logic -

Code: Select all

IF(ME@='Current Year');
    ExecuteProcess( 'CurrentYearProcess', 'CY Budget', «ParamValue», 'CY Actuals', «ParamValue1» );
Elseif(ME@='Next Year');
    ExecuteProcess( 'NextYearProcess', 'NY Budget', «ParamValue2» );
Endif;
Is there any way of specifying that "ParamValue", "ParamValue1" and "ParamValue2" need to be user input?

Or are my only two options to
  • have two different buttons in PASS calling two different copies of the process
  • use a user input control cube where they've selected the budget versions in advance?

At the minute the first process asks for all three parameters then only uses the relevant ones - in theory. But it feels like the chances of something going wrong are too high (i.e. the wrong year's data getting overwritten), and I can guarantee that the users will get stressed out by being asked to provide extra information, even if I tell them it's optional.

Re: PASS process with conditional user input parameters

Posted: Thu May 30, 2024 10:09 am
by Steve Rowe
Rather than using parameters you can use a "Front End Selection" cube.

Dimension by }User and "Front End Selection" which is a list of your parameter values.

Use Picklist and MDX Sets to control what users can see and pick from, this gives you a high level of control over what users can select from.

In your TI

sUser=TM1User;
sYear=CellGetS('Front End Selection' , sUser, 'Select Year');

Re: PASS process with conditional user input parameters

Posted: Thu May 30, 2024 10:21 am
by lcnbs
Interesting, thank you. I'll have to have a play with that.

And I guess I could make the cube rule conditional on the value of the Model Environment...

ETA: not quite the same thing as a security cube?