COUNT_DISTINCT 関数は、フィールドに含まれる固有のアイテム数をカウントします。
構文
COUNT_DISTINCT(X)
パラメータ
X- カウントするアイテムを含むフィールドまたは式。
COUNT_DISTINCT 関数の仕組み
COUNT_DISTINCT 関数は 1 つのパラメータを受け取ります。このパラメータには、ディメンションの名前または集計を行わない式を指定できます。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 アナリティクスのデータソースに含まれる COUNT_DISTINCT(Sessions) などの数式では、Sessions が「自動」で集計されたフィールドであるため、エラーが発生します。
BigQuery データには APPROX_COUNT_DISTINCT の使用を検討する
BigQuery データソースをご利用の場合にクエリ費用の上昇を避けるには、APPROX_COUNT_DISTINCT を使うことをご検討ください。
関数プッシュダウンによる結果の変動
パフォーマンスを最適化するため、データポータルは可能な限り、COUNT_DISTINCT の計算を基盤となるデータソースに委任(プッシュダウン)しようとします。実際のカウントはデータポータルではなく接続されたシステムによって行われるため、結果は、そのシステムが固有のカウントをどのように実装しているかによって異なります。
たとえば、固有のカウントに違いが生じる要因としては、次のようなものがあります。
- SQL データベース: SQL 言語が異なると、大文字と小文字の区別、末尾のスペースの比較、null 値のカウントが異なる方法で処理されることがあります。
- ファイルベースのソース: ファイル コネクタ(CSV ファイルなど)の場合、結果はターゲット サイトの解析動作と内部エンジン オペレーションによって異なります。
- SaaS API: クラウド サービスと SaaS コネクタは API の機能によって制約を受け、概算のカウントを返したり、特定のフィルタリング ロジックを適用したりすることがあります。