妄想エントリーです。非常に観念的な話で実践的ではないですが、それ故に有用(分かった気になれる)になることもあり得る。
“突っ込まれbility” が発揮出来るエントリーになるといいのですが。
アナロジーは、
- GAのディメンジョンは、SQLでいうところのgroup by。
- GAの指標の方は、SQLでいうところの selectの集計関数を使った結果。
僕のSQLの理解は怪しいので、このアナロジーは間違ってるかもしれないけど、こういうイメージで、昔、ピンときた。sqlの経験は、はっきりいうと、sqliteで株価データをいじってテクニカル指標を出してたくらいしかないので、sqlを語ってはいけないのかもしれないけど。
で、前提としては、GAのデータ集合はセッションをデータ行として並べてるイメージです。
GAのレポートは、集約関数が常に使われているイメージ
GAのレポートを見るときは、常にSQLの集約関数の結果がでてるイメージで行く。
select count(*) from ga-table group-by (traffic|user|content)
こんな感じで、トラフィックやら、ユーザー(新規・リピーターとか)、ページでのセッション数を見てる。
アドバンスセグメントなんかは、
- ディメンジョンでセグメントする場合は、where句が付く感じ。
- 指標でセグメントする場合は、having句で絞る感じでしょうか?
カスタムレポートは、
- select部分に、いろんな集計関数(平均ページビューならaverage, 滞在時間ならsum, 他は大体 countとか。
- group byにディメンジョン。サブディメンジョンにはサブクエリー?違う気がしてきたけど、、
終わり。
突っ込むところ満載なのかもしれないけど、inspiredされる人が居るかもしれないので、エントリー。
しかし、どうやって、こんなに早いデータ表示をしてるんだろうとは思う。googleといえば、big tableなわけでRDBSでない。RDBSならこんなスピードはでない? 知らないし、理解できないけど。 このデータ処理のレスポンスタイムはすごい。
こちらもあわせてどうぞ