3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

OAC(Oracle Analytics Cloud)でデータを分析する際に、過去のデータと比較をするというのは、よくあることだと思います。
そういった比較を実現するための方法はいくつかあり、これまでにも何度か紹介しました。
今回は、「FILTER USING」を使用する方法を紹介します。

サンプルデータ

日付型の列が含まれていれば何でもOKです。
Excelファイルをアップロードしたデータセットを使用します。

特定の月のデータを集計

準備したデータセットを使用して、新規ワークブックを作成します。

image.png

現在の日付から前月を計算する式を作成

計算を作成します。

image.png

式の例
TIMESTAMPADD(SQL_TSI_MONTH, -1, CURRENT_DATE)

image.png

これにより、システム日付を基準にして月を「-1」した日付(つまり前月同日)が計算されます。

2025/5/31の1ヶ月前がいつになるのかは、この式で確認できます。
TIMESTAMPADD(SQL_TSI_MONTH, -1, CAST('31-MAY-25' as DATE))

前月の売上計算する式を作成

FILTER USINGを使用します。
書式は

  • FILTER(<メジャー列> USING <条件>)

です。
先に作成しておいた式「前月」を使用します。受注日は、もともと存在する日付型の列です。

式の例
FILTER(金額 USING YEAR(受注日) * 100 + MONTH(受注日) = YEAR(前月) * 100 + MONTH(前月))

受注日が「2025/09/30」だとしたら、「YEAR(受注日) * 100 + MONTH(受注日)」は「202509」になります。
この計算を実行した日が「2025/10/01」だとしたら、計算式「前月」の値は「2025/09/10」となり、「YEAR(前月) * 100 + MONTH(前月)」は「202509」となります。

これにより、その行は前月の売上と判定され集計の対象となります。

image.png

当月の売上を計算

同様の手順で、当月の売上を計算式で求めます。
現在の日付は「CURRENT_DATE」関数で取得できるので、計算式「当月」は作成せず、「当月売上」のみ作成します。

式の例
FILTER(金額 USING YEAR(受注日) * 100 + MONTH(受注日) = YEAR(CURRENT_DATE) * 100 + MONTH(CURRENT_DATE))

image.png

実行例

※ 2025/10/27 に実行しました

年月を含めた表の例

image.png

年月を含めない表の例

image.png

比率を求める

当月売上を前月売上で割って比率を求めます。

image.png

image.png

さらなるカスタマイズの可能性

今回は、システム日付に基づいた前月と当月を計算しましたが、前年同月を計算することも可能です。

システム日付を基準に1年前の日付を取得する式の例
TIMESTAMPADD(SQL_TSI_YEAR, -1, CURRENT_DATE)

基準となる日付をシステム日付ではなく、セッション編集やパラメータ値から取得することもできます。

関連情報

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?