COUNT_DISTINCT

COUNT_DISTINCT 函数用于统计字段中不重复项的数量。

语法

COUNT_DISTINCT(X)

参数

  • X - 字段或包含要统计的项的表达式。

COUNT_DISTINCT 函数的工作原理

COUNT_DISTINCT 函数接受一个参数,该参数可以是维度的名称,也可以是不产生聚合结果的表达式。COUNT_DISTINCT 会返回该字段或表达式中不重复项的总数。

如需统计所有项(包括重复项),请使用 COUNT

示例

Example formula Output
COUNT_DISTINCT(user_id) 22,854,921
COUNT_DISTINCT(order_id) 497,091,812

COUNT_DISTINCT 的限制

使用 COUNT_DISTINCT 函数时,请注意以下事项:

COUNT_DISTINCT 适用于未聚合的数据

您无法将此函数应用于指标(包括聚合 类型为自动 的字段)或另一个聚合函数的结果表达式。例如,Google Analytics 数据源中的 COUNT_DISTINCT(Sessions) 等公式会产生错误,因为 Sessions自动 聚合的字段。

对于 BigQuery 数据,请考虑使用 APPROX_COUNT_DISTINCT

为避免在使用 BigQuery 数据源时可能产生更高的查询费用,请考虑使用 APPROX_COUNT_DISTINCT

函数下推导致结果可变

为了优化性能,数据洞察会尽可能尝试将 COUNT_DISTINCT 的计算委托(或“下推”)给底层数据源。由于实际计数是由连接的系统而非数据洞察执行的,因此结果可能会因该系统实现不同计数的方式而异。

例如,可能导致不同计数差异的因素包括:

  • SQL 数据库:不同的 SQL 方言可能会以独特的方式处理大小写敏感度、尾随空格比较或 null 值计数。
  • 基于文件的来源:对于文件连接器(例如 CSV 文件),结果取决于目标网站解析行为和内部引擎操作。
  • SaaS API:云服务和 SaaS 连接器受其 API 功能的限制,这些功能可能会返回近似计数或应用特定的过滤逻辑。