OracleBIで、別の分析の結果(絞り込んだテーブル情報)を分析に適用する方法

通常、OracleBIのFactテーブルとDimentionテーブルは、論理層と物理層で適切に紐づけられており、

例えば、売上のFactを、Dimの組織コードで絞ったり、GroupByして分析を行うことができます。

ただ、複雑なメタデータ定義になると、どうしても直接結びつけられるテーブルばかりとは限りません。

そんな時には、ある分析の結果レコードを保存しておき、次の分析のインプットとして使える機能が便利です。

これを使うと、ある条件で顧客を絞り、その顧客に対して、いろいろな分析を行うなど、ある意味セグメンテーションに近いことが柔軟にできます。

また、セグメンテーションは、通常、あらかじめ定義したID(顧客など)に対してしか行えませんが、

分析の結果を使用する方法では、抽出したカラムをなんでも利用できます。

以下では、例として、売上のFactを、組織で絞り込んでみましょう。(ふつうは、この程度であれば、メタ定義でテーブル同士を結びつけますが、簡便な例としてということで。。。)

 

最初に、レコードを絞り込む前の売上のレコードを見てみましょう。

image

 

 

次に、上記に対して、特定の組織のみを絞り込みするため、新たに分析を行います。

新しい分析では、フィルタ条件として、特定のROW_IDで組織を絞り込んでみます。

こうすることで、組織の分析の結果は、ROW_IDが1000000001、1000000002、1000000003に絞られました。

 

image  ⇒ image

 

 

この絞り込んだ分析は、名前を付けて保存しておきます。後ほど、売上の分析の画面から利用するためです。

ここでは、「絞った組織」という名前で分析を保存しました。

image

 

 

 

それでは、売上側の分析に戻って、組織をフィルタするのに、先ほど保存した分析を使用することにします。

 

image

 

 

上記のように、フィルタしたい項目で「フィルタ」を選ぶと、下記のような「新規フィルタ」ダイアログが開きます。

このダイアログでは、

演算子 ⇒ 別の分析結果に基づく
保存済分析 ⇒ 先ほど保存した「絞った組織」分析
を指定しましょう。

なお、「次の列の値を使用」の項目には、保存した分析の項目を選択します。

 

image

 

 

この作業により、具体的には、裏側で一時テーブルが生成され、上記で選択したカラム(上の例ではROW_ID)がInsertされます。

 

フィルタを適用すると、以下のように表示されるはずです。

image

 

 

それでは、実際に結果を見てみましょう。

下記のように、売上のFactデータが、1000000001、1000000002、1000000003に絞られていることが確認できると思います。

 

image

 

 



こんな記事も関係あるかも。読んでみてね。

コメントを残す

サブコンテンツ

このページの先頭へ