0

与えられたデータソースからデータマートを作成しています。データ マートに次のテーブルを作成しました。

FactPopulation (Fact table which has population data per year)
FactMeeting count (Fact table which has event info occur almost everyday 2005-)
DimMeeting Topic (Name of Meetings)
DimGeography (Place)
DimDate (Date Dimension)

したがって、分析を行いたい場合は、人口と会議の郡では粒度が異なります。年ごと、月ごとに分析したい。両方のファクト テーブルを 1 つまたは任意の提案に結合する方法はありますか?

4

2 に答える 2

0

ファクトポピュレーションとは?その名前から、その場所の人口の推移を表していると思います。

あの場所はDimGeographyと同じですか?その場合、人口をこのディメンションの属性にし、タイプ 2 の緩やかに変化するディメンションにして、時間の経過に伴う人口の変化を説明します。

コメント1の後に編集:

あなたが提案した事実と次元にいくつかのサンプルデータ、またはより完全な列名があれば助けになるでしょうが、私の解釈では、このようなモデルがあなたの問題を解決するでしょう:

dim_event (id,name,...)
dim_geography (id,country,city,...,population,from_date,to_date)
dim_date (id,cal_date,cal_year,cal_month,...)
fact_meeting (event_id,geography_id,date_id,...,attendee_count)

ゆっくりと変化する次元に精通していますか? タイプ 2 ディメンションは、時間の経過に伴う人口の変化を処理します。

満足させようとしているビジネス クエリの例を示していませんが、質問にいくつか投稿すると、この回答を SQL で更新して、このモデルによってどのように満足されるかを示します。

于 2016-02-17T10:07:48.697 に答える
0

データが特定の粒度にロールアップされたら、たとえば FactMeeting の粒度よりも深くする最も簡単な方法は、ソースを振り返り、必要な粒度で別のロールアップを作成することです。FactMeetingByCounty テーブルを作成することを検討してください。このテーブルはロールされ、カウント メトリックは郡ごとになります。次に、目的の結合データを単一のテーブルとして生成します。

別の方法として、この「新しい粒度ロジック」と FactPopulation ファクトの作成に使用されたロジックを利用した後のテーブルを作成することもできます。

ここにはたくさんのオプションがあります。

于 2016-02-16T21:54:35.107 に答える