Tableau Desktop:Count Distinct返回的值高于Count(如果连接到Google Big Query)

时间:2015-10-07 09:58:31

标签: count google-bigquery tableau

我有一个包含2157条记录的表,比方说有3列(A,B,C),我知道在A列中有2154个不同的值。

使用连接到BigQuery的Tableau Desktop(及其自己的分区),我得到了以下结果:

  • 计数(A) - > 2157
  • CountD(A) - > 2180(超过伯爵!!!)

如果我在Big Query控制台中使用查询运行相同的计算,我得到:

  • 计数 - > 2157
  • CountD - > 2154(右)

这怎么可能?

顺便说一下,如果使用同一个表的CSV文件并使用Tableau Public(无桌面)将其用作数据源,我会得到与Big Query一样的正确结果。

提前致谢

2 个答案:

答案 0 :(得分:1)

如果使用DISTINCT关键字,则该函数返回指定字段的不同值的数量。 请注意,DISTINCT的返回值是统计近似值,并不保证是准确的 - 文档也清楚这一点。

如果您需要COUNT(DISTINCT)的更高精度,则可以指定第二个参数n,该参数提供低于该阈值的保证精确结果的阈值。默认情况下,n为1000,但如果给出更大的n,则会得到COUNT(DISTINCT)的精确结果,直到n的值。但是,给出较大的n值会降低此运算符的可伸缩性,并可能大大增加查询执行时间或导致查询失败。

要计算不同值的确切数量,请使用EXACT_COUNT_DISTINCT。或者,对于更具伸缩性的方法,请考虑在相关字段上使用GROUP BY,然后应用COUNT(*)。 GROUP BY方法更具可扩展性,但可能会产生轻微的前期性能损失。

https://cloud.google.com/bigquery/query-reference#aggfunctions

答案 1 :(得分:0)

尝试使用此公式的计算字段 - RAWSQLAGG_INT(“count(unique(%1))”,['your column'])

降低性能,所以只在您真正需要的时候使用。