# ParameterEnumeration

ParameterEnumeration is an attribute of a function that specifies a list of possible values for a function parameter. Expression Assist displays these values, along with their descriptions, to help the user when typing in a call to the function. It has no effect impact on how a parameter is evaluated or when errors are reported.

## Enumerated parameter values

Some function parameters have a list of allowed values, which we call an enumerated list. For example, the «part» parameter of the DatePart function can be "Y" to get the year, "MMM" to get the three letter abbreviation for the monthor, or "MMMM" to get the full name of the month, among many other options. Expression Assist shows the enumerated list when you are entering the parameter to show you the available codes, along with text explaining each option, for example:

You can use the mouse or arrow keys to select an option from the Expression Assist popup to insert into the definition that you are typing.

## Specifying enumerated parameters for a user-defined function

When writing a User-Defined Function (UDF) with one or more enumerated parameters, you can define the possible codes and descriptions using the ParameterEnumeration attribute. If you do that, Expression Assist will use them to give popup suggestions when you or others use the function.

By default, the ParameterEnumeration attribute is not visible in the Object window or Attribute panel. So, you must first make it visible, thus:

• From the Object menu, select Attributes....
• In the Attributes dialog, from the Class menu, select Functions.
• Double click on the Parameter Enumeration attribute to turn on a check mark next to it.
• Press OK
• Open the Object Window for your UDF.

The ParameterEnumeration attribute should now be visible.

When adding content to this attribute, you must adhere carefully to this syntax:

 param1Name
val1|description
val2|description
⁞
valM|description
param2Name
val1|description
val2|description
⁞
valN|description
⁞


Each enumerated parameter name appears as a single word on a line. You list only the enumerated parameters, but you may have more than one. After each parameter is a list of possible values, each on a separate line. Each value may be a number, or a text enclosed in quotes. Each value must be followed by a pipe character (|), followed by an optional description. Here is an example for a single parameter named buttons used in the built-in Error function:

   buttons
0|OK only
1|OK and Cancel (default)
2|Abort, Retry and Ignore
3|Yes, No and Cancel
4|Yes and No
5|Retry and Cancel


## Notes

• After you've typed information into this attribute, it's a good idea to switch its visibility off again, since it will just be a distraction to other users who view your function.
• You can see ParameterEnumeration for a built-in function, after turning on the attribute in the Attributes dialog), by selecting the function from the Definition menu.
• The enumerations for built-in functions are in the Analytica.ini file, located in the Analytica install directory.

## History

Introduced in Analytica 4.5.