![]() 前へ |
![]() 次へ |
キューブ演算子を使用すると、キューブからのデータの抽出、キューブへのデータのロード、およびキューブからのデータの削除が可能です。キューブからデータを抽出するには、キューブ演算子をマッピングのソースとして使用します。
|
注意: MOLAP実装を使用するキューブからデータを抽出することはできません。 |
データをキューブにロードするのか、キューブから削除するのかを指定するには、キューブ演算子の「ロード・タイプ」プロパティを使用します。キューブの場合、「ロード・タイプ」プロパティはLOAD、INSERT_LOAD、REMOVEの3つの値を取ります。
キューブ演算子にはACTIVE_DATEという属性が含まれています。この属性は、タイプ2のSCDにおけるアクティブなレコードの判別に使用される時点を示します。このプロパティは、ロード対象のキューブにタイプ2のSCDが1つ以上存在する場合にのみ適用可能です。
ソースからACTIVE_DATEに属性をマップしない場合は、デフォルトとしてSYSDATEが使用されます。
ソースの属性をACTIVE_DATEにマップすると、キューブ・レコードによって参照されるタイプ2のSCDレコードのバージョンを判別するために、ソースの属性値が使用されます。レベルがタイプ2のSCDであるディメンションをキューブが参照する場合、ディメンション・メンバーの判別のために生成されるWHERE句は、次のとおりです。
...
WHERE
(...
(<dim_name>.DIMKEY = <lookup_for_dimension_dimkey> AND
(<level>_EFFECTIVE_DATE <= ACTIVE_DATE AND
<level>_EXPIRATION_DATE >= ACTIVE_DATE) OR
(<level>_EFFECTIVE_DATE <= ACTIVE_DATE AND
<level>_EXPIRATION_DATE IS NULL))
...)
キューブがロードされるマッピングで、NULL以外の値に設定された「デフォルトのオープン・レコード終了時間」があるタイプ2 SCDを1つ以上参照する場合、キューブ演算子のACTIVE_DATE属性は、ディメンション・レコードの範囲を定義する日付値のあるソースからマッピングする必要があります。
ACTIVE_DATE属性がソースからマップされていない場合は、SYSDATE値によってディメンション・レコードの日付範囲が定義されます。
ACTIVE_DATE属性がソースからマップされている場合、範囲の比較を実行してロードするディメンション・レコードを判別する際にソースの属性値が使用されます。
ディメンション・メンバーの参照を実行する際に使用されるロジックは、前述のWHERE句で説明しています。