重複を除いて数える(DISTINCTCOUNT)
目的(何のためにやるか)
重複を除いて数える(顧客数、商品の種類など)ための練習です。ただ数えると、同じものを、何回も数えてしまいます。
状況
10店舗の、1月〜3月の売上30行です。「店舗の数」を出したいのに、30と出ます。
準備
- CSV をダウンロードします(ダミーのデータです)。
- Power BI Desktop で、CSV を読み込みます。やり方は、はじめかたにあります。
やること
- 店舗の数(重複を除いた数)を、メジャーで出す。
- COUNT、COUNTA、COUNTROWS が、それぞれいくつになるか確かめる。
まず、下を見ずに、自分でやってみてください。うまくいかなければ、ここから下の解説を、上から順に、読みながら、やってみます。
解き方(ステップごとの解説・画面つき)
手順
前提
ダミーの売上(
sales6、店舗・月・売上の3列、30行)です。店舗は10店舗で、各店舗に、1月〜3月の3行があります。- 練習用の CSV(
sales_stores_months.csv、30行)を、Power BI Desktop に読み込みます。プレビューで、店舗・月・売上の3列が、30行あることを確認して、「読み込み」を押します。

CSV のプレビュー。店舗・月・売上の3列が見える 読み込むと、データペインに、テーブル名(
sales_stores_months)が出ます。
データペインに、sales_stores_months が出ている - 「ホーム」の「新しいメジャー」を押して、数式バーに、式を入れます。まず、行数です。

数式バーに、行数 = COUNTROWS ( sales_stores_months ) と入っている - 同じように、「店舗の数」のメジャーを作ります。
![数式バーに、店舗の数 = DISTINCTCOUNT ( sales_stores_months[店舗] ) と入っている](/_astro/pbi-dc-3.XDRF71N6_243i5W.webp)
数式バーに、店舗の数 = DISTINCTCOUNT ( sales_stores_months[店舗] ) と入っている - 残りの2つ(COUNTA、COUNT)も作り、4つのメジャーにチェックを入れて、ビジュアルを「テーブル」にします。
(この練習問題の画面は、上のとおり、練習用の CSV(テーブル名
sales_stores_months)で撮り直したものです。下の式は、記事を最初に書いたときのテーブル名(sales6)のままです。テーブル名を、読み替えてください。)「新しいメジャー」で、次の4つを作って、表のビジュアルに、並べました。
行数 = COUNTROWS ( sales6 ) 店舗の数 = DISTINCTCOUNT ( sales6[店舗] ) 店舗のCOUNTA = COUNTA ( sales6[店舗] ) 店舗のCOUNT = COUNT ( sales6[店舗] )- 練習用の CSV(
結果

表のビジュアル。行数は30、店舗の数は10、店舗のCOUNTAは30、店舗のCOUNTは30 練習用の CSV で作り直した表も、同じ結果でした(行数 30、店舗の数 10、COUNTA 30、COUNT 30)。

練習用の CSV で作り直した表。30、10、30、30 重複を除いて、「店舗が10」と分かるのは、
DISTINCTCOUNTだけでした。ほかの3つは、行(空でない値)を数えるので、30 になりました。練習用の CSV の「月」の列が、日付として読まれた
練習用の CSV(
sales_stores_months.csv)の「月」の列は、CSV の中では、「1月」「2月」「3月」の文字です。ところが、Power BI に読み込むと、日付(2026/01/01、2026/02/01、2026/03/01)として読まれました(読み込みのプレビューで、そう出ていました)。
読み込みのプレビュー。月の列が、2026/01/01 のような日付の形で出ている そのため、この「月」の列を、マトリックスの列に入れると、年・四半期・月の階層で、英語の月名(January、February、March)として、出ました。

マトリックス。店舗を行、月を列に入れた表。年 2026、四半期 1、January・February・March が並ぶ この記事の「店舗の数」「行数」は、「店舗」の列だけを使うので、結果には、影響しません。ただ、「月」の列を、「1月」の文字のまま使いたいときは、読み込みのときに、型を「テキスト」にするか、Power Query で型を直す必要があります(この方法は、この記事では、確かめていません)。
COUNT は、テキストの列でも動いた
COUNTは、数字の列に使うものだと、私は、思っていました。しかし、テキストの店舗の列でも、エラーにならず、30 が出ました。Microsoft Learn のCOUNTのページ(確認日 2026年10月24日)には、数えるのは、数字、日付、文字列、と書かれています。私の結果と合っています。同じページには、論理値(TRUE/FALSE)は数えない、論理値やテキストを数えるときは
COUNTAを、という趣旨の記載もあります。記載の中で、文字列の扱いが、少し食い違って見えます。私は、画面で出た結果(30)を、そのまま書いています。論理値の列は、試していません。
答え合わせ
自分で採点する数字
DISTINCTCOUNT は 10、COUNTROWS は 30。
- DISTINCTCOUNT(テーブル[店舗]) は 10。COUNTROWS(テーブル) は 30。
- COUNTA も COUNT も 30(重複は除かれない)。
- 店舗の列(テキスト)に COUNT を使っても、エラーにはならず、30 が出る。
この解説は、実機(Power BI Desktop 日本語版 2.159.883.0)で確かめた記事から、まとめています。確認していないことは、記事の最後に書いています。
元の記事を読む →
確認日: 2026-10-25。CSV はダミーのデータで、無料です。