# **COUNTD**

计数统计（去重）。

COUNTD函数可用于数据统计查询时的去重计数统计，也可以用于多个值之间计数计算。COUNTD函数会忽略空值，去重数据，不去重可以使用[COUNT](./COUNT.md)函数。

- 聚合统计：对一个字段或表达式进行聚合统计，计算非空值的数量。此时只能传递一个参数，通常是传递要计数的字段，等同于数据库的COUNTD函数。
- 四则运算：对多个值进行计数计算，也可以计数浮动数据和数组，此时COUNTD就不是一个聚合统计函数了。

## 语法{#grammar}

COUNTD(**field**)

- **field**：必需。事实表的字段，支持任意类型。

**示例地址：** [COUNTD](https://demo.succbi.com/v5/bi/countd)

## 示例{#example}

用于去重计数统计，此时只能传递一个参数，字段或表达式：

1. `COUNTD(model1.field1)` 统计字段field1的计数值，如果每行field1字段都为null，或者一行数据也没有，返回null。
2. `COUNTD([企业投资关系].[投资企业内部序号])` 参数为数据模型字段，返回该字段的去重计数。

用于求去重计数值，传递多个参数：

3. `COUNTD(ARR(1,1,2,2,3))` 参数为数组，含重复数据会去重返回`3`。
4. `COUNTD(ARR(1,2,NULL,3))` 参数为数组，含空值时会忽略空值返回`3`。
5. `COUNTD(ARR(1,2,"",3))` 参数为数组，含空字符串时会忽略空字符串返回`3`。

用于求浮动区域的去重计数值，传递单元格序列或浮动组件：

6. `COUNTD(A2)` A2是浮动区域内的单元格，计算浮动单元格`A2`数据的。
