分析データ API への SQL アクセス



CData ドライバーは、Bing Ads、Google AdWords、SQL Server Analysis Services、YouTube Analytics など、分析データソースへの標準規格ベース(JDBC、ODBC など)の SQL アクセスを提供し、すべてのデータに単一のインターフェースでアクセスできるようにします。ただし、これらのサービスの基盤となるデータは本来多次元であるため、ほとんどの SQL 集計は適用されません。

分析データの操作

分析データサービスの背後にあるデータは、CData がサポートする他のほとんどのソースとは異なり、リレーショナルではありません。代わりに、データは多次元であり、メトリクスとディメンションとして公開されます。

  • メトリクスは、サービスの意味のある数値です
  • ディメンションは、メトリクスのグループ化方法を定義します

メトリクスを含まないクエリは空のレスポンスを返すため、CData ドライバーでは基本的にこのようなクエリは実行できず、エラーが発生します。ディメンションは、生の数値が何を意味するかについてのインサイトを提供します(本質的に集計です)。以下の2つのクエリを見てみましょう:

  1. SELECT Month, Sessions FROM Traffic WHERE StartDate='2015-01-01' AND EndDate='2015-12-31'

    このクエリは、Sessions(メトリクス)を Month(ディメンション)でグループ化し、12行(月ごとに1行)を返します。

  2. SELECT Month, DeviceCategory, Sessions FROM Traffic WHERE StartDate='2015-01-01' AND EndDate='2015-12-31'

    このクエリは、Month(ディメンション1)でグループ化し、さらに各月を DeviceCategory(ディメンション2、つまりモバイル、タブレット、デスクトップ)で分類して、36行(月ごとに3行)を返します。

注意:分析データ API はデータの集計を提供します。集計を含む SQL クエリはドライバーでサポートされていません。これは、そのような集計が API で公開されるデータに対してさらなる意味を提供しないためです。

メトリクスとディメンションを使用してデータを取得する

一般的に、すべてのクエリは、選択したディメンション(カテゴリ)でグループ化された、対象のメトリクス(数値)のセットになります。クエリに少なくとも1つのメトリクスが含まれていれば、サービスは送信されたクエリから意味のあるデータを返します。