エンティティ属性値データベースに基づいてデータ ウェアハウスを作成することは可能ですか?
もしそうなら、どのように?
基本的に、次の形式のデータがあります。
id name value
----------------
1 name1 10
1 name2 20
1 name3 30
2 name1 40
2 name2 50
2 name3 60
...
次の代わりに:
id name1 name2 name3
--------------------
1 10 20 30
2 40 50 60
私が抱えている問題は、ファクト テーブルに入れることができる特定の名前/測定値のセットがないことです。
name1
、name2
および事前に知られていませんname3
(それらがいくつ存在する可能性さえありません)。
これを解決する方法についてのアイデアはありますか? インターネットで検索しましたが、関連する情報が見つかりませんでした。どんな助けでも大歓迎です...
注: データ ウェアハウスを構築した経験はありません。私は現在読んでいます: The Data Warehouse ETL Toolkit: Practical Techniques for Extracting, Cleaning, Conforming, and Delivering Data (by Ralph Kimball)
ベンに(コメントから)答えるには:「あなたのテーブルは実際に正規化されています...なぜ非正規化したいのですか?」
長い回答:
当社のお客様は、ワークスペースの OLAP キューブからディメンションとメジャーをドラッグ アンド ドロップし、選択したデータを表示できるツールを使用しています。
私がモデルを使用する場合、Paul Grimshaw は、顧客が名前をワークスペースにドラッグし、名前が同じになるようにフィルターを追加する必要があることを提案しましたname1
(彼が望む場合)。
一方、顧客がワークスペースにドラッグできる名前のリストを持っている場合、関連付けられたデータにアクセスするためのアクション (使いやすさ) は 1 つだけで済みますname1
(例にすぎません)。もう 1 つの理由があります。見つけやすさです。顧客は、名前のフィルターを追加する代わりに、使用可能な名前のリストを見て、そこから選択することができます (正確な名前を知る必要があります)。
簡単な答え: 顧客にとっての使いやすさ (名前の発見可能性を含む)。