

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Quick Sight 中的评估顺序
<a name="order-of-evaluation-quicksight"></a>

当您打开或更新分析时，在显示分析之前，Amazon Quick Sight 会按特定顺序评估分析中配置的所有内容。Amazon Quick Sight 将配置转换为数据库引擎可以运行的查询。无论您连接到数据库、软件即服务 (SaaS) 源还是 Amazon Quick Sight 分析引擎 ([SPICE](spice.md))，查询都会以类似的方式返回数据。

如果您了解评估配置的顺序，您就知道指示将特定筛选器或计算应用于数据的顺序。

下图显示了评估顺序。左边的列显示了不涉及关卡感知计算窗口 (LAC-W) 或 aggregate (LAC-A) 函数时的计算顺序。第二列显示包含计算字段的分析的计算顺序，用于在 prefilter (`PRE_FILTER`) 级别计算 LAC-W 表达式。第三列显示了包含计算字段的分析的计算顺序，用于计算预聚合 (`PRE_AGG`) 级别的 LAC-W 表达式。最后一列显示包含用于计算 LAC-A 表达式的计算字段的分析的计算顺序。在下图中，显示了评估顺序的详细说明。有关等级感知计算的更多信息，请参阅 [在 Quick Sight 中使用关卡感知计算](level-aware-calculations.md)。

![四列显示了 DEFAULT、 LAC-W PRE_FILTER、PRE_A LAC-W GG 和。 LAC-A](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/images/order-of-evaluation2.png)


以下列表显示了 Amazon Quick Sight 在您的分析中应用配置的顺序。在数据集中设置的任何内容都在分析之外发生，例如，数据集级别的计算、筛选器和安全设置。它们都应用于基础数据。以下列表仅涵盖分析内发生的内容。

1. **LAC-W 预过滤器级别**：在分析筛选之前以原始表基数评估数据

   1. **简单计算**：在标量等级进行计算，无需任何聚合或窗口计算。例如 `date_metric/60, parseDate(date, 'yyyy/MM/dd'), ifelse(metric > 0, metric, 0), split(string_column, '|' 0)`。

   1. **LAC-W 函数 PRE\_FILTE** R：如果视觉对象中涉及任何 LAC-W PRE\_FILTER 表达式，Amazon Quick Sight 首先在原始表级别计算窗口函数，然后再计算任何筛选器。如果在 LAC-W 过滤器中使用 PRE\_FILTER 表达式，则此时会应用该表达式。例如 `maxOver(Population, [State, County], PRE_FILTER) > 1000`。

1. **LAC-W PRE\_AGG**：在聚合之前以原始表基数评估数据

   1. **分析期间添加的筛选条件**：此时将应用为视觉对象中的未聚合字段创建的筛选条件，这与 WHERE 子句类似。例如 `year > 2020`。

   1. **LAC-W 函数 PRE\_AGG**：如果视觉对象中涉及任何 LAC-W PRE\_AGG 表达式，Amazon Quick Sight 会在应用任何聚合之前计算窗口函数。如果在过滤器中使用 LAC-W PRE\_AGG 表达式，则此时会应用该表达式。例如 `maxOver(Population, [State, County], PRE_AGG) > 1000`。

   1. **Top/bottom N 个筛选**器：在维度上配置为显示 top/bottom N 个项目的筛选器。

1. **LAC-A 级别**：在可视化聚合之前，在自定义级别评估聚合

   1. **Custom-level 聚合**：如果视觉对象中涉及任何LAC-A 表达式，则此时会对其进行计算。Amazon 根据上述筛选条件之后的表格QuickSight 计算聚合，并按计算字段中指定的维度进行分组。例如 `max(Sales, [Region])`。

1. **视觉对象等级**：在视觉对象等级评估聚合和聚合后表计算，并将其余配置应用于视觉对象

   1. **Visual-level 聚合**：应始终应用可视化聚合，表格表格除外（其中维度为空）。使用此设置，将根据字段井中的字段计算聚合，并按视觉对象中的维度进行分组。如果任何筛选条件构建在聚合之上，则此时将应用该筛选条件，类似于 HAVING 子句。例如 `min(distance) > 100`。

   1. **表计算**：如果视觉对象中引用了任何聚合后表计算（应将聚合表达式作为操作数），则此时会对其进行计算。Amazon Quick Sight 在可视化聚合之后执行窗口计算。同样，也会应用构建在此类计算上的筛选条件。

   1. **其他类别计算**：此类计算仅存在于 line/bar/pie/donut 图表中。有关更多信息，请参阅 [显示限制](working-with-visual-types.md#display-limits)。

   1. **总计和小计**：如果需要，可以在圆环图（仅限总计）、表格（仅限总计）和数据透视表中计算总计和小计。