列内の一意の値 推定 数を返します。
Important
インポート モードと Direct Lake ストレージ モードでの APPROXIMATEDISTINCTCOUNT のサポートは現在プレビュー段階です。
構文
APPROXIMATEDISTINCTCOUNT(<columnName>)
パラメーター
| 用語 | 形容 |
|---|---|
column |
入力列。 |
column引数を式にすることはできません。
戻り値
column内の個別の値の概数。
備考
この関数の唯一の引数は列です。 任意の種類のデータを含む列を使用します。 カウントする行が見つからない場合、関数は
BLANKを返します。それ以外の場合は、個別の値の数を返します。インポート モード、Direct Lake on OneLake、Direct Lake on SQL (フォールバックなし) では、関数はエンジン側の HyperLogLog アルゴリズムを使用します。
DirectQuery モードでは、関数はデータ ソースで対応する集計操作を呼び出します。 この動作は、Azure SQL、Azure Synapse専用 SQL プール、BigQuery、Databricks、Snowflake でサポートされています。 Direct Lake on SQL では、DirectQuery モードにフォールバックするときに、この DirectQuery 動作が使用されます。
この関数は、近似結果が許容される場合にカーディナリティの高い列に使用します。 正確な結果が必要な場合は、 DISTINCTCOUNT を使用します。
カーディナリティの低い列の場合、
APPROXIMATEDISTINCTCOUNTはDISTINCTCOUNTよりもパフォーマンスが低下する可能性があります。 また、DISTINCTCOUNTよりも多くのメモリを使用することもできます。特に、大規模なモデル、高コンカレンシー、または多数のグループごとに使用できます。APPROXIMATEDISTINCTCOUNTによって返される推定カウントのエラー率は、Import モデルと Direct Lake モデルでは約 1.6% です。