Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データのクエリと変更

 

OLAP のサポート

OLAP (オンライン分析処理) では、単一の SQL 文内で複雑なデータ分析を実行できます。また、データベースでクエリの量を減らすことでパフォーマンスを向上しながら、結果の値を増やすことができます。SQL Anywhere では、SQL 文と Window 関数の拡張を使用することで、OLAP 機能を利用できます。このような SQL の拡張や機能では、多次元データ分析、データ・マイニング、時系列分析、傾向分析、コスト配分、ゴール・シーク、例外警告などを、通常は単一の SQL 文を使用して、簡単に実行できます。

  • SELECT 文の拡張   SELECT 文を拡張することにより、入力ローをグループ化したり、グループを分析したり、最終結果セットに検索結果を含めることができます。これらの拡張には、GROUP BY 句 (GROUPING SETS、CUBE、ROLLUP の各サブ句) と WINDOW 句に対する拡張が含まれます。

    GROUP BY 句の拡張では、入力ローを複数の方法で分割できるため、さまざまなグループを連結する結果セットを得ることができます。データ・マイニング用に散在した多次元結果セット (「データ・キューブ」とも呼ばれる) を作成することもできます。さらに、この拡張により、サブ合計のローと総合計のローを使用して、分析をより便利にすることができます。GROUP BY 句の拡張を参照してください。

    WINDOW 句は、入力ローのグループで分析する機会を増やすために Window 関数とともに使用されます。Window 関数を参照してください。

  • Window 集合関数   ほぼすべての SQL Anywhere 集合関数で、入力ローの処理に合わせて入力ローを上から下に移動する、設定可能なスライド「ウィンドウ」の概念がサポートされています。ウィンドウの移動とともにウィンドウ内のデータに対する追加の計算を実行できるため、セマンティック上同等なセルフジョイン・クエリや相関サブクエリを使用する方法よりも効率的な方法で、詳細な分析を実行できます。

    たとえば Window 集合関数を GROUP BY 句の CUBE、ROLLUP、GROUPING SETS 拡張と組み合わせることで、単一の SQL 文内における百分位数、移動平均、累積合計を効率的に計算できます。それ以外の方法では、セルフジョイン、相関サブクエリ、テンポラリ・テーブル、またはこれら 3 つを組み合わせなければなりません。

    Window 集合関数を使用すると、ダウ・ジョーンズ工業平均株価の四半期の移動平均や、部門ごとの全従業員と給与の累積合計などの情報を取得できます。また、平方偏差、標準偏差、相関、回帰などの測定を計算することもできます。Window 集合関数を参照してください。

  • Window ランキング関数   Windows ランキング関数を使用すると、今年出荷された総売り上げ上位 10 製品や、最低 15 企業に販売注文した販売担当者の上位 5% といった情報を取得する、単一文の SQL クエリを作ることができます。Window ランキング関数を参照してください。


OLAP のパフォーマンス向上
GROUP BY 句の拡張
GROUPING SETS のショートカットとしての ROLLUP と CUBE の使用
Window 関数
SQL Anywhere の Window 関数