DAXで累計を作る方法|MTD・QTD・YTDの違いと使い分け

DAXで累計を作る方法|MTD・QTD・YTDの違いと使い分けの記事アイキャッチ ビジネススキル

累計には、月初から、四半期初から、年初からという異なる起点があります。DAXではTOTALMTD、TOTALQTD、TOTALYTDを使い、現在選ばれている日付までの売上を動的に集計できます。ただし、日付テーブルが不連続だったり、月単位の表示だけで検算したりすると、想定外の値に気付きにくくなります。この記事では3つの累計の違い、基本式、会計年度、日別・月別の検算方法まで解説します。

この記事でできるようになること

  • MTD・QTD・YTDの起点とリセット時点を説明できる
  • TOTALMTD・TOTALQTD・TOTALYTDで累計メジャーを作れる
  • 日付テーブル、会計年度、総計表示を含めて結果を検算できる
  1. 先に結論:MTD・QTD・YTDは累計の開始点が違う
  2. 累計を作る前のデータモデル
    1. 日付テーブルと基本売上メジャーを用意する
    2. 日別と月別の両方で確認する
  3. MTD・QTD・YTDを作る6ステップ
    1. 手順1:連続日付と期間属性を作る
    2. 手順2:売上日とのリレーションを作る
    3. 手順3:売上メジャーを検算する
    4. 手順4:月累計と四半期累計を作る
    5. 手順5:年累計を作り年度末を確認する
    6. 手順6:3つの累計を並べて検算する
  4. MTD・QTD・YTDの基本式
    1. 3つの累計メジャー
    2. 会計年度YTDの例
  5. 累計メジャーの検算方法
  6. 累計が合わない原因と対処法
    1. 累計が毎日同じ値になる
    2. 月初でMTDがリセットされない
    3. YTDが暦年で計算される
    4. 総計が行の足し算に見えない
  7. 累計と移動集計を区別する
  8. 実務で継続運用するためのポイント
    1. メジャー名と表示形式を統一する
    2. 検算用ピボットテーブルを残す
    3. 定義とモデル変更を記録する
  9. よくある質問
      1. DATESMTDとTOTALMTDの違いは?
      2. 売上がない日を表示する必要がありますか?
      3. YTDは年合計と同じですか?
  10. UdemyでDAX・Power Pivotをさらに学びたい方へ
    1. 1.Microsoft Excel – Power Pivot, Power Query, DAX 入門講座
    2. 2.3時間でDAXの基礎を徹底解説 Power BIでのレポート作成のレベルをあげる!
    3. 3.【Power Pivot】大量データを瞬時に集計・分析!DAX関数&ダッシュボード作成実践講座
  11. まとめ:開始点とリセットを確認する

先に結論:MTD・QTD・YTDは累計の開始点が違う

MTDは月初、QTDは四半期初、YTDは年初から現在日までを合計します。同じ売上メジャーを使っても、どこで0へ戻るかが異なります。

日別表に3つを並べると違いが明確です。月が変わるとMTD、四半期が変わるとQTD、年が変わるとYTDがリセットされます。

月累計と年累計の動きを比較します。

DAXの月累計MTDが毎月リセットされ年累計YTDが年初から積み上がる違いを示す図
図1: 月累計MTDと年累計YTDの起点とリセット時点

QTDはその中間で、1〜3月、4〜6月など四半期の開始日から積み上がります。会社の四半期区分が暦年と違う場合は日付テーブルの定義を確認します。

累計の前提

売上が発生した日だけではなく、分析対象期間のすべての日付を持つ日付テーブルを使います。累計の起点は日付コンテキストから判断されます。

累計を作る前のデータモデル

日付テーブルと基本売上メジャーを用意する

日付テーブルは1日1行で連続し、日付、年、四半期、月番号、年月、年度などを持ちます。売上テーブルの販売日へ1対多で関連付けます。

基本売上メジャーを[売上] = SUM('売上'[売上金額])として作り、3つの累計関数から参照します。計算定義を重複させないことで保守しやすくなります。

年月表示は文字列でも構いませんが、日付または年×月番号で並べ替えます。並び順が崩れると累計の見た目を誤解します。

指標 開始点 リセット 主な用途
MTD 月初 翌月 月次進捗
QTD 四半期初 次四半期 四半期目標
YTD 年初 翌年 年間進捗

日別と月別の両方で確認する

月別ピボットでは各月末時点の累計だけが見えます。動作を理解するには、日付を行に置き、月初や四半期初で値がリセットされることを確認します。

売上がない日も日付テーブルには存在します。その日の累計が前日から維持されるか、空白になるかはメジャーと表示設定によるため、期待するレポート表現を決めます。

同じ現在日でも、関数ごとに取り込む日付範囲が変わります。

DAXで現在日を基準にMTDは月初、QTDは四半期初、YTDは年初から売上を集計する流れ
図2: 現在日からMTD・QTD・YTDそれぞれの開始日までを集計する

3つの式を別々の集計として覚えるより、同じ売上を異なる日付集合で再評価すると捉えると理解しやすくなります。

MTD・QTD・YTDを作る6ステップ

3つのメジャーを同じ前提から作ります。

Excel Power Pivotで日付テーブルを売上へ関連付けてDAXのMTD、QTD、YTDメジャーを作る図
図3: 日付テーブルと売上を関連付け、MTD・QTD・YTDを作って日別に検算する

式は短いものの、値の正しさは日付モデルと現在のフィルターに依存します。期間関数だけを入れ替えて完成とせず、起点と最終日を確認します。

手順1:連続日付と期間属性を作る

分析期間の毎日を持つ日付テーブルへ年、四半期、月、年度列を追加します。 ここで大切なのは、画面上で一度だけ正しい結果を作ることではなく、翌月の更新でも同じ条件が再現されるように、操作を適用したステップとして残すことです。

期間の開始と終了を日付集合から判断できるようにします。 Power Queryは上から順に処理を実行するため、列名やデータ型を整える位置が後続処理の安定性を左右します。目的が分かるステップ名へ変更しておくと、引き継ぎ時にも判断しやすくなります。

日付の欠け、重複、空白が0件か確認します。 更新後はプレビューの数行だけで判断せず、行数、null件数、合計値など、変換前に決めた基準と照合してください。

手順2:売上日とのリレーションを作る

日付テーブルの日付を1側、売上の販売日を多側としてアクティブ関係を作ります。 ここで大切なのは、画面上で一度だけ正しい結果を作ることではなく、翌月の更新でも同じ条件が再現されるように、操作を適用したステップとして残すことです。

日付フィルターを売上へ伝えます。 Power Queryは上から順に処理を実行するため、列名やデータ型を整える位置が後続処理の安定性を左右します。目的が分かるステップ名へ変更しておくと、引き継ぎ時にも判断しやすくなります。

日時に時刻が含まれて一致しない行がないか確認します。 更新後はプレビューの数行だけで判断せず、行数、null件数、合計値など、変換前に決めた基準と照合してください。

手順3:売上メジャーを検算する

SUMまたはSUMXで業務定義に合う売上メジャーを作ります。 ここで大切なのは、画面上で一度だけ正しい結果を作ることではなく、翌月の更新でも同じ条件が再現されるように、操作を適用したステップとして残すことです。

すべての累計は同じ基本メジャーを期間だけ変えて評価します。 Power Queryは上から順に処理を実行するため、列名やデータ型を整える位置が後続処理の安定性を左右します。目的が分かるステップ名へ変更しておくと、引き継ぎ時にも判断しやすくなります。

日・月・年の合計を元データと照合します。 更新後はプレビューの数行だけで判断せず、行数、null件数、合計値など、変換前に決めた基準と照合してください。

手順4:月累計と四半期累計を作る

TOTALMTDとTOTALQTDへ[売上]と日付列を指定します。 ここで大切なのは、画面上で一度だけ正しい結果を作ることではなく、翌月の更新でも同じ条件が再現されるように、操作を適用したステップとして残すことです。

現在日を含む月・四半期の開始から値を集計します。 Power Queryは上から順に処理を実行するため、列名やデータ型を整える位置が後続処理の安定性を左右します。目的が分かるステップ名へ変更しておくと、引き継ぎ時にも判断しやすくなります。

月初と四半期初で値が当日売上へ戻ることを確認します。 更新後はプレビューの数行だけで判断せず、行数、null件数、合計値など、変換前に決めた基準と照合してください。

手順5:年累計を作り年度末を確認する

TOTALYTDへ[売上]と日付列を指定します。会計年度の場合は使用環境に合う年度末指定を検討します。 ここで大切なのは、画面上で一度だけ正しい結果を作ることではなく、翌月の更新でも同じ条件が再現されるように、操作を適用したステップとして残すことです。

年間進捗の起点を暦年または会計年度に合わせます。 Power Queryは上から順に処理を実行するため、列名やデータ型を整える位置が後続処理の安定性を左右します。目的が分かるステップ名へ変更しておくと、引き継ぎ時にも判断しやすくなります。

年初・年度初でリセットされることを確認します。 更新後はプレビューの数行だけで判断せず、行数、null件数、合計値など、変換前に決めた基準と照合してください。

手順6:3つの累計を並べて検算する

日付、売上、MTD、QTD、YTDを同じピボットへ置き、期間境界を確認します。 ここで大切なのは、画面上で一度だけ正しい結果を作ることではなく、翌月の更新でも同じ条件が再現されるように、操作を適用したステップとして残すことです。

総計だけではリセット位置の誤りを発見できません。 Power Queryは上から順に処理を実行するため、列名やデータ型を整える位置が後続処理の安定性を左右します。目的が分かるステップ名へ変更しておくと、引き継ぎ時にも判断しやすくなります。

月初、四半期初、年初と各期間末の代表日を照合します。 更新後はプレビューの数行だけで判断せず、行数、null件数、合計値など、変換前に決めた基準と照合してください。

MTD・QTD・YTDの基本式

日付テーブル名を日付、基本メジャーを[売上]とした例です。

3つの累計メジャー

開始点だけが異なり、評価する式と日付列は共通です。

売上MTD :=
TOTALMTD ( [売上], '日付'[日付] )

売上QTD :=
TOTALQTD ( [売上], '日付'[日付] )

売上YTD :=
TOTALYTD ( [売上], '日付'[日付] )

関数は現在のフィルターコンテキストで月・四半期・年の開始から現在日までを評価します。商品や地域のフィルターは維持されます。

会計年度YTDの例

6月末を年度末とする環境で、日付列入力へ年度末文字列を指定する例です。

売上年度累計 :=
TOTALYTD (
    [売上],
    '日付'[日付],
    "6/30"
)

日付文字列はブックのロケールに影響されます。カレンダー参照を使う新しい構文やExcelバージョンの差もあるため、実環境で年度境界を必ず検算します。

表示粒度 MTD QTD YTD
日別 月内で増加 四半期内で増加 年内で増加
月別 各月末累計 四半期内の累計 年初から各月末
年別 年末月の月累計 年末四半期累計 年間合計

期間の境界では、どの累計がリセットされるかを見ます。

DAXの累計が3月31日から4月1日へ移る際にMTDとQTDはリセットされYTDは継続する比較図
図4: 四半期境界でMTDとQTDがリセットされYTDが継続する

4月1日は月初と四半期初が重なるためMTDとQTDが同じ当日値になります。YTDだけは年初からの累計を維持します。

累計メジャーの検算方法

代表期間を1つ選び、元明細を開始日から対象日まで合計します。例えば4月15日のMTDは4月1〜15日、QTDは4月1〜15日、YTDは1月1〜4月15日です。

四半期境界では3月31日と4月1日、年境界では12月31日と1月1日を並べます。会計年度なら年度開始日前後を同様に確認します。

期間関数の6つの確認点です。

DAXのMTD QTD YTDで日付連続性とリレーション、月初・四半期初・年初のリセット、期間末合計を検算する図
図5: 日付、関係、月初、四半期初、年初、期間末で累計を確認する

同じ日付でMTD、QTD、YTDが一致するのは、月初が四半期初・年初と重なる場合など自然なことがあります。差があるべき日を選んで検算します。

スライサーで特定月だけを選んだときのYTD表示も確認します。表示させたい期間とフィルターの掛け方により、期待する結果が異なるため、レポート利用者へ意味を説明します。

累計が合わない原因と対処法

累計が毎日同じ値になる

日付を変えても期間全体の合計が表示されます。 この状態で更新を続けると、見た目は完成していても集計軸が分裂したり、明細が欠落したりするため、結果だけを手直ししてはいけません。

日付テーブルの列ではなく売上側の日付や文字列年月を軸にしています。 原因を特定するときは、エラーが見えた最終ステップから戻るのではなく、値が初めて想定外になったステップを探します。

ピボット軸を日付テーブルの列へ変更し、関係を確認します。 修正ルールは元データを直接書き換えるのではなく、クエリの変換または管理可能なマスター表として残します。

日別で累計が段階的に変わることを確認します。 修正後は正常行だけでなく、例外行が0件になったか、または意図した監査表へ分離されたかまで確認します。

月初でMTDがリセットされない

前月の値が翌月へ持ち越されます。 この状態で更新を続けると、見た目は完成していても集計軸が分裂したり、明細が欠落したりするため、結果だけを手直ししてはいけません。

日付列の型、関係、表示粒度、独自の月区分に問題があります。 原因を特定するときは、エラーが見えた最終ステップから戻るのではなく、値が初めて想定外になったステップを探します。

連続日付と月属性を確認し、標準月と業務月の定義を分けます。 修正ルールは元データを直接書き換えるのではなく、クエリの変換または管理可能なマスター表として残します。

月末と翌月初の2日を直接比較します。 修正後は正常行だけでなく、例外行が0件になったか、または意図した監査表へ分離されたかまで確認します。

YTDが暦年で計算される

4月開始年度なのに1月でリセットされます。 この状態で更新を続けると、見た目は完成していても集計軸が分裂したり、明細が欠落したりするため、結果だけを手直ししてはいけません。

年度末指定または会計カレンダーが設定されていません。 原因を特定するときは、エラーが見えた最終ステップから戻るのではなく、値が初めて想定外になったステップを探します。

日付テーブルへ年度属性を作り、対応するTOTALYTD構文またはDATESYTDを使用します。 修正ルールは元データを直接書き換えるのではなく、クエリの変換または管理可能なマスター表として残します。

3月31日と4月1日など年度境界を検算します。 修正後は正常行だけでなく、例外行が0件になったか、または意図した監査表へ分離されたかまで確認します。

総計が行の足し算に見えない

ピボットの総計が表示行の累計値を単純合計した値ではありません。 この状態で更新を続けると、見た目は完成していても集計軸が分裂したり、明細が欠落したりするため、結果だけを手直ししてはいけません。

メジャーは総計セルのフィルターコンテキストで再評価されます。 原因を特定するときは、エラーが見えた最終ステップから戻るのではなく、値が初めて想定外になったステップを探します。

総計で何を表示すべきか定義し、必要ならISINSCOPE等で表示制御を検討します。 修正ルールは元データを直接書き換えるのではなく、クエリの変換または管理可能なマスター表として残します。

総計を元期間の売上合計と照合します。 修正後は正常行だけでなく、例外行が0件になったか、または意図した監査表へ分離されたかまで確認します。

実績累計と予算累計を比較するときの粒度をそろえます。

日次の売上実績と月次予算を月末粒度へそろえてDAXで実績YTDと予算YTDを比較する流れ
図6: 日次実績と月次予算の粒度をそろえて累計比較する

予算を日割りしない場合、月途中は締め済み月までで比較するなど、表示基準日を先に決めます。

累計と移動集計を区別する

MTD・QTD・YTDは暦上の開始点から積み上げる累計です。直近30日や直近12か月のローリング集計は、現在日から一定期間を後ろへ取るため別の式を使います。

目標進捗ではYTD、月内のペースではMTD、短期トレンドでは移動平均など、問いに合わせて選びます。同じグラフへ複数を重ねる場合は単位と期間を明記します。

指標 期間 質問
MTD 月初〜現在日 今月どこまで進んだか
QTD 四半期初〜現在日 四半期進捗はどうか
YTD 年初〜現在日 年間進捗はどうか
直近30日 現在日から過去30日 最近の勢いはどうか

予算も同じ粒度の日付または月へ関連付ければ、実績YTDと予算YTDを比較できます。ただし月次予算を日別へ均等配分するか、月末時点で比較するかを先に決めます。

期中のダッシュボードでは、累計値だけでなく当日値や期間目標も並べると、増加が売上発生によるものか、単に日数が進んだ結果なのかを判断しやすくなります。締め済み期間と進行中期間を同じグラフで比較する場合は比較基準日をそろえ、前年同月末と今月15日をそのまま比べず前年15日時点のMTDを用意します。

月別表へYTDを置く場合、各行はその月単体ではなく、その月末までの累計です。行を合計すると二重計上になるため、列名を『売上YTD(月末時点)』のようにし、Excelへ書き出した後も期間の終点が分かる表示にします。

実務で継続運用するためのポイント

メジャー名と表示形式を統一する

DAXメジャーには、値の定義が分かる名前と表示形式を設定します。金額、数量、率、指数を区別し、同じ『前年比』でも差額、成長率、前年を100とした指数のどれかを名称から判断できるようにします。

基本メジャー、期間比較、比率、表示用メジャーをフォルダーまたは命名規則で整理します。式の中へ同じ集計を繰り返さず、検算済みの基本メジャーを参照すると、定義変更の影響範囲を小さくできます。

検算用ピボットテーブルを残す

完成ダッシュボードとは別に、日付、商品、地域などを自由に置ける小さな検算用ピボットを残します。基本値と派生値を同時に表示し、総計、代表明細、フィルターなし、単一選択の状態を比較します。

メジャーが正しく見える1つのセルだけを確認せず、境界日、空白、0、未一致、複数選択などの条件をテストします。DAXはセルのフィルターコンテキストで再評価されるため、テストケースを変えることが式の品質確認になります。

定義とモデル変更を記録する

メジャーの目的、分子、分母、対象期間、空白時の扱い、参照テーブルを一覧にします。リレーション、日付テーブル、列名を変更した場合は、関係するメジャーとピボットの検算結果を記録します。

数値の定義は式だけでは伝わりません。利用者が同じ言葉を別の意味で使わないよう、レポート上の注記とメジャー定義をそろえ、変更後は主要数値を確定済みレポートへ照合します。

よくある質問

DATESMTDとTOTALMTDの違いは?

DATESMTDは月初から現在日までの日付テーブルを返し、TOTALMTDは指定した式をその期間で評価します。複雑なCALCULATE式ではDATESMTDを使うと意図を分解できます。

売上がない日を表示する必要がありますか?

期間の連続性と進捗確認には表示が役立ちます。ピボットの『データのないアイテムを表示』やメジャーの空白処理を目的に合わせて設定します。

YTDは年合計と同じですか?

年末時点では通常同じですが、年途中では年初から現在日までです。将来月の予算や全年度見込みとは別の指標です。

UdemyでDAX・Power Pivotをさらに学びたい方へ

MTD・QTD・YTDは評価期間の違いをレポート上で比較すると、関数名だけでは分かりにくい動きをつかみやすくなります。

記事の内容を動画と演習で復習したい方へ、関連性の高いUdemy講座を3つ選びました。

1.Microsoft Excel – Power Pivot, Power Query, DAX 入門講座

こんな方におすすめ

ExcelでPower Query、Power Pivot、DAXがどう連携するのかを、レポート作成の流れに沿って学びたい方に向いています。

2.3時間でDAXの基礎を徹底解説 Power BIでのレポート作成のレベルをあげる!

こんな方におすすめ

CALCULATE、前年比、累計、SUMXなど、この記事群で扱うDAXの考え方と基本関数を集中して学びたい方に向いています。

3.【Power Pivot】大量データを瞬時に集計・分析!DAX関数&ダッシュボード作成実践講座

こんな方におすすめ

Excel Power PivotでデータモデルとDAXを組み合わせ、実務の集計やダッシュボード作成まで進みたい方に向いています。

Udemyは動画の再生速度を調整でき、必要な箇所を繰り返し確認できます。価格は講座やセール時期によって変わるため、申込み前に講座ページの内容、対応環境、最新価格をご確認ください。

※本記事にはアフィリエイトリンクが含まれます。リンク経由で申込みがあった場合、運営者に報酬が発生することがあります。

まとめ:開始点とリセットを確認する

MTD、QTD、YTDは、月初、四半期初、年初から現在日までの売上を累計する指標です。

連続した日付テーブルと売上の関係を作り、基本売上メジャーをTOTALMTD、TOTALQTD、TOTALYTDで評価します。

月初、四半期初、年初のリセットと期間末の合計を元明細へ照合し、会計年度や総計セルの意味も確認してからレポートへ使います。

ビジネススキルの人気オンラインコース

コメント

タイトルとURLをコピーしました