PL-300 練習ドリル(非公式) / 領域2 データのモデル化 / 択一
日付テーブルとして「マーク」
ケース スタディ: 売上と日付のモデル(状況と資料を見る)
あなたは、店舗の売上のレポートを作っている。モデルには、売上テーブルと、日付テーブルがある。
売上テーブルには、注文日と出荷日の2つの日付の列がある。日付テーブルは、DAX の CALENDAR 関数で作った(列名は Date)。
「資料」タブに、データと、モデルの状態がある。この状態のまま、次の3問に答える。
売上テーブル(rp_sales)
| 注文日 | 出荷日 | 店舗 | 売上 |
|---|---|---|---|
| 2026/10/20 | 2026/11/02 | 渋谷 | 1200 |
| 2026/10/28 | 2026/11/05 | 新宿 | 800 |
| 2026/11/03 | 2026/11/10 | 梅田 | 1500 |
| 2026/11/15 | 2026/11/25 | 難波 | 900 |
| 2026/11/20 | 2026/12/02 | 博多 | 1800 |
モデルの状態
- 日付テーブルの Date と、売上テーブルの注文日、出荷日を、どちらもリレーションシップでつないだ。
- 1本は実線、もう1本は点線で表示されている。
- 「売上合計」は SUM(rp_sales[売上]) のメジャー。月ごとの表に、日付テーブルの月と売上合計を並べた。
前年比のデータ(sales3)
売上は、2025年1月〜2026年3月の51行。
日付テーブルは 2025年1月〜2026年12月。
前年売上 = CALCULATE([売上合計], SAMEPERIODLASTYEAR(日付テーブル[Date]))
前年比 = DIVIDE([売上合計], [前年売上])日付テーブルを CALENDAR 関数で作り、売上テーブルと、リレーションシップでつないだ。
年度累計(TOTALYTD)や、前年売上(SAMEPERIODLASTYEAR)のような、時間を扱う関数を、正しく使えるようにしたい。
何をするか。
- A. (正解) 日付テーブルを、「日付テーブルとしてマーク」する
正しい。実機で、マークのあと、24か月分の年度累計と前年度累計が、別の計算(Python)と全部一致した。 - B. (不正解) リレーションシップだけで足りるので、何もしない
誤り。実機で、マークする前は、年度累計が、その月の売上と同じ値のまま、増えなかった(合計行も 46,503 で、年間の合計 92,994 にならなかった)。 - C. (不正解) 日付テーブルの「月」の列を、グラフの軸ではなく、値のウェルに入れる
誤り。実機で、月の列を値に入れると、「合計」になって、棒が2本になった。月は、軸に入れる。
解き方
日付テーブルは、作っただけでは、「日付テーブル」として扱われません。「日付テーブルとしてマーク」を設定して、時間を扱う関数が、日付の列を使えるようにします。
根拠(確かめたこと)
- 実機(記事 powerbi-fiscal-year-april-ytd-totalytd、powerbi-create-date-table-calendar)。
- 公式: 日付テーブルの設定と使い方(Set and use date tables in Power BI Desktop)。
公式ドキュメント
関連する記事
Microsoft 公式の教材ではなく、非公式の練習問題です。確認日: 2026-11-04。一覧に戻る / ドリルを始める