BI探検ノート

Power BI の日付テーブルに、年・月・曜日・年度の列を足す(DAX)と、曜日が英語になる点

約6分

濵口 翔長崎で、Power BI のつまずきを記録しています
目次
  1. 作った式
  2. 曜日が英語になる
  3. 曜日の並び順
  4. テーブルの行の並び
  5. 公式の記載との照合
  6. この記事で確認できたこと・できていないこと
  7. 参考

確認日2026年10月22日。Power BI Desktop(日本語版、2.159.883.0)の空のレポートで、DAX の計算テーブルだけを使って確かめました(データの取り込みなし)。確認できていないことは、末尾にまとめました。

日付テーブルに、年・月・年月・曜日・曜日番号・年度の列を、DAX でまとめて足しました。実機で動かすと、曜日の列だけ、思ったとおりになりませんでした。

結論(30秒版)

  • ADDCOLUMNS(CALENDAR(...), ...) で、年・月・年月・曜日・曜日番号・年度の列を、1つの式で作れました。
  • 曜日は、FORMAT([Date], "ddd") だと英語(Mon、Tue)になりました。 公式の説明は「ロケールに合わせて表示」ですが、私の環境では、"ja-JP" を指定しても、英語のままでした。
  • FORMAT([Date], "aaa") は、日本語(月・火・水)になりました。ただし、公式の FORMAT の表では、見つけられませんでした。
  • 年度(4月始まり)は、IF(MONTH([Date]) >= 4, YEAR([Date]), YEAR([Date]) - 1) で、2025/03/31 が 2024、2025/04/01 が 2025 になりました。

作った式

開始日や年度の開始月を変えた式を作りたいときは、日付テーブルの DAX を作る道具があります。年度の開始月が4月以外の式は、実機では確かめていません。

「モデリング」タブの「新しいテーブル」で、次の式を入れました(CALENDAR の範囲は、私が決めた2025/1/1〜2026/12/31 です。730行できました)。

日付 = ADDCOLUMNS(
    CALENDAR(DATE(2025,1,1), DATE(2026,12,31)),
    "年", YEAR([Date]),
    "月", MONTH([Date]),
    "年月", FORMAT([Date], "yyyy-MM"),
    "曜日", FORMAT([Date], "aaa"),
    "曜日名", FORMAT([Date], "aaaa"),
    "曜日番号", WEEKDAY([Date], 2),
    "年度", IF(MONTH([Date]) >= 4, YEAR([Date]), YEAR([Date]) - 1)
)

テーブルビューで、次のとおりになりました。

テーブルビュー。日付の列と、年、月、年月、曜日(火、水、木…)、曜日名(火曜日…)、曜日番号(2、3、4…)、年度(2025)が並んでいる。2025/04/01 から始まる

  • 年月は、「2025-04」の形でした。
  • 曜日番号は、月曜が 1、日曜が 7 でした(WEEKDAY([Date], 2))。
  • 2025年1月〜3月の年度は、2024 でした。

2025/02/24 から 2025/03/04 までの行。年度の列は、すべて 2024

4月始まりの年度は、1〜3月が前の年の数字、4〜12月がその年の数字になります。3月始まりなど、ほかの期首は、4 を書き換えます(確認していません)。

曜日が英語になる

最初の確認では、曜日を "aaa" で作りました。これは日本語(月・火・水)でした。ところが、公式の FORMAT の説明では、曜日の書式は ddd(略称)と dddd(フルネーム)で、どちらも「ロケールに合わせて表示される」とあります。そこで、この2つも確かめました。

2026/10/19(月)〜10/25(日)の7日間で、次の式を比べました。

列式結果(月曜日の行)
dddFORMAT([Date], "ddd")Mon
ddddFORMAT([Date], "dddd")Monday
ja_ddddFORMAT([Date], "dddd", "ja-JP")Monday
en_ddddFORMAT([Date], "dddd", "en-US")Monday
en_dddFORMAT([Date], "ddd", "en-US")Mon
aaaFORMAT([Date], "aaa")月

7日間の曜日を、6通りの式で並べた表。ddd、dddd、ja_dddd、en_dddd、en_ddd は英語で、右端の aaa だけが 月、火、水、木、金、土、日(列名の行は、上が少し切れている)

読み取れること:

  • ddd と dddd は、日本語版の Power BI でも、英語で出ました。
  • "ja-JP" を指定しても、英語のままでした。公式の「ロケールに合わせる」という説明と、私の観察が合いません。理由は、確認していません(レポートファイルの地域設定などが、英語になっている可能性があります。そこは、見ていません)。
  • aaa だけが、日本語でした。

日本語の曜日が必要なときは、この環境では、aaa(短い曜日)と aaaa(「月曜日」)が使えました。ただし、これは、日本語の Windows と日本語版 Power BI での結果で、ほかの環境で同じになるかは、確認していません。

曜日の並び順

曜日の列(月・火…)は、そのままだと、グラフで、50音順などに並びます。曜日番号の列で並べ替えると、月→日の順になります。手順は、曜日が順番どおりに並ばないときの直し方に書きました。

テーブルの行の並び

テーブルビューを開くと、先頭の行は 2025/01/01 ではなく、2025/04/01 でした。スクロールすると、2025/01〜03 の行も、同じ730行の中にありました(2025/03/31 まで確認しました)。計算テーブルの行は、日付の順に並ぶとは限らないようです。グラフや並べ替えでは、日付の列で並べられるので、通常は問題にならないと考えられますが、理由は、確認していません。

公式の記載との照合

Microsoft Learn の DAX の FORMAT と WEEKDAY の記載と、私の観察を、突き合わせました(確認日 2026年10月22日)。

  • FORMAT の曜日: 公式の表には、ddd(略称)と dddd(フルネーム)が「Localized(ロケールに合わせる)」と書かれています。aaa と aaaa は、私が見た表の範囲では、見つけられませんでした。私の環境の結果(ddd が英語)は、この説明と、合いません。
  • ロケールの指定: FORMAT の3つ目の引数に、ロケール名を渡せると書かれています。私の環境では、"ja-JP" で、曜日が日本語になりませんでした。
  • WEEKDAY: return_type が 2 のとき、月曜が 1、日曜が 7、と書かれています。私の観察(月曜 1、日曜 7)と、合っています。

この記事で確認できたこと・できていないこと

確認日: 2026年10月22日。Power BI Desktop(Windows、日本語版、2.159.883.0、未サインイン)、空のレポート、DAX の計算テーブル(730行)。

確認できたこと

  • ADDCOLUMNS と CALENDAR で、6つの列を、1つの式で作れたこと
  • 年月が「2025-04」の形になること、曜日番号が月曜=1、日曜=7 になること
  • 年度(4月始まり)で、2025/03 までが 2024、2025/04 からが 2025 になること
  • ddd・dddd が英語、"ja-JP" を指定しても英語、aaa が日本語になったこと
  • テーブルビューの先頭の行が、2025/04/01 だったこと

確認できていないこと

  • ddd が英語になる理由(ファイルの地域設定、モデルの言語など)
  • "ja-JP" で日本語にならない理由
  • 英語版の Windows や Power BI での aaa の結果
  • 4月始まり以外の年度
  • 作った日付テーブルを、売上のテーブルとつなぐ操作(別の記事に書きました)
  • Power BI サービスでの動き

参考

この記事で使った用語

Power BI Desktop
Windows で動く、レポートを作るためのアプリです。データの取り込みとモデルの作成、レポートの作成に向いています。

用語集をすべて見る