AX1021

Calendar refresh variable

Calendar refresh variables prompt users to specify a date from a calendar. The date is written back to the data source, where it can be used to impact data queries.

For example, you can use the calendar variable to prompt users to select a start date for the data in a report. The date can then be used in a filter that affects the data refresh.

When used in the Web Client, calendar variables can also be used to select a month or year.

Variable behavior

The variable displays as a text box with a calendar button next to it. The user can click the button to select a value from the calendar.

Desktop Client: Example Calendar refresh variable

Web Client: Example Calendar refresh variable

In the Web Client, the current date shows at the bottom of the calendar for reference.

Once the user has selected a date from the calendar, the selected date displays in the text box. The user cannot type a date into the text box; only selection from the calendar is allowed.

In the Web Client only, Calendar refresh variables can also be used to select a month/year combination, or a year. The month and year options are not available in the Desktop Client.

Web Client: Example Calendar refresh variable to select month/year

Web Client: Example Calendar variable to select year

Variable properties

This section explains how to complete a variable row in the RefreshVariables data source when defining a Calendar variable. Some data source columns do not apply in this case and are not discussed here. If these inapplicable columns are present in the data source, they should be left blank on rows that define Calendar variable types. If you are using the Data Source Assistant to complete the variable properties, then only the applicable columns will be shown in the task pane.

For more information on the RefreshVariables data source in general, see Defining refresh variables.

General variable properties

All refresh variables use a common set of general properties such as the variable name, display name, and whether the variable is enabled or required. Any special considerations for Calendar variables are noted.

Column Tag Description

[Name]

The name of the variable. This name identifies the variable row in the data source, and is also used as the variable display name to users if a separate display name is not defined in the [DisplayName] column.

The name should not contain any non-alphanumeric characters such as question marks or periods. If you want the variable name that displays to users to include non-alphanumeric characters, use the display name.

The name cannot be dynamic; it must remain static because it is used to identify the variable. If you are configuring a dependent variable and you need the name to change based on the selection of the parent variable, then you must make the display name dynamic instead of the name.

[DisplayName]

Optional. The display name of the variable. If defined, the display name will be used instead of the name when the variable displays to users in the refresh dialog or filter panel.

For example, you might want to define the variable name as "Acct" but use a display name of "Account" or "Select an account".

[VariableType]

Specifies the variable type. Enter Calendar to allow users to select a date from a calendar.

[IsEnabled]

Specifies whether the variable is enabled (True/False).

  • If True, then the variable will be included in the refresh dialog or filter panel.
  • If blank or False, then the variable will not be included in the refresh dialog or filter panel. This evaluation is determined when the dialog or panel is opened. If the variable is flagged as dependent using the [DependsOn] column, then the evaluation will be performed again after a value has been selected for the parent variable.

[SelectedValue]

The user's selected value for the variable will be placed in this cell. For Calendar variables, the value is an Excel date serial number.

When setting up the file to use the variable value, point your formulas to this cell.

If you want to define a default value for the variable, use the [DefaultValueonOpen] field rather than entering the default value here.

NOTE: The cell format for this property should be set to Date. DateTime formats are not supported and may cause errors.

[IsRequired]

Optional. Specifies whether the user must enter a value for this variable (True/False).

  • If True, then the user must specify a value for this variable in order to perform the refresh.
  • If blank or False, then the user can leave the variable blank. The file should be configured so that it refreshes appropriately if the variable is left blank.

The display of required and optional variables depends on the environment. In the Desktop Client, the text (optional) follows the name of optional variables. In the Web Client, required variables that do not yet have a selected value are indicated with a red bar along the side of the variable field.

[DependsOn]

Optional. Specifies that the variable is dependent on another variable.

To make a variable dependent on another variable, enter the name of the "parent" variable. A variable should be flagged as dependent if the parent variable must be completed before the user can enter a value for the dependent variable.

Dependent variables can be updated dynamically in response to the selected value for the parent variable. For more information, see Using dependent refresh variables.

[DefaultValueonOpen]

Optional. Specifies a default value to be copied to the [SelectedValue] field on open. When the user opens the document and uses the refresh variables, the value specified here will be the initial selected value. This allows you to define a default value without needing to place the value directly in the [SelectedValue] field, where it could get overwritten by user selection and inadvertently saved.

NOTE: If you need to use a formula to determine the default value, the formula may not get calculated before the value is copied to the [SelectedValue] field. In this case you must still define the value in the [SelectedValue] field directly.

The default value is copied regardless of whether the variable is currently enabled or not. This allows you to set a default value for dependent variables that may not be initially visible, but will be visible based on the parent variable selection.

The default value must be valid in the context of the variable type and configuration. If the default value is not a value that could be entered or selected for the variable, validation errors or refresh errors may occur.

[ClearSelectedValueonSave]

Optional. Specifies whether the selected value is cleared when the file is saved (True/False).

  • If True, then the selected value is cleared when the file is saved. You should set this to True if you want to ensure that the variable always starts off with no value after saving.

  • If blank or False, then the selected value is left as is when the file is saved. You should set this to False if you want to be able to set a "default value" for the variable, or if you want the last-selected value to be retained after saving the file.

[ClearSelectedValueonOpen]

Optional. Specifies whether the selected value is cleared when the file is opened (True/False).

  • If True, then the selected value is cleared when the file is opened. You should set this to True if you want the variable to start with no value when the file is opened.

  • If blank or False, then the selected value is not cleared when the file is opened. You should set this to False if you want the last-saved value to be retained when opening the file.

If you enable this option and also define a default value using [DefaultValueonOpen], then the current selected value is first cleared, then the default value is copied to the [SelectedValue] field.

[GroupName]

Optional. Defines a group name under which the variable will display. This option only applies to refresh variables used with Axiom forms; it will be ignored when using refresh variables with spreadsheet files in the Desktop Client.

If a group name is specified, then the variable will be displayed within an expandable / collapsible grouping in the Web Client filter panel (or when the form is viewed as a web tab within the Desktop Client). For more information, see Defining refresh variables for Axiom forms.

[CollapseOnOpen]

Optional. Specifies whether the group that this variable belongs to should start out collapsed when the form is opened (True/False). By default, groups start out as expanded.

This option only applies to refresh variables used with Axiom forms, and only if the variable has a defined group name. The option is ignored when using refresh variables with spreadsheet files in the Desktop Client.

If one variable in the group is set to True, then the group is collapsed, regardless of whether other variables in the group may be set to False (or blank).

Variable-specific properties

The following additional properties apply to Calendar variable types:

Column Tag Description

[MinDate]

Optional. The earliest date that is valid for a user to select in the calendar. If specified, the calendar control will not allow the user to select a date that is earlier than this date.

When using the Month or Year display format, the minimum date must still be a full date. The appropriate minimum month and year will be determined from that date.

NOTE: The cell format for this property should be set to Date. DateTime formats are not supported and may cause errors. For more information, see Handling date formats.

[MaxDate]

Optional. The latest date that is valid for a user to select in the calendar. If specified, the calendar control will not allow the user to select a date that is later than this date.

When using the Month or Year display format, the minimum date must still be a full date. The appropriate minimum month and year will be determined from that date.

NOTE: The cell format for this property should be set to Date. DateTime formats are not supported and may cause errors. For more information, see Handling date formats.

[DisplayFormat]

Optional, applies to Web Client only. Specifies the type of date value for selection:

  • Date: Users select specific dates from a calendar control. This is also the default behavior if no display format is specified.
  • Month: Users select a month and year combination from a drop-down selection.
  • Year: Users select a year from a drop-down selection.

The display format determines the values for selection and the display of the selected value in the variable. However, the return value written to the [SelectedValue] field is always a full date. See Handling date formats for more information.

[AutoQuoteString]

Optional. Specifies whether the date value is placed in single quotation marks when it is written to the [SelectedValue] column (True/False). If omitted or blank, the default setting is False, which means the date value is not quoted.

This option is intended to make it easier to create filters based on the selected value, when the selected value must be wrapped in single quotation marks. For example: Request.Date='2/1/2019'.

The following properties do not apply to Calendar variables: PlaceHolderText, ListChoices, ColumnName, AdditionalColumns, ColumnFilter, AllowMultiSelect, DataSourceName, Hierarchies, UseAsQuickFilter, TooltipColumn, PrimaryTable, LimitColumn, MinValue, MaxValue, StepFrequency.

Example data source

The following screenshot shows example Calendar variables.

  • The first two variables define start and end dates. The End variable is dependent on the Start variable, so that the minimum value of the end date can use a formula that points to the selected value of the start date. This is to ensure that the user does not accidentally set the end date to an earlier value than the start date.

  • The third and fourth variables use the [DisplayFormat] to select a month/year combination and a year. This configuration is only valid for use in the Web Client; it will be ignored in the Desktop Client.

Handling date formats

Within the Calendar refresh variable, the selected values are displayed as follows, depending on the specified [DisplayFormat]. The exact format depends on your system locale.

  • Date: Dates are displayed in an Excel "short date" format, such as 1/1/2019.
  • Month: Months are displayed in month/year format, such as January 2019. Only applies to Web Client.
  • Year: Years are displayed as the year number, such as 2019. Only applies to Web Client.

However, in all cases, the selected value is written to the [SelectedValue] field as an Excel date serial number. If you want to use just the selected month or the year in your calculations, you may need to use functions such as MONTH or YEAR to extract the information from the full date.

If you want to set a default value for the refresh variable (or set minimum and maximum dates to restrict the valid selections), then your value must be resolvable as an Excel date value. For example, if you want to set a default value when using the Year selection type, you cannot simply enter the number 2019. Instead, you must enter a date such as 1/1/2019. The refresh variable will resolve this date value as the year 2019. If you enter just the number, then the refresh variable will not interpret that value as a date.