前年比を出す(SAMEPERIODLASTYEAR)
目的(何のためにやるか)
前の年と比べて、増えたか、減ったかを見るための練習です(前年比)。
状況
2025年1月〜2026年3月の売上51行です。月ごとの前年比を出します。日付テーブルを自分で作る必要があります。
準備
- CSV をダウンロードします(ダミーのデータです)。
- Power BI Desktop で、CSV を読み込みます。やり方は、はじめかたにあります。
やること
- 日付テーブルを作り、売上とつなぎ、「日付テーブルとしてマーク」する。
- 前年売上と前年比のメジャーを作る。
- 月ごとの表で、2025年と2026年の動きを確かめる。
まず、下を見ずに、自分でやってみてください。うまくいかなければ、ここから下の解説を、上から順に、読みながら、やってみます。
解き方(ステップごとの解説・画面つき)
練習用の CSV で、はじめから作る(画面つき)
前提
日付テーブルを、自分で作りたいときは、日付テーブルの DAX を作る道具もあります。
日付テーブルを作って、売上のテーブルとつなぎ、「日付テーブルとしてマーク」してあります(手順は、日付テーブルを作る方法に書きました)。
データは、ダミーの売上(2025年1月〜2026年3月、51行)です。
売上合計 = SUM(sales3[売上])のメジャーを、先に作りました。練習問題の CSV(
sales_yoy.csv、51行)を使って、日付テーブルを作るところから、画面を撮り直しました(テーブル名は、sales_yoyです。下の「手順」の式は、記事を最初に書いたときのテーブル名(sales3)のままなので、読み替えてください)。1. CSV を読み込む。 日付、店舗、売上の3列、51行です。

CSV のプレビュー。日付、店舗、売上の3列が見える 2. 日付テーブルを作る。 「モデリング」→「新しいテーブル」で、次の式を入れます。
日付テーブル = CALENDAR(DATE(2025,1,1), DATE(2026,12,31))
数式バーに、日付テーブル = CALENDAR(DATE(2025,1,1), DATE(2026,12,31)) と入っている 3. 売上の「日付」と、日付テーブルの「Date」をつなぐ。 モデルビューで、ドラッグします。出てきた画面では、「一対一・双方向」になっていたので、「多対一」「単一」に直して、保存しました。

新しいリレーションシップの画面。多対一、クロスフィルターの方向は単一 4. 日付テーブルとしてマークする。 日付テーブルを選び、「テーブル ツール」の「日付テーブルとしてマーク」をオンにして、日付列に「Date」を選ぶと、「正常に検証されました」と出ます。
5. メジャーを作る。 売上合計、前年売上、前年比の順に、「新しいメジャー」で作ります。

数式バーに、前年売上のメジャーが入っている 6. 表にして確かめる。 年と月の列(
年 = YEAR('日付テーブル'[Date])、月 = MONTH('日付テーブル'[Date]))を、日付テーブルに足して、売上合計、前年売上、前年比と並べます。2026年1月は 1.16、2月は 1.45、3月は 0.81、合計は 1.23 でした(2025年は、前年がないので、空白です)。
年と月ごとの表。2026年1月の前年比は1.16、2月は1.45、3月は0.81。2025年は前年売上と前年比が空白 手順
「モデリング」タブの「新しいメジャー」で、次の2つを作ります。
前年売上 = CALCULATE ( [売上合計], SAMEPERIODLASTYEAR ( '日付テーブル'[Date] ) )前年比 = DIVIDE ( [売上合計], [前年売上] )
数式バーに、前年売上のメジャー(CALCULATE と SAMEPERIODLASTYEAR)を入力した画面 テーブルのビジュアルに、年、月、前年比、売上合計、前年売上を、並べました。

年と月ごとの表。2025年の行は前年比と前年売上が空白。2026年1月は前年比 1.16、2月は 1.45、3月は 0.81。2026年4月以降は売上合計が空白だが前年売上は値がある。合計行の前年比は 1.23 結果の読み方
- 2025年の行: 売上合計はありますが、前年売上と前年比は、空白でした。前の年(2024年)のデータが、ないためです。
- 2026年1〜3月: 前年比は、1月が 1.16、2月が 1.45、3月が 0.81 でした(1月は、4573 ÷ 3931 です)。
- 2026年4〜12月: 売上合計は空白ですが、前年売上は、2025年の同じ月の値が出ます(4月は 4150 など)。前年比は、売上合計が空白なので、空白になります。「売上がない月に、前年売上だけ出る」ことに、驚かないようにします。
- 合計行: 前年比が 1.23 になっています。これは、全期間の売上合計(75874)を、前年売上の合計(61508、2025年だけ)で割った値で、年どうしの比較ではありません。この値を、そのまま報告に使わないようにします。
答え合わせ
自分で採点する数字
2026年1月の前年比が 1.16(4573 ÷ 3931)、2月が 1.45、3月が 0.81。2025年の行は空白。
- 前年売上 = CALCULATE([売上合計], SAMEPERIODLASTYEAR(日付テーブル[Date]))、前年比 = DIVIDE([売上合計], [前年売上])。
- 2025年の行は、前年のデータがないので、前年売上も前年比も空白。
- 2026年4月以降は売上が空白でも、前年売上には2025年の同じ月の値が出る。合計行の前年比(1.23)は、年どうしの比較ではない。
この解説は、実機(Power BI Desktop 日本語版 2.159.883.0)で確かめた記事から、まとめています。確認していないことは、記事の最後に書いています。
元の記事を読む →
確認日: 2026-10-25。CSV はダミーのデータで、無料です。