Microsoft SQL ServerビジネスインテリジェンスとAnalysis Service
(ただし、SQL Serverを使用して何年もプログラミングしています)単純な単語(画像で可能な場合)でキューブのメジャーとディメンションを記述できますか?
ありがとう
分析したいprocessまたはeventについて考えてみてください。
Lougle Analyticsを構築していて、(単一ページのリクエストではなく)サイトへのアクセスを分析したいとします。ウェブサイトへのアクセスはプロセスです。
ファクトテーブルは、分析するプロセスまたはイベントを表します。この場合は、サイト訪問のリストです。プロセスまたはイベントごとに1つ、必要なだけファクトテーブルを作成できます。
サイト訪問の分析に役立つと思われるものは何ですか?
技術的には、Excelの場合と同様に、これをすべて1つのテーブルに入れることができますが、実際には非常に高速になるため、1レベルの正規化を行います。次元設計は、多くの場合、「分析に必要なすべてのものを1つの大きなテーブルにまとめる」だけで、1つのレベルを正規化します。
したがって、ファクトテーブルは次のようになります。
web_browser_key bigint
ip_address_key bigint
start_date_key int
referring_page_key bigint
landing_page_key bigint
exit_page_key bigint
duration_seconds int
number_of_pages_visited int
他のテーブルの値を参照する一連のキー値†、および2つの非キーがあります。非キーは数値であり、Measuresと呼ばれます。 Webブラウザーのブランド名の平均をとることができますか?いいえ、それは次元です。滞在時間の平均をとってもらえますか?はい、それはメジャーです。
他のテーブルはDimensionテーブルと呼ばれ、ip_address
ディメンションテーブルは次のようになります。
ip_address_key bigserial primary key, /* use meaningless surrogate keys */
ip_address inet unique,
country text,
division text,
locality text,
latitude numeric(8,6),
longitude numeric(9,6)
正規化されていないことに注意してください。国は都市(地域)から派生する可能性があります。ただし、データウェアハウスでは、まず分析を容易にするに注意します。分析を容易にするということは、深い結合を避けることを意味します。
ディメンションテーブルの一部のデータがhierarchical:国>部門>地域であることに注意してください。あなたのOLAPサーバーは(うまくいけば)ドリルダウン操作をサポートするために階層を理解しています。
論理Cubeは、使用しているディメンションとメジャーのコレクションにすぎません。ルービックキューブとは異なり、3次元を超えることができます。ディメンションをデータセットの列と考えてください。
[〜#〜] olap [〜#〜]は一連の操作などのデータセットに対して実行できますピボット、スライス、ダイシング、ドリル。 Excelピボットテーブルについて考えてみましょう。 OLAPサーバーは、OLAP操作を容易にします。
†通常、外部キーなし
以下の画像は、基本的なスタースキーマの例です。ディメンションはDim_Tablesです。
これらは通常、データの分析に使用する値です。したがって、特定の国における特定の日付範囲での特定の製品の売上を確認したいとします。
Fact_salesテーブルには、Units_Soldというメジャーが1つだけあります。
メジャー(最も単純なレベル)は、ディメンションの基準に基づいて分析するときに集計したいものです。
他に具体的に知りたいことがあれば、お知らせください。