DISTINCT (列)
指定された列の個別の値を含む 1 列のテーブルを返します。 つまり、重複する値が削除され、一意の値のみが返されます。
注意
この関数を使用して、ワークシートのセルまたは列に値を返すことはできません。そうではなく、数式の中で DISTINCT 関数を入れ子にして、別の関数に渡してカウント、合計、または他の操作に使用できる個別の値のリストを取得します。
構文
DISTINCT(<column>)
パラメーター
用語 | 定義 |
---|---|
列 | 一意の値が返される列。 または、列を返す式。 |
戻り値
一意の値の列。
解説
DISTINCT の結果は、現在のフィルター コンテキストの影響を受けます。 たとえば、次の例の数式を使用してメジャーを作成すると、テーブルがフィルター処理されるたびに、特定の地域または期間のみを表示するように結果が変わります。
この関数は、計算列または行レベルのセキュリティ (RLS) ルールで使用される場合、DirectQuery モードでの使用はサポートされません。
関連する関数
DISTINCT 関数の別バージョンとして、別のテーブルまたは式から重複する行を削除してテーブルを返す DISTINCT (テーブル) があります。
VALUES 関数は DISTINCT に似ています。一意の値のリストを返すために使用することもできます。また、通常は DISTINCT とまったく同じ結果が返されます。 ただし、コンテキストによっては、VALUES から 1 つの追加の特別な値が返されます。 詳細については、「VALUES 関数」を参照してください。
例
次の数式では、インターネット チャネルで注文を生成した一意の顧客数をカウントします。 次の表は、数式がレポートに追加された場合に考えられる結果を示します。
= COUNTROWS(DISTINCT(InternetSales_USD[CustomerKey]))
DISTINCT から返される値のリストを列に直接貼り付けることはできません。 代わりに、DISTINCT 関数の結果を、リストを使用して値のカウント、フィルター処理、または集計を行う別の関数に渡します。 例をできるだけ簡単にするために、ここでは個別の値のテーブルが COUNTROWS 関数に渡されています。
行ラベル | アクセサリ | Bikes | 衣服 | 総計 |
---|---|---|---|---|
2005 | 1013 | 1013 | ||
2006 | 2677 | 2677 | ||
2007 | 6792 | 4875 | 2867 | 9309 |
2008 | 9435 | 5451 | 4196 | 11377 |
総計 | 15114 | 9132 | 6852 | 18484 |
また、結果が加算的ではないことに注意してください。 つまり、2007 年の一意の顧客数の合計は、その年のアクセサリ、バイク、および衣服の一意の顧客数の合計ではありません。 これは、1 人の顧客が複数のグループでカウントされる可能性があるためです。