How to do use dropdown list within the PROFILE function


Hi - struggling to get my head around this. Not sure if I'm getting the syntax wrong, or whether what I'm trying to do simply isn't possible. I want the model user to be able to make a selection in a drop-down list from a number of different allocation profiles to use in the PROFILE function. To hold the different profiles, I need to have a 3-dimensional module ("Profiles") containing Lists for "Profiles" and "Relative Periods", and a single line-item to hold the profile value. In my module that is going to perform the calculation, 12v Air Compressor  I have line items for: Value: the line item that needs to be profiled; Profile: the profile to be selected (formatted on the List "Profiles"); the PROFILE function. How can I set up the PROFILE function to enable the user to determine which profile to use? Thanks!  


  • bdeaton
    You can use IF/THEN & ITEM (PROFILE) statements in your formula to drive different calculations based on PROFILE. This would allow you to use the dimensions already in your module.

    If you are wanting to create some sort of input process for the PROFILE instead of having all PROFILEs be calculated simultaneously, then I would ask: Do you want the user-selected PROFILE to change the calculation for all users or just change the view for that individual user?

    If it is a global setting, the I’d say that instead of dimensioning the module by PROFILE, create an input line item (no dimensions, separate module) which is list-formatted as the profile list. Publish that line item to the dashboard along with the calc module. Then, the calc module could do LOOKUP type formulas based on the user input. We do this kind of set up frequently with time - modules display one time period based on a user input.

    If you are wanting the choice to be user-specific, then you can do basically the same as above, but add users as a dimension of the input line item and the calc module. This will allow each user to input a PROFILE and see the results but it won’t affect what other users see.
  • You can use Line item subsets rather than IF...THENs

    1. Create a line item subset from the initial profile module and a module dimensioned by this LISS with the COLLECT() function

    2. You can then set up a user choice module using the LISS formatted line item and pull in the COLLECT() line item against the user using a Lookup from the choice module

    3.Then you will need to have the calc module dimensioned by user to pull in the profile from 2.


    The calc module could end up being quite large if you have a large number of users


    I hope this helps