# 表达式编辑器

表达式是产生值或数据集的计算。它可以是函数、字段和数学运算符的组合。表达式用于处理应用程序中的数据，以便生成可在可视化中看到的结果。

编辑可视化或工作表时，请单击属性面板中的打开表达式编辑器 (the 表达式 icon)。

the 表达式 icon 符号表示表达式字段，例如标题、副标题、脚注、维度和度量。

单击属性面板中的打开表达式编辑器以打开表达式编辑器

单击属性面板中的打开表达式编辑器以打开表达式编辑器

单击属性面板中的打开表达式编辑器打开表达式编辑器以打开表达式编辑器 ![在属性面板中打开表达式编辑器](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_open_expression_editor.png)

表达式编辑器

表达式编辑器

表达式编辑器 ![表达式编辑器](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_expression_editor_cloud.png)

直接在“表达式编辑器”中键入，或使用“表达式编辑器”面板构建表达式。

在表达式编辑器中，可通过在表达式字段中键入来输入表达式。当在表达式中输入函数的名称时，会显示工具提示以提供相关信息来帮助您正确输入函数，包括参数名称和限定符。 您还可以点击 the 打开搜索和替换工具栏的图标 icon 打开搜索与替换工具栏。

参阅：

* [使用表达式编辑器](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Expressions/work-with-expression-editor.htm)

* [集合分析](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)

## 字段

选择特定表格中的字段和常用聚合函数，可以生成某些要插入表达式编辑器的常用表达式。您还可选择系统字段。

要进一步了解聚合函数，请参阅[基本聚合函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/AggregationFunctions/basic-aggregation-functions.htm)、[计数器聚合函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/CounterAggregationFunctions/counter-aggregation-functions.htm)和[统计聚合函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StatisticalAggregationFunctions/statistical-aggregation-functions.htm)。

要了解有关系统字段的更多信息，请参阅[系统字段](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/system-fields.htm)。

### 子句和集合表达式

一些聚合函数可能需要一个 Distinct 子句或 Total 子句。使用每个子句的复选框将其插入聚合函数中。可独立使用每个子句。

使用集合表达式复选框可将当前选择项作为集合表达式插入聚合中。插入的当前选择项始终基于默认状态。如果您要基于替代状态创建表达式，请使用集合表达式部分。

要了解有关如何使用这些集合表达式的更多信息，请参阅[集合修饰符](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-modifiers.htm)。

要了解有关替代状态的更多信息，请参阅[使用备用状态进行对比分析](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/alternate-states-comparative-analysis.htm)。

## 表达式生成器

使用表达式编辑器创建度量值表达式时，可以使用自然语言生成表达式。展开表达式生成器，选择一种语言，然后键入所需表达式的描述。在描述中，包括字段或主条目的名称，以及需要使用的基本聚合和筛选器。

在表达式预览下，可以看到已生成的输出表达式。单击插入以添加表达式。

使用表达式生成器可以为图表和主度量创建度量表达式。您还可以使用它来创建表达式，以控制可视化中的着色。

已输入自然语言的表达式生成器，并准备插入输出度量表达式

已输入自然语言的表达式生成器，并准备插入输出度量表达式

已输入自然语言的表达式生成器，并准备插入输出度量表达式 ![表达式编辑器，打开“表达式生成器”选项卡，显示表达式的自然语言描述以及准备添加到表达式编辑器的输出表达式](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_expression_editor_expression_generator.png)

### 使用表达式生成器时的限制

表达式生成器具有以下限制：

* 如果自定义业务逻辑已应用于应用程序，它将影响您的问题生成的表达式。具体而言，如果在应用程序的业务逻辑中（在行为下）为某个度量定义了默认日历期，则不引用时间（日期）信息的通用问题将自动生成应用了自动日历的表达式。

  例如，询问总销售额可能会生成如下表达式：

  `={<[OrderDate.autoCalendar.QuartersAgo]={0}>} sum([Sales])`

  这是一个动态表达式的示例，但仅当应用程序使用相对日历周期作为默认日历周期时才会出现。其他生成的引用 autocalendar 的表达式将是静态的，因此不要在周期随着时间的推移自然变化时而更新。

* 引用时态（日期）字段的问题将生成表达式，其中特定的日期值表示为静态数值。无论是否为度量定义了默认日历期，直接参考日期信息提问都会产生以这种方式表示的日期。这些日期数值不会在时间段随时间推移自然变化时而调整。

* 表达式生成器中不支持以下问题类型：

  * 使用应用聚合的主度量的问题（换句话说，应用于聚合的聚合）

  * 引用度量的顶部或底部维度值的问题（例如，total sales for top 3 product names）

  * 使用“趋势”关键字的问题（例如，Total sales trend for 2023）

  * 意图生成期间对比期间表达式的问题（例如，compare total sales between 2022 and 2023)

* 表达式生成器支持以下语言的自然语言问题：

  * 德语

  * 英语

  * 西班牙语

  * 法语

  * 意大利语

  * 荷兰语

  * 波兰语

  * 葡萄牙语

  * 俄罗斯语

  * 瑞典语

信息注释如果您对应用程序的业务逻辑如何影响您使用自然语言生成表达式的能力有疑问，请联系应用程序所有者或具有所需空间权限的用户。

## 函数

从特定类别选择函数以将其插入表达式编辑器。您可以使用函数生成更复杂的表达式。一个小型语法模板示出了每个函数的使用方式。

参阅： [脚本和图表函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/functions-in-scripts-chart-expressions.htm)

## 集合表达式

选择是否要将当前选择项或书签作为集合表达式插入。如果可用，可以选择将当前选择项或书签基于哪一个替代状态。

## 变量

选择变量并将它们插入您的表达式。如果有每个变量的定义和值，则会示出。

参阅： [在表达式中使用变量](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Variables/work-with-variables.htm)

相关学习内容：

* [什么是表达式？](https://help.qlik.com/lnk/What_is_expression)
* [如何使用表达式编辑器中的下拉菜单配置表达式？](https://help.qlik.com/lnk/How_configure_expression_using_expression_editor)

## 了解详情

* [什么是表达式？](https://help.qlik.com/lnk/What_is_expression)
* [如何使用表达式编辑器中的下拉菜单配置表达式？](https://help.qlik.com/lnk/How_configure_expression_using_expression_editor)