コンセプトの上書き
Insight データ ウェアハウス (Data DB とも呼ばれます) には、次のドキュメントのデータが保存されます。レコード、指標、および変換テーブル。
データは、データ ロード プロセス中に Data DB に表示されます。このデータについては、オペレーティング システムからアップロードするか、外部ソースからコピーします。通常、データ ロード プロセスは次の手順で構成されます。
-
データの新しいバッチを Data DB の中間テーブルにロードします (複数のデータ ソースの場合は、すべてのソースからロードします)。
-
上書きルールに従って、Data DB のメイン テーブルからデータを削除します。
-
中間テーブルからメイン テーブルにデータをコピーします。
以下の情報を確認して、データ上書きの概念のロジックをよく理解し、この知識をプロジェクトの管理に役立ててください。
次のような 3 種類の上書きルールを使用できます。
-
時間フィールドによる上書き (時間フィールドが設定範囲内にある場合、データは削除されます)。
-
上書きフィールドによる上書き (リストに上書きフィールドがある場合、データは削除されます)。
-
時間フィールドまたは上書きフィールドが存在しない場合は、すべてが上書きされます。
時間フィールドによる上書き
この上書きルールは最も一般的なルールです。これは、時間フィールドが設定されていて、ドキュメントに上書きフィールドが存在しない場合にのみ使用されます。デフォルトでは、レコードと指標に使用されます。指定された時間フィールドに基づいて、FromDate:ToDate データの読み込み間隔のデータが削除されます。[プロパティ パネル] の [ベース] セクションで [日時のみで上書き] を選択して、この間隔を絞り込むこともできます。この場合、間隔は Min(TimeField)、Max(TimeField) によって設定されます。
時間フィールドと上書きフィールドは組み合わせることができます。[上書きディメンションごとの個別の日付範囲] オプションが上書きフィールドに選択されています。これは、時間フィールドによる削除が、中間テーブルからの上書きフィールドの一意の値ごとに個別に行われることを意味します。
上書きフィールドによる上書き
この手順では、上書きフィールドの一意の値が中間テーブルで識別されます。これらの値を持つ行はメイン テーブルから削除されます。このようなフィールドが複数存在する場合は、1 回の要求で AND 演算子を使用して各フィールドを個別に削除します。この論理は、DateTime を含むすべてのフィールド タイプに関連しています。
このルールは通常、現在の状態を含むテーブルのデータを更新するために使用されます。たとえば、サンプル プロジェクトの [注文] レコードでは、ディメンション識別子は [SalesOrderID] であり、上書きフィールドとしてマークされています。時間フィルタの式は次のとおりです。
FromDate <= ModifiedDate AND ModifiedDate < ToDate
データのロード プロセスは、次の手順に従います。
-
変更されたすべての行を中間テーブルにロードします。
-
[SalesOrderID] を上書きフィールドとして使用して、これらの行をメイン テーブルから削除します。
-
行を中間テーブルからメイン テーブルにコピーします。
上書きフィールドによる上書きは、変換テーブルで使用できる唯一のルールです。
すべて上書き
ドキュメントに時間フィールドまたは上書きフィールドが存在しない場合、古いデータはすべて削除され、新しいデータがその場所にアップロードされます。この上書きルールは、変換テーブルの更新に使用されます。ただし、データの一部のみを更新する必要がある場合は、[ItemID] を上書きフィールドとして設定できます。