分析データ API への SQL アクセス
CData ドライバーは、Bing Ads、Google AdWords、SQL Server Analysis Services、YouTube Analytics など、分析データソースへの標準規格ベース(JDBC、ODBC など)の SQL アクセスを提供し、すべてのデータに単一のインターフェースでアクセスできるようにします。ただし、これらのサービスの基盤となるデータは本来多次元であるため、ほとんどの SQL 集計は適用されません。
分析データの操作
分析データサービスの背後にあるデータは、CData がサポートする他のほとんどのソースとは異なり、リレーショナルではありません。代わりに、データは多次元であり、メトリクスとディメンションとして公開されます。
- メトリクスは、サービスの意味のある数値です
- ディメンションは、メトリクスのグループ化方法を定義します
メトリクスを含まないクエリは空のレスポンスを返すため、CData ドライバーでは基本的にこのようなクエリは実行できず、エラーが発生します。ディメンションは、生の数値が何を意味するかについてのインサイトを提供します(本質的に集計です)。以下の2つのクエリを見てみましょう:
-
SELECT Month, Sessions FROM Traffic WHERE StartDate='2015-01-01' AND EndDate='2015-12-31'
このクエリは、Sessions(メトリクス)を Month(ディメンション)でグループ化し、12行(月ごとに1行)を返します。
-
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つのメトリクスが含まれていれば、サービスは送信されたクエリから意味のあるデータを返します。