0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle Analytics Cloud:時系列関数で前期間のデータを検索する

Posted at

はじめに

Oracle Analytics Cloud(OAC)には時系列関数が備わっており、特殊な時系列計算を簡単に実施できるようになっています。
従来は、セマンティック・モデルとして定義されたサブジェクト領域をデータソースとした時のみ、サポートされていました。
現在(2024年3月)では、時系列データを含むデータセットでも使用可能になっています。

こちらのチュートリアルで入手できる、Sample_order_lines.xlsx をデータセットとして登録し、時系列関数を試してみます。

1. 時系列関数

時系列関数とは、時系列データに基づいて集計や予測をするためのOACの組み込み関数です。
この記事では、集計のための3つの関数を紹介します。

1.1 Ago

指定した時間間隔(Time_Level)で指定した期間(Offset)だけ遡ったメジャー列を集計します。

AGO(<<Measure>>, <<Time_Level>>, <<Offset>>)

Measureは、集計する列です。
Time_Levelに指定できるのは、Year, Quarter, Month, Week, Day のいずれかです。
Offsetには、何期間遡るかを指定します。
Time_Level が Year で、Offset が 1の場合は 1年前を意味します。

AGO(Sales, Year, 1)
とすると、1年前のSales列の値を集計します。

1.2 PeriodRolling

現在時間を基準にして、x期間前からy期間後までのメジャー列の値を集計します。

PERIODROLLING(<<Measure>>, x ,y)

PERIODROLLING(measure, -2, 0)
とすると、-2期間前から現在期間(現在は0)まで measure を集計します。
(-2, -1, 0 の3期間分となります)
時間単位は、検索に含まれる最も詳細な時間要素によって決定されます。
例えば、検索に含まれる時間要素が「年」だけの場合は今年を含む直近3年を意味し、「月」が含まれる場合は今月を含む直近3ヶ月を意味します。

1.3 ToDate

ある期間の開始時点から最新の期間までのメジャー列の値を集計します。

TODATE(<<Measure>>, <<Time_Level>>)

Measureは、集計する列です。
Time_Levelに指定できるのは、Year, Quarter, Month, Week, Day のいずれかです。

TODATE(Sales, Month)
とすると、Sales列を月ごとに累計します。検索には「月」を含める必要があります。
年や四半期など同時に検索される上位の時間単位が変わると、累計した値がリセットされます。

2. ワークブックで使用してみる

実際に試します。
Sales Order Linesデータセットを使って、新しいワークブックを作成します。
「計算の作成」で新しい計算を追加します。
image.png

2.1 過去の指定した期間の集計(AGO関数)

関数の検索ボックスに「ago」を入力すると、時系列計算の関数として「Ago」がヒットします。
「Ago」をダブルクリックすると、式エディタに挿入されます。
image.png

名前を「前年売上」とします。
式は

AGO(Sales, Year, 1)

とします。
image.png

「Sales」列と「Order Date」列を展開して「年」列、今作成した「前年売上」をCtrlキーを押しながら同時に選択し、右クリックします。
「ビジュアライゼーションの選択」をクリックします。
image.png

「表」ビジュアライゼーションをクリックします。
image.png

「前年売上」に、1年前の値が表示されていることがわかります。
image.png

2.2 指定した期間の移動集計(PERIODROLLING関数)

先程の表ビジュアライゼーションに「四半期」を追加します。
image.png

PERIODROLLING関数で売上の移動平均を求めます。

新たに計算を追加します。
名前は「Sales移動平均(3期間)」にします。
式は

PERIODROLLING(Sales, -2, 0)/3

とします。
image.png

開始期間を -2 としたので、現在期間を 0 として2期間遡ることになります。(つまり3期間分集計します)
2期間前から現在期間まで集計された Sales列の値を(期間数である)3で割ります。

image.png

2.3 指定した期間の累計(TODATE関数)

Salesの年累計を求めます。年が変わると累計した値はリセットするものとします。

新たな計算を追加します。
名前は「Sales YTD」にして、式は

TODATE(Sales, Year)

とします。

image.png

image.png

3. ドキュメント

4. その他の方法

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?