BI探検ノート

Power BI の月名が「10月・11月・12月・1月」の順になるときの直し方

約5分

濵口 翔長崎で、Power BI のつまずきを記録しています
目次
  1. 1. 「月名」の列を作る
  2. 2. 最初の並び: 売上の大きい順
  3. 3. 「月名」の昇順にしても、1月からにならない
  4. 4. 「月番号」の列を作る
  5. 5. 「列で並べ替え」
  6. 英語の月名(Jan、Feb…)にしたとき
  7. 4月はじまりの年度の並び(4月、5月、…、3月)
  8. 確認していないこと

確認日2026年10月25日。Power BI Desktop(日本語版、2.159.883.0)で、ダミーの CSV(2024年1月3日から9日おきの60行。売上は 1,050 から 4,000)を使いました。月ごとの合計は、2024年と2025年の同じ月を足したものです(月名に年が入っていないため)。確認できていないことは、末尾にまとめました。

「1月」「2月」の文字の列を軸にしたグラフが、1月から並びませんでした。直した手順を、実機で確かめました。曜日の並べ替え(別の記事)と、同じ考え方です。

結論(30秒版)

  • 日付から、月名 = FORMAT(sales_month[日付], "M月")(「1月」のような文字)の列を作り、棒グラフの軸にすると、売上の大きい順(5月、3月、4月、1月…)に並びました。
  • 並べ替えを「月名」の「昇順」にすると、10月、11月、12月、1月、2月…9月の順になりました。
  • 月番号 = MONTH(sales_month[日付]) の列を作り、「月名」の列を選んで、「列ツール」の「列で並べ替え」で「月番号」を選ぶと、1月から12月の順になりました。

1. 「月名」の列を作る

「新しい列」で、日付から「1月」「10月」のような文字の列を作りました。

月名 = FORMAT(sales_month[日付], "M月")

この列の型は「テキスト」(文字)です。

2. 最初の並び: 売上の大きい順

「月名」を軸、「売上 の合計」を値にした縦棒グラフは、売上の大きい順になりました。左から、5月、3月、4月、1月、2月、6月、12月、9月、7月、11月、10月、8月です。

月名を軸にした縦棒グラフ。売上の大きい順に、5月、3月、4月、1月の順で並んでいる

3. 「月名」の昇順にしても、1月からにならない

グラフの「…」→「条件の並べ替え」で「月名」を選び、「昇順で並べ替え」にしました。左から、10月、11月、12月、1月、2月、3月、4月、5月、6月、7月、8月、9月の順になりました。

月名の昇順にした縦棒グラフ。10月、11月、12月、1月、2月…9月の順

(なぜこの順になるのか(文字の並べ方の規則)は、確かめていません。)

4. 「月番号」の列を作る

月番号 = MONTH(sales_month[日付])

この列は、1 から 12 の整数になります。

5. 「列で並べ替え」

データペインで「月名」の列を選ぶと、「列ツール」が出ます。「列で並べ替え」を押すと、「月名」「月番号」「日付」「売上」の一覧が出るので、「月番号」を選びました。

列ツールの「列で並べ替え」。月名、月番号、日付、売上が並んでいる

グラフが、左から 1月、2月、3月…12月 の順になりました。

月名を月番号で並べ替えた縦棒グラフ。1月から12月の順

「グラフの『…』の並べ替え」は、「月名」の「昇順」のままでした。

英語の月名(Jan、Feb…)にしたとき

月名英 = FORMAT(sales_month[日付], "mmm") で、「Jan」「Feb」のような英語の3文字の列を作って、同じグラフを作りました。結果は、日本語の「1月」とは違う並びでした。

  • 最初は、売上の大きい順(May、Mar、Apr、Jan…)。
  • 「月名英」を降順にすると、Sep、Oct、Nov、May、Mar、Jun、Jul、Jan、Feb、Dec、Aug、Apr になりました。

月名英の降順。Sep、Oct、Nov、May、Mar…の順

  • 「月名英」を昇順にすると、Apr、Aug、Dec、Feb、Jan、Jul、Jun、Mar、May、Nov、Oct、Sep(アルファベット順)になりました。1月からの順にはなりません。

月名英の昇順。Apr、Aug、Dec、Feb、Jan、Jul…の順

英語の月名も、日本語と同じで、「月番号」の列で並べ替える必要がありました(英語の列でも、日本語の列と同じ手順です。この画面では、並べ替えまでは試していません)。

4月はじまりの年度の並び(4月、5月、…、3月)

日本の会社では、年度が4月から始まることが多いので、4月、5月、…、12月、1月、2月、3月の順に並べたいことがあります。月番号を、「1月=1」ではなく、「4月=1」にした列を作れば、同じ方法(列で並べ替え)で並びました。

1. 年度の月順の列を作る。 「新しい列」で、次の式を入れます。4月が 1、5月が 2、…、3月が 12 になります。

年度の月順 = MOD ( MONTH ( sales_month[日付] ) - 4, 12 ) + 1

数式バーに、年度の月順 = MOD(MONTH(sales_month[日付]) - 4, 12) + 1 と入っている

(MONTH は、1〜12 の月を返します。4 を引くと、4月が 0 になり、MOD(…, 12) で、1月〜3月の、負の数(-3〜-1)が、9〜11 になります。1 を足して、4月=1、…、3月=12 です。)

2. 「月名」の列を、「年度の月順」で並べ替える。 「月名」の列を選び、「列ツール」の「列で並べ替え」を開くと、「月名」「日付」「年度の月順」「売上」が出ます。「年度の月順」を選びます。

列で並べ替えのメニュー。月名、日付、年度の月順、売上が出ている

3. グラフで確かめる。 「月名」を軸、「売上 の合計」を値にした棒グラフは、4月、5月、6月、…、12月、1月、2月、3月の順に、並びました。

棒グラフ。軸が4月から3月の順に並んでいる

グラフの「…」→「条件の並べ替え」には、「月名」にも「売上 の合計」にも、チェックが付いていませんでした(グラフ側では、並び方を、決めていない状態です)。列の「並べ替え」の設定が、そのまま効いています。

グラフの「…」メニューの「条件の並べ替え」。月名、売上の合計のどちらも、選ばれていない

確認していないこと

  • 日付の階層(年・四半期・月・日)を使うと、月の名前は「January」のように英語で出ました(表のなかで見ただけで、並び方は確かめていません)。
  • 年をまたぐ期間(2024年10月から2025年3月など)で、「年と月」を1本の軸にする方法は、別の記事(月ごとの合計)を見てください。この記事では、確かめていません。
  • 「January」(月名の全体)の並びと、英語の列を「月番号」で並べ替えたときの結果は、確かめていません。
  • 年をまたぐ期間(2024年4月〜2025年3月など)で、年度ごとに、分けて集計する方法は、確かめていません。この節は、月だけの並びです。