【PowerBI】Snapshotから月末・年末データを取得する方法

こんにちはMJです!

Power BIで日次のスナップショットデータを持っている場合、「月末時点の値」だけを抽出して表示したいケースがよくあると思います。

特に、在庫、契約件数、利用者数といった「ある時点の状態」を示すスナップショットデータは、月末の値のみを集計するほうが分かりやすいです。

このとき、Power BIでは CLOSINGBALANCEMONTH 関数を使うことでシンプルに実現できる。

それでは関数の使い方とサンプルをご紹介します。

データ準備

スナップショットデータには、以下のような日付単位のレコードが格納されているとします。

DATE PRODUCT_ID QTY_IN_STOCK
2025-01-01 P-001 204
2025-01-01 P-002 46
... ...
2025-01-31 P-003 82
2025-02-01 P-001 181
... ...
  • DATE は日付型
  • PRODUCT_IDは製品コード
  • QTY_IN_STOCK はその日のスナップショット値

カレンダーとして使うテーブルを追加します。

DATE
2025-01-01
2025-01-02
...
2025-01-31
2025-02-01
...

・DATEはスナップショットデータと1:多関係を定義します。

 

CLOSINGBALANCEMONTH関数の使い方

この関数の構文は以下の通りです。

CLOSINGBALANCEMONTH(
     <expression>,<dates>[,<filter>]
)
  • expression : 出力する表現式を入力
  • dates : 日付列、カレンダー参照
  • filter(オプション) : 適用するフィルターを指定

 

CLOSINGBALANCEMONTH を使ったサンプル

月末時点の値を取得するためのメジャー定義は以下の通りです。

Last_Day_Of_Month = 
CLOSINGBALANCEMONTH(
	SUM(snapshot[QTY_IN_STOCK]), 
	'calendar'[DATE]
)

 

実際のレポートでの表示

このメジャーを、表(Table) で「日付」を軸に置いて表示すると、各月の最終日の値が出力される。

これにより、スナップショットテーブルから「月末の情報」を抽出することができる。

 

参考:四半期末・年末にも対応可能

類似関数を使えば、月末以外の期間でも取得可能です。

目的 関数
四半期末の値 CLOSINGBALANCEQUARTER()
年末の値 CLOSINGBALANCEYEAR()

 

まとめ

PowerBIでは時系列が含まれるスナップショットデータに対してCLOSINGBALANCE 系関数を活用することで、不要な加工を行わずに簡単に「特定時点のデータ」を取得することができます。是非皆さんも使ってみてください!

 

BI製品のサポートはぜひKCMEで!

自然言語を使って簡単にデータの可視化ができるBIツール、ThoughtSpotの詳細はこちら

おすすめの記事