BI探検ノート

基本 練習問題 22 / 31

月が 1月から順に並ばない

目的(何のためにやるか)

月ごとの集計を、1月から12月の順に、見せるための練習です。月の名前の文字は、そのままでは、順番が、おかしくなります。

状況

2024年1月から9日おきの60行です。日付から「1月」のような文字の列を作ると、グラフが1月から並びません。

準備

  1. CSV をダウンロードします(ダミーのデータです)。
  2. Power BI Desktop で、CSV を読み込みます。やり方は、はじめかたにあります。

やること

  1. 「新しい列」で、月名 = FORMAT(日付, "M月") の列を作り、月名を軸、売上の合計を値にした縦棒グラフを作る。
  2. 月名の昇順に並べ替えて、並びを確認する。
  3. 1月から12月の順に直す。

まず、下を見ずに、自分でやってみてください。うまくいかなければ、ここから下の解説を、上から順に、読みながら、やってみます。

解き方(ステップごとの解説・画面つき)

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

    「月名」の列を作る

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

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

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

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

    月名を軸にした縦棒グラフ。売上の大きい順に、5月、3月、4月、1月の順で並んでいる
    月名を軸にした縦棒グラフ。売上の大きい順に、5月、3月、4月、1月の順で並んでいる
  2. 「月名」の昇順にしても、1月からにならない

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

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

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

    「月番号」の列を作る

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

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

  3. 「列で並べ替え」

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

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

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

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

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

  4. 英語の月名(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…の順
    月名英の降順。Sep、Oct、Nov、May、Mar…の順
    • 「月名英」を昇順にすると、Apr、Aug、Dec、Feb、Jan、Jul、Jun、Mar、May、Nov、Oct、Sep(アルファベット順)になりました。1月からの順にはなりません。
    月名英の昇順。Apr、Aug、Dec、Feb、Jan、Jul…の順
    月名英の昇順。Apr、Aug、Dec、Feb、Jan、Jul…の順

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

  5. 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 と入っている
    数式バーに、年度の月順 = 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月の順に並んでいる
    棒グラフ。軸が4月から3月の順に並んでいる

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

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

答え合わせ

自分で採点する数字

左から「1月、2月、…、12月」の順に並ぶ(最初は売上の大きい順、昇順にすると 10月から始まる)。

  • 最初は売上の大きい順(5月、3月、4月、1月…)。月名の昇順にすると、10月、11月、12月、1月…9月の順になる。
  • 月番号 = MONTH(日付) の列を作り、「月名」の列を選んで、「列ツール」の「列で並べ替え」で「月番号」を選ぶと、1月から12月の順になる。
  • 月ごとの合計は、2024年と2025年の同じ月を足した数字になる(月名に年が入っていないため)。

この解説は、実機(Power BI Desktop 日本語版 2.159.883.0)で確かめた記事から、まとめています。確認していないことは、記事の最後に書いています。
元の記事を読む →

確認日: 2026-10-25。CSV はダミーのデータで、無料です。