セマンティック・モデルによるデータの問合せ方法

Oracle Analytics問合せエンジンは、論理SQL問合せを解釈し、セマンティック・モデルで指定されたデータ・ソースに対する最適化された物理SQL問合せを生成します。

Oracle Analytics問合せエンジン

Oracle Analytics問合せエンジンは、Oracle Analyticsの管理対象およびセルフサービスの分析機能のバックボーンです。問合せエンジンは、一元化されたデータ・アクセスを提供し、計算を行い、誰もが企業全体で自分のアプリケーション・ロールに応じた情報を利用できるパイプラインを構築することで、データガバナンスを実現します。問合せエンジンは、データ・ビジュアライゼーション、ダッシュボード、アドホック問合せ、モバイル・アクセス、エンタープライズ・レポート、データ・フローなどの中心となります。セマンティック・モデルは、問合せエンジンの頭脳として機能します。

Oracle Analytics問合せエンジンは、論理データ・モデルを維持し、そのモデルへのODBC接続またはネイティブAPI (Oracle DatabaseのOCIなど)を使用したアクセスをクライアントに提供します。

論理SQL問合せ

Oracle Analytics問合せエンジンは、セマンティック・モデルのメタデータを使用して、ワークブック、ダッシュボードおよび分析からの論理SQL問合せを、データを提供するマップ済データ・ソースに対する物理SQL問合せに変換します。また、Oracle Analytics問合せエンジンは、物理結果セットを変換して結合し、最終的な計算を実行します。

次の図は、論理SQL問合せがセマンティック・モデルのレイヤーを移動してデータ・ソースを問い合せる方法を示しています。


セマンティック・モデルのSQLリクエスト

論理リクエストの変換例

この例では、Oracle Analytics問合せエンジンが論理SQL問合せを解釈して物理SQL問合せに変換する方法を示しています。

Oracle Analytics問合せエンジンは、次の単純なクライアント・リクエストを受け取ります:

SELECT
"D0 Time"."T02 Per Name Month" saw_0,
"D4 Product"."P01 Product" saw_1,
"F2 Units"."2-01 Billed Qty (Sum All)" saw_2
FROM "Sample Sales"
ORDER BY saw_0, saw_1

Oracle Analytics問合せエンジンは、論理SQL問合せを物理SQL問合せに変換します:

WITH SAWITH0 AS (
select T986.Per_Name_Month as c1, T879.Prod_Dsc as c2,
   sum(T835.Units) as c3, T879.Prod_Key as c4
from
   Product T879 /* A05 Product */ ,
   Time_Mth T986 /* A08 Time Mth */ ,
   FactsRev T835 /* A11 Revenue (Billed Time Join) */
where ( T835.Prod_Key = T879.Prod_Key and T835.Bill_Mth = T986.Row_Wid)
group by T879.Prod_Dsc, T879.Prod_Key, T986.Per_Name_Month
)
select SAWITH0.c1 as c1, SAWITH0.c2 as c2, SAWITH0.c3 as c3
from SAWITH0
order by c1, c2