【DAX】重複消去した行数のカウント(DISTINCT×COUNTROWS関数)

DAX関数
スポンサーリンク

膨大な顧客データなどから、リピートを除いた顧客数を計算する時など、「重複を削除してカウントさせたい」場面があります。今回は、DAX関数を用いて重複削除し行数をカウントする方法を紹介します。

【本記事で得られること】
・重複削除した行数のカウント方法が分かる
・DISTINCT関数、COUNTROWS関数の使い方が分かる
・DISTINCTCOUNT関数の使い方がわかる

膨大なデータを扱う場合は重複を削除した計算をする場面が多いですので、ぜひご参考ください!powerQueryで重複削除の設定方法や下の行(最新行)を残した重複削除の方法は下記をご参考ください!
▶(参考記事)パワークエリで重複削除

重複削除して行数をカウントするDAX関数

重複を削除するDAX関数である「DISTINCT」、行数をカウントする関数である「COUNTROWS」を組み合わせれば、簡単に重複削除した行数の計算が可能です。

【DAX関数 DISTINCT】
指定した列内の重複を削除して一意の値を返す関数!
DISTINCT(<column>)
・column:重複削除したい列または式を指定
▶(参照)Microsoft DAX関数 DISTINCT

【DAX関数 COUNTROWS】
指定されたテーブル内の行数をカウントする関数
=COUNTROWS([<table>])
・table:行数を求めたいテーブルを指定
▶(参照)Microsoft DAX関数 COUNTROWS

COUNT関数系の詳しい説明は、下記をご参考ください!
▶(参考記事)DAX関数で条件付きのカウント COUNT関数系

つまり、重複削除した行数をカウントするメジャーの作成には、
・DISTINCT関数
・COUNTROWS関数

のDAX関数を組み合わせる
必要があります。

重複削除カウント = COUNTROWS (DISTINCT(‘列) )
DISTINCT関数で重複削除したテーブル指定して、COUNTROWS関数で行数をカウントしています。

【結論】重複削除した行数の計算はDISTINCT関数とCOUNTROWS関数を組み合わせる!

今回は複数の商品種類が入った売上データから、重複を削除して「何種類の商品が売れたか?」を計算させるメジャーの作成方法を具体的に解説します。リピートを除いた顧客数のカウントや、何種類売れたかを計算したいときによく使う方法です!

スポンサーリンク

(事例)COUNTROWS関数で販売数の計算

事例紹介として、下記の商品名や購入地域が複数入った売上データをPowerBIに取り込んでいる場合を想定します。

PowerBI 取り込みデータ

▶(参考記事)PowerBIへのデータの取り込み

上司
上司

各月で商品が何個売れた?かを調べて!

何個売れたかはCOUNTROWS関数で商品数をカウントすればOKです!

COUNTROWS関数 DAX
販売数 = COUNTROWS('購入リスト')

作成したメジャーを各月別のマトリックスに入れて確認します。

ビジュアル:マトリックス
行:カレンダーテーブルの四半期、月
Y軸:作成した販売数のメジャー

各月の商品が何個売れたかを把握することができました!

行数カウント PowerBI DAX COUNTROWS関数

▶(参考記事)カレンダーテーブルの作成方法
▶(参考記事)PowerBIでマトリックス表の作成方法、ヒートマップ
▶(参考記事)PowerBIでテーブルの作成方法、条件付き書式

【結論】COUNTROWS関数を使えば、行数のカウントができる!

スポンサーリンク

(事例)DISTINCT関数で販売種類の計算

上司
上司

じゃあ、各月でそれぞれ何種類の商品が売れた?を調べて!

次に、販売種類を計算するメジャーを作成します。種類なのでダブりを消去した「重複削除した行数の計算」をしたいので、DISTINCT関数と組み合わせます。

DISTINCT関数で商品名の重複削除して、COUNTROWS関数で行数をカウントすればOKです!

COUNTROWS関数 DISTINCT関数 重複削除 行のカウント
販売種類 = COUNTROWS(DISTINCT('購入リスト'[商品名]))

作成したメジャーをマトリックスに追加すれば、重複削除された商品種類ができました!

重複削除 行のカウント COUNTROWS関数 DISTINCT関数

【結論】COUNTROWS関数とDISTINCT関数を組み合わせて重複削除した行のカウントができる!

スポンサーリンク

DISTINCTCOUNT関数で重複削除した行のカウント

DISTINCT関数、COUNTROWS関数を組み合わせた方法を紹介しましたが、実は一つにまとめたDAX関数があります。

【DAX関数 DISTINCTCOUNT】
指定した列内の重複を削除して一意の値をカウントできる関数!
DISTINCTCOUNT(<column>)
・column:重複削除したい列または式を指定
▶(参照)Microsoft DAX関数 DISTINCTCOUNT

DISTINCTCOUNT関数は、DISTINCT、COUNTROWS関数の2つが1つになったDAX関数です。なので、メジャーも列を指定するだけでシンプルですね。

DISTINCTCOUNT関数 重複削除 行のカウント
販売種類_2 = DISTINCTCOUNT('購入リスト'[商品名])

こちらもマトリックスに追加して確認すると、先ほどと同じように重複削除した行の計算ができました!

重複削除 行のカウント DISTINCTCOUNT関数 PowerBI DAX

【結論】DISTINCTCOUNT関数を使えば一発で重複削除した行の計算ができる!

スポンサーリンク

重複削除した行数のカウントまとめ

今回紹介した、DAX関数で重複削除した行の計算のポイントは下記です。

・DISTINCT関数、COUNTROWS関数を組み合わせる
・DISTINCTCOUNT関数を使えば簡単に重複削除した行のカウントが可能

これらの重複削除した計算は、重複したデータがあるSaaS系の分析などで活用場面も多いです。

下記でPowerBIの便利機能とDAX関数をまとめていますので、ぜひこちらもご参考ください!
▶PowerBIの便利機能、DAX関数まとめ

▶よく使うDAX関数まとめ

最後までみていただき、ありがとうございました!
良かったら↓クリック応援をよろしくお願いします!!

にほんブログ村 サラリーマン日記ブログ IT系サラリーマンへ
にほんブログ村

スポンサーリンク

コメント

タイトルとURLをコピーしました