

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

# distinctCountOver


`distinctCountOver` 函数计算指定等级上按指定属性划分的操作数的不同计数。支持的等级为 `PRE_FILTER` 和 `PRE_AGG`。操作数必须是未聚合的。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
distinctCountOver
(
  measure or dimension field 
  ,[ partition_field, ... ]  
  ,calculation level 
)
```

## 参数


 *度量或维度字段*   
要进行计算的度量或维度，例如 `{Sales Amt}`。有效值为 `PRE_FILTER` 和 `PRE_AGG`。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

 *计算级别*  
（可选）指定要使用的计算级别：  
+ **`PRE_FILTER`** – 在数据集筛选条件之前计算预筛选条件计算。
+ **`PRE_AGG`** – 在将聚合以及前 *N* 个和后 N 个筛选条件应用于视觉对象之前计算预聚合计算。
空白时此值默认为 `POST_AGG_FILTER`。`POST_AGG_FILTER` 不是此操作的有效等级，将导致错误消息。有关更多信息，请参阅在 [Amazon Quick 中使用关卡感知计算](https://docs.amazonaws.cn/quicksight/latest/user/level-aware-calculations.html)。

## 示例


以下示例获取在 `PRE_AGG` 等级按 `City` 和 `State` 分区的 `Sales` 的不同计数。

```
distinctCountOver
(
  Sales, 
  [City, State], PRE_AGG
)
```