5

もう一度 SQL ステートメントに慣れてきたとき、Google アナリティクスからデータを取得するときに、SQL を使用するのではなく、ディメンションとメトリック、およびそれらの組み合わせを使用していることに気付きました。

その理由はなぜですか?SQL インターフェイス (またはプレーンな Web サーバー ログのダウンロード) がないと思いますか? その場合、SQL ステートメントはどのようにディメンション、メトリック (およびセグメントとフィルター) に変換されますか?

Metrics は count( ) や average( )などの「集計」である傾向があり、Dimension はログに記録された値そのもの (Browser == IE や Country == Australia など) である傾向があるようです。group by値。フィルターは条件のようなものですが、セグメントはどうでしょうか?

ディメンションを指定すると、自動的に a が実行group byされ、そのフィールドも表示されるようです。通常は count( ) または sum( ) を実行します。average(*)代わりに必要な場合はどうなりますか?表示させたいが、実行させたくない場合はどうすればよいgroup byでしょうか?

実験するウェブサイトの例はhttp://code.google.com/apis/analytics/docs/gdata/gdataExplorer.htmlにあります

4

5 に答える 5

8

「ディメンション」と「メトリクス」という用語の使用は、Google がリレーショナル データベースではなく OLAP データベースを使用していることを示唆しています。SQL はリレーショナル データベースに使用されます。OLAP は MDX または独自のクエリ言語 (Oracle の場合) を使用します。

http://en.wikipedia.org/wiki/OLAPから

OLAP システムの中核は、OLAP キューブ (「多次元キューブ」またはハイパーキューブとも呼ばれます) です。

これは、ディメンションによって分類されたメジャーと 呼ばれる数値ファクトで構成されます。

于 2010-08-18T09:12:06.083 に答える
3

私の推測では、このような質問をしているのであれば、単純なページ ビューなどのすぐに使えるレポートをいくつか見たことがあると思います。それだけのことをしているのであれば、Web Analytics の要点と能力を大幅に失っていることになります。一般的な Web 分析 (GA だけでなく) は、時間の経過に伴うデータの傾向を調べることです。また、データ自体は、事前定義とユーザー定義の両方の特定のルールと動作に従うことによって取得されます。

レポートのデータの多くは、直接データベース クエリから簡単に取得することはできません。これは、データが "xyz over time" や集計データなどの要約に基づいているためです。たとえば、ディメンションと指標の「スコープ」の概念では、変数や値が単一のページ ビューやイベントに関するデータ、または訪問 (セッション) の過程、さらにはユーザーが定義した時間に関するデータをレポートします。 (「これを1か月持続させる」または「特定の変数または変数タイプがポップされるように、何らかのイベントが発生するまでこれを持続させる」など)。

ほとんどのレポートにはデータ検索のより高いレベルの概念が含まれているため、データベースは抽象化されており、トレンド データを示すレポートを作成するのに役立つ "フレームワーク" (レポート インターフェイス) が配置されています。あなたがデータベースの専門家であっても、ページ ビューなどの最も基本的なデータを除いて、事実上すべてのデータを手動で抽出しようとすると、多大な時間と労力がかかります。そして、そのような基本的なデータはあまり実用的ではありません。

例として、キャンペーン トラッキングを見てください。すべては単一の var=value から始まります。ユーザーがリンクをクリックして、URL にその var=value を含むページに移動すると、トラッキング コードがその値を取得し、ページに関するデータ (URL、時間、ブラウザの種類、リストが続きます) だけでなく、属性の特定を開始します。など) だけでなく、カスタム コーディングから収集された他のすべてのデータも含まれます。次に、クリック単価または重み付けされたメジャーの添付、目標またはイベントへの成功の帰属など、他のルール (最初のクリックと最後のクリックの帰属など) に基づいて、それに適用できる他の設定があります。 ..)。登場するもののリストと考慮されるもののリストは、延々と続きます。これらのデータベース クエリ文字列を自分で作成してみてください。キャンペーン コードは 1 つだけだったので、洗い、すすぎを繰り返します。私' クライアントには何千ものキャンペーン コードがあり、毎日さらに多くのコードが追加されています。ああ、それに加えて、実際のレポートにデータを表示する方法に基づいて、まったく新しいクエリを調整または作成します。xyz による相互参照と分解。そのデータをもとにファネルやシナリオを見ています。これはキャンペーンのためだけのものであり、多くのことのうちの 1 つです。

簡単に言うと、レポート インターフェースはデータベースのフレームワークであると考えてください。定義済みのクエリを微調整できるため、特にほとんどの人データベースの専門家ではないため、人々のレポート作業が大幅に容易になります。

于 2010-09-23T13:50:42.407 に答える
3

おそらく、Big Table や Map-Reduce などの独自のテクノロジを使用して内部で開発されたものです。マッピングと集計は Map-Reduce 型アルゴリズムの強みであるため、データがこのようにさまざまな次元にわたって集計されているように見えることは理にかなっています。

それらについて詳しく知りたい場合は、次のウィキペディアの記事をお勧めします。

于 2010-08-20T16:54:35.287 に答える
2

その答えは、API が利用可能になる前は、データを分析できる唯一の方法が Google アナリティクス インターフェースを介するものだったという事実にあると思います。そして、彼らは「ディメンション」と「メトリック」を広く使用しています。技術者ではない人々が頻繁に使用していたため、複雑な SQL 構造を導入することはありませんでした。ドロップダウンがあると簡単です。

Google アナリティクスのデータが SQL に適した方法で保存されているかどうかは完全にはわかりません (つまり、テーブルの列と行)。私は彼らがこのデータを保存する独自の内部方法を開発したことを読みました.

于 2010-08-10T17:08:56.437 に答える
1

私たちも同様の質問を自問しました。多くの Web 分析 API は後付けであり、多くの場合、対応する製品の UI 機能に直接マッピングされているようです。Infunl (免責事項: 私は共同設立者です) を使用して、SQL に構文的に類似しているが、集約とその背後にあるマップ削減実行フレームワークに対して高度に最適化された柔軟なクエリ言語を使用して、Web 分析 API を構築していますさらに、コンバージョン ファネル ステップ、コホート分析、分割テストのサポート、柔軟なコンテンツのグループ化とセグメンテーションなど、Web 分析用に特別に設計された多くの組み込み機能を提供します。

于 2011-12-09T06:19:41.990 に答える