2022/07/29

アドバンスド

OVER関数の使い方

※7/29開催セミナー「TIBCO Spotfire活用セミナー ~ OVER関数の使い方 ~」で紹介した内容です

ここのコンテンツでは、SpotfireにおけるOVER関数の使い方について説明しています。
本コンテンツで利用したバージョンは、Spotfire Analyst 11.4です。ご利用環境によって、一部画面構成が異なる場合がありますので、ご了承ください。

探索的分析/原因分析の領域で
高い評価と実績
TIBCO Spotfire

TIBCO Spotfire®は分析に必要な機能を単一製品でカバーするビジュアルアナリティクスツールです。

OVER関数とは

Spotfireには様々な関数があり、計算カラムの作成や縦軸の集計式に使えます。その中の「OVER関数」を使うことで、集計や可視化の幅がさらに広がります。

  • 集計関数(Avg, Count, Max, Min等)
  • 論理関数(Case, If等の条件分岐)
  • テキスト関数(&, Left等の文字列に対する操作)
  • ビニング関数
  • OVER関数 …etc

Spotfireの式にOVER関数を適用することにより、集計処理を行う際の「集計対象データのグループ」を指定できます。

OVER関数の使い方

計算カラムとカスタム演算式

OVER関数は計算カラムとカスタム演算式で用いることができ、それぞれで使い方が異なり、使い分けることができます。

  • 計算カラム
    指定したカラムの値を基準にデータをグループ化します(SQLにおけるGROUP BY句に相当)。
  • カスタム演算式
    OVER関数とNode Navigationを組み合わせて「データのグルーピング(区分け)」を指定します。

式の構造

計算カラムにおけるOVER関数

指定したカラムの値を基準にデータをグループ化します。
使い方としては、OVERの前に集計したい統計量(下図では売上額の平均)を指定し、後ろにグループ化したい基準のカラムを指定します。
下図の例1では、担当者ごとの平均売上額を集計できます。
さらに、例2のようにOVER関数の後ろに指定する箇所に、「,(カンマ)」区切りで複数のカラムを指定できます。これにより、例2では、担当者かつ業種ごとの平均売上額を集計できます。

実際に計算カラムを作成し、テーブルで表示した結果が下図です。上記例2の集計結果が「担当者・業種ごとの売上平均」カラムとして作成され、担当者かつ業種ごとの平均売上額が算出されていることがわかります。

カスタム演算式におけるOVER関数

カスタム演算式では、OVER関数とNode Navigationを組み合わせて「データのグルーピング(区分け)」を指定します。
使い方としては、OVERの前に集計したい統計量(下図では売上額の平均)を指定します。続くOVER関数の中で、Node Navigationと、参照するノード(下図ではX軸)を指定して、データのグルーピングを行います。

Node Navigation

Node Navigationには、下記のような様々な種類があり、各利用方法はこちらをご参照ください。

  • All
  • Previous
  • Next
  • AllPrevious
  • LastPeriods
  • AllNext
  • ParentNext
  • Intersect
  • Previous Period
  • Next Period …etc

OVER関数を使ったグラフ作成

売上額の推移のグラフを基にして、Y軸のカスタム演算式でNode Navigationを変えていきOVER関数の使い方を学びます。

サンプルデータについて

本コンテンツで使用するサンプルデータはこちらです。

データ読み込み

営業売上データを読み込みます。Spotfire画面左側の+ボタンから「ローカルファイルを参照」し、営業売上.txtを選択します。

データの中身を確認するため、テーブルを表示します。「ビジュアライゼーションタイプ」から「テーブル」を選択します。
今回使用するのは、ある営業3部門に所属する各メンバーの得意先に関する売上が時系列で記載されたデータです。

基になるグラフの作成

画面下側の+ボタンを押してページを追加し、基になる売上額推移のグラフを作成します。
「ビジュアライゼーションタイプ」から「棒グラフ」を選択します。

  • X軸:年月(年 > 四半期 > 月)
  • Y軸:Sum(売上額)

ページ名を「売上額推移」とします。

ここから、Y軸のカスタム演算式でOVER関数を使用して、以下のグラフを作成します。

  • 累積
  • 前月比
  • 移動平均

累積グラフ

まず累積グラフを作成します。
「売上額推移」のページを複製します。ページの上で右クリック > 複製 をします。
すると、ページが複製されます。「売上額推移(2)」のページができました。

Y軸の「Sum(売上額)」上で右クリックをして「カスタム演算式」を選択します。

すると、「カスタム演算式」ダイアログが表示されます。
「カスタム演算式」ダイアログの式内に以下の式を入力し、「OK」を押します。

Sum([売上額]) OVER (AllPrevious([Axis.X]))

式は当月までの累積値を出しています。

すると、累積のグラフができました。ページ名を「累積」とします。

X軸のスライダーで階層を変えられます。X軸の階層を「年月(月)」から「年月(四半期)」に変えてみます。階層を1段階上げても、四半期ごとの累積売上額のグラフを作成できていることが確認できます。

前月比

続いて、前月比のグラフを作成します。
再度「売上額推移」のページを複製して、そのページで前月比のグラフを作成します。

Y軸「Sum(売上額)」上で右クリックをして、カスタム演算式を選択します。
カスタム演算式ダイアログで下記の式を入力します。

Sum([売上額]) / Sum([売上額]) OVER (PreviousPeriod([Axis.X]))

式では、当月の売上額を前月で割って前月比を出しています。

  • Sum([売上額]):当月
  • Sum([売上額]) OVER (PreviousPeriod([Axis.X])):前月

前月比のグラフができました。デフォルトでは、Y軸が整数のみ表示されています。そのため、書式設定を変えて小数点第一位まで表示します。

プロパティ > 書式設定で以下の設定をします。

  • 軸:値の軸
  • カテゴリ:数値
  • 実数値:1

すると、Y軸が小数点表記に変更でき、前月比のグラフが完成しました。ページ名を「前月比」とします。

移動平均

最後に移動平均を作成します。再度「売上額推移」のページを複製して、そのページで移動平均のグラフを作成します。

ラインチャートで売上額推移および、その移動平均を描画します。
ビジュアライゼーション上で右クリックをして、「ビジュアライゼーションの切り替え」> 「ラインチャート」を選択します。

ラインチャートに切り替わりました。

Y軸にSum(売上額)の移動平均を追加します。
これまで同様、カスタム演算式を直接書く方法もありますが、Y軸のプルダウンメニュー「集計」項目を使う方法もあります。

Y軸「Sum(売上額)」の上の+ボタンをクリックして線を追加します。Y軸のプルダウンメニューが開きます。
売上額を選択し、「集計」項目で「移動平均」を選択します。

すると、移動平均の式が自動入力されます。右側のメニュー内で移動平均の間隔を設定することができるため、下記に設定を変えます。

  • 間隔のサイズ:5

自動入力された式は移動平均を算出しています。分解して説明すると下記のようになります。

  • Sum([売上額])
    :売上合計
  • THEN Avg([Value]) OVER (LastPeriods(5,[Axis.X]))
    :5カ月分の移動平均を計算(THENキーワードは集計計算の後ろにTHENを使用し、THEN以前の計算結果を[Value]で参照できます。今回は[Vaue]でSum([売上額])を参照します。)
  • THEN If(Count() OVER (LastPeriods(5,[Axis.X]))=5,[Value],null)
    :計算対象が5カ月に不足しているデータは値をNULLに変換

移動平均のグラフができました。黄色のラインチャートが移動平均のグラフです。時系列ごとの大まかな傾向が把握しやすくなりました。

このように、カスタム演算式においてOVER関数でNodeNavigationを変更して、柔軟にグラフを作成できます。

探索的分析/原因分析の領域で
高い評価と実績
TIBCO Spotfire

TIBCO Spotfire®は分析に必要な機能を単一製品でカバーするビジュアルアナリティクスツールです。

【アドバンスド】記事一覧に戻る
全記事一覧に戻る