0

私は多次元データウェアハウスに不慣れで、レポート用のデータウェアハウスソリューションの開発を職場に任されているので、これはばかげた質問かもしれませんが、ここで...

私のファクトテーブルの各レコードには、それぞれのディメンションテーブル(例:dimCustomer、dimGeography、dimProduct)にリンクするFK列があります。

ETLプロセス中にデータウェアハウスをロードするとき、最初に詳細を含むディメンションテーブルをロードし、次にファクトテーブルをロードし、ルックアップ変換を実行して、ファクトテーブルに配置するFK値を見つけました。そうすることで、ファクトテーブルの各行に同じ値のFKがあるように見えます(たとえば、row1のFKはボード全体の各列に1、row2のFKは2など)

これが典型的なものなのか、それとも倉庫とETLプロセスの設計を再考する必要があるのか​​疑問に思っています。

任意の提案をいただければ幸いです。

ありがとう

4

1 に答える 1

2

あなたのコメントに基づくと、ETLプロセスに失敗したステップがあるようです。

コールセンター/コンタクトセンターの場合、次のようなファクトテーブルから始めることができます。

CallFactID - unique key just for ETL purposes only
AssociateID - call center associate who initially took the call
ProductID - product that the user is calling about
CallTypeID - General, Complaint, Misc, etc
ClientID - company / individual that is calling
CallDateID - linked to your Date (by day) Dimension
CallTimeOfDayID - bucketed id for call time based on business rules
CallStartTimestamp - ANSI timestamp of start time
CallEndTimestamp - ANSI timestamp of end time
CallDurationTimestamp - INTERVAL data type, or integer in seconds, call duration

その場合、ディメンションテーブルは次のようになります。

AssociateDim
ProductDim
CallTypeDim
ClientDim
DateDim
TimeOfDayDim

ETLは、最初にディメンションを作成する必要があります。ソースシステムにリレーショナルモデルがある場合は、通常、「Products」テーブルや「Associates」テーブルなどのさまざまなものの「ルックアップ」テーブルに移動し、次のように含めるのが理にかなっている関係を非正規化します。属性。たとえば、リレーショナル製品テーブルは次のようになります。

PRODUCTS: ProductKey, 
          ProductName, 
          ProductTypeKey, 
          ProductManufacturerKey, 
          SKU, 
          UPC

製品タイプと製造元を調べて、これを一般的な製品ディメンションに非正規化すると、次のようになります。

PRODUCTDIM: PRODUCTID (DW surrogate key), 
            ProductKey, 
            ProductName, 
            ProductTypeDesc, 
            ManufacturerDesc,
            ManufacturerCountry,
            SKU,
            UPC

トランザクション(コールレコード)テーブルにのみ存在するがカーディナリティが低い属性の場合SELECT DISTINCT、これらのテーブルで実行することでディメンションを作成できます。

すべてのディメンションを読み込んだら、(ディメンションに保存した)自然キーに基づいて各ディメンションに対してルックアップを実行してファクトを読み込み、そのキーをファクト行に割り当てます。

DWスタースキーマを使用したETLの詳細については、RalphKimballの著書TheData WarehouseETLToolkitを強くお勧めします。

于 2012-07-24T12:56:39.190 に答える