Input fields

QlikView supports a special type of field, which indeed can be changed without script execution, the input field.

An input field is just like any other field in QlikView, with the difference that its values, as read in the script, can later be changed without running the script again. Input fields can be used like any other fields in all types of sheet objects.

Note: Input fields are not meant for large amounts of data, as they store data significantly less efficiently than regular fields.

When using input fields, the script creates placeholders for each field value, which can later be edited to contain new data. Any field can be turned into an input field by listing it in an inputfield statement in the script before it appears in a LOAD or SELECT statement.

Values of an input field can be changed in list box cells, table box cells and in table chart expression cells. Only list boxes and table columns which contain input fields are editable. By hovering over an editable cell it is possible to see an input icon. Clicking on the icon sets the cell in input edit mode. It is possible to use up/down arrow keys to move between cells while staying in input edit mode. The entire QlikView document will automatically recalculate whenever new values are entered.

Note: A calculated field and key fields cannot be used as input field. The input field functionality will automatically be disabled.

A table chart expression cell may contain a special input field aggregation function and still be open for input. The change will then be distributed back to the underlying field values, based on predefined algorithms, such as e.g. "spread equally" or "spread proportionally".

It is possible to specify relative change.

Note: Relative change works when using the distribution mode as part of the expression.

The following syntax applies (n is a number):

%+n increases the current value by n% 
%-n decreases the current value by n% 
+=n increases the current value by n 
-=n decreases the current value by n 
*=n multiplies the current value with n 
/=n divides the current value with n 


%+10 increases the current value with 10%.

+=56 increases the current value with 56.

*=2 multiplies the value with 2.

/=2 divides the value with 2.

/=0 no change.

There are also Automation APIs for extracting and setting values programmatically.