# 输入字段

QlikView 支持特殊类型的字段，无需脚本执行和输入字段即可更改该字段。

输入字段正如 QlikView 中的任何其他字段一样，差别在于脚本读取字段后无须再次运行脚本即可更改字段值。输入字段可用作所有类型工作表对象中的任意其他字段。

使用输入字段时，脚本会为每个字段值创建占位符，随后编辑该字段值以包含新数据。通过将任何字段列于脚本的 inputfield 语句中，可将其转变为输入字段，该字段随后会显示在 LOAD 或 SELECT 语句中。

输入字段值可在列表框单元格，表格框单元格以及表格图表表达式单元格中更改。仅包含输入字段的列表框和表格列可以编辑。悬浮光标在可编辑的单元格上可以查看输入图标。单击图标设置输入编辑模式下的单元格。可以使用向上/向下箭头键在单元格之间移动，同时维持输入编辑模式。一旦输入新值，整个 QlikView 文档会自动重新计算。

表格图表表达式单元格可能包含特殊输入字段聚合函数，且仍可打开进行输入。更改随后会依据预定义算法分配回基础字段值，例如“等比例分配”或“按比例分配”。

您可以指定相关更改。

信息注释将分配模式用作部分表达式时的相对更改工作。

以下语法适用 (n 为数字)：

输入语法

| 语法 | 说明 |
| --- | --- |
| %+n | 当前值增加 n% |
| %-n | 当前值减少 n% |
| +=n | 当前值增加 n |
| -=n | 当前值减少 n |
| \*=n | 当前值乘以 n |
| /=n | 当前值除以 n |

示例：

%+10 将当前值增加 10%。

+=56 将当前值增加 56。

\*=2 将值乘以 2。

/=2 将值除以 2。

/=0 保持不变。

自动化 API 也可用于解压缩并设置值。

## 限制

* 计算字段和关键字段不可用作输入字段。输入字段功能可自动禁用。
* 输入字段并不意味着大量数据，因为它们存储数据的效率远低于常规字段。
* 输入字段和逻辑字段之间的键必须是唯一的，不能包含任何重复值。

## 输入字段示例

此示例向数据中添加了一个输入字段，并演示了如何以交互方式更新值。

1. 在加载脚本中加载以下数据。

   `Inputfield Value;` ` ` `Table1:` `LOAD * INLINE` `[` `Key, Attribute, Value` `Bob, Jan, 100` `Bob, Feb, 200` `Bob, Mar, 300` `Kate, Jan, 400` `Kate, Feb, 500` `Kate, Mar, 600` `];`

2. 加载数据后，创建一个表框并添加所有三个字段。

3. 创建垂直表图表并添加 Key 为维度。添加以下表达式：

   * `Sum(Value)`
   * `InputSum(Value)`

   两个表达式将显示相同的值，但只能更新垂直表中的 `InputSum(Value)`，而不能更新 `Sum(Value)`。

现在可以在表格框中交互更改 Value。垂直表中表达式的聚合值将相应地更新。

也可以更新垂直表中 `InputSum(Value)` 表达式的值。基础值将在表框中更新。更改将平均分配给所有值，但您可以在 `InputSum()` 函数中更改分配模式。

## 了解详情

* [Inputfield](https://help.qlik.com/zh-CN/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptPrefixes/Inputfield.htm)
* [inputsum](https://help.qlik.com/zh-CN/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/SpecialInputFieldAggregationFunctions/Inputsum.htm)
* [inputavg](https://help.qlik.com/zh-CN/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/SpecialInputFieldAggregationFunctions/Inputavg.htm)