ヘッダーをスキップ
Oracle® OLAP DMLリファレンス
11gリリース2 (11.2)
B61346-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

CLEAR

CLEARコマンドは、1つ以上の変数について、指定するデータを削除するコマンドです。

構文

CLEAR [STATUS | {ALL [CACHE]}] [VALUES | {aggdata [USING aggmapname]}] -

FROM {varname [ ( PARTITION partition-name ) ] } [, ... ]

ここで、aggdataは、変数から削除する集計データの型を特定する次のキーワードのいずれかです。

AGGREGATES
LEAVES
PRECOMPUTES
NONPRECOMPUTES

パラメータ

STATUS

現在ステータスにあるデータのみを対象とするように指定します。(デフォルト)


ヒント:

圧縮コンポジットを消去する場合、一部の値のみがステータスにあるときにCLEARを実行しないでください。

ALL

現行のステータスにかかわらず、変数のすべてのデータをコマンドの対象とするように指定します。CACHEキーワードまたはAGGREGATESキーワードを指定する場合は必須です。

CACHE

セッション・キャッシュを消去します。このキーワードを指定した場合は、ALLキーワードも同時に指定する必要があります。

VALUES

(デフォルト)変数の保存済のデータをすべて削除して、NA値に置換します。

AGGREGATES

AGGREGATEコマンドまたはAGGREGATEファンクションの実行によって移入されたすべてのセルのデータを削除します。このキーワードを指定した場合は、ALLキーワードも同時に指定する必要があります。

PRECOMPUTES

圧縮コンポジットでディメンション化された変数以外のすべての変数について、AGGREGATEコマンドの実行時に計算されたすべてのデータを削除して、NA値に置換します。

NONPRECOMPUTES

AGGREGATEファンクションの実行により即時計算されたすべてのデータを削除して、NA値に置換します。

LEAVES

詳細レベルのデータ(リーフ・データ)を削除します。


注意:

圧縮コンポジットによりディメンション化された変数に対しては、このキーワードを指定できません。

varname

データを削除する変数の名前。

aggmapname

使用するaggmapの名前。

圧縮コンポジットではない変数または$AGGMAPプロパティを持たない変数を消去するには、この句を指定する必要があります。ただし次の変数を消去する場合は、この句を指定する必要はありません。

  • 圧縮コンポジットによってディメンション化される変数。デフォルトでは、CLEARによるこの変数の消去は、その圧縮コンポジットの構造に基づいて行われます。

  • $AGGMAPプロパティを持つ変数(ただし、そのプロパティにより指定されたaggmapをCLEARで使用する場合)。$AGGMAPプロパティを持つ変数に対してUSING句を指定しない場合、CLEARではそのプロパティにより指定されたaggmapが使用されます。

ディメンション化されたaggmapに対してこの句を使用する場合、CLEARコマンド内に指定する各変数のディメンション性はaggmapのディメンション性と一致している必要があります。つまり、すべての変数が、その定義内にaggmapの定義と同じディメンションを同じ順序で持つ必要があります。

PARTITION partition_name

パーティション変数に対して、データを消去するパーティションの名前を指定します。


注意:

圧縮コンポジットの単一のパーティションのみを消去する場合、プロセス中に値を解凍するため、リソースが多量に消費され、処理に時間がかかります。

例9-65 変数のデータの消去

CLEARコマンドを使用することで、変数の保存済データすべてを簡単に削除できます。sales変数を定義して、そこにデータをロードしたとします。その後、データのほとんどが変更されていることに気付きました。既存のデータを変更するよりも、このsales変数を消去して、すべてのデータを再ロードする方が効率的です。次の文を使用して、これを実行します。

CLEAR ALL FROM sales

この例では、VALUESキーワードをデフォルトとして想定しています。したがって、salesデータはすべて削除され、NA値に置換されます。

例9-66 集計データの消去

sales変数およびunits変数についての集計データがあり、その他のデータはすべて即時計算するように指定したとします。

salesおよびunits変数には、timeproductおよびgeographyという3つの同じディメンションが、同じ順序で定義されています。そのため、これらは、次の定義を持つsales.agg aggmapで集計されました。

DEFINE sales.agg AGGMAP <time, product, geography>

sales.agg aggmapには次の内容が含まれています。

RELATION time.r PRECOMPUTES (time ne 'YEAR99')
RELATION product.r PRECOMPUTES (product ne 'ALL')
RELATION geography.r

salesおよびunitsの両方を集計すると、ユーザーがまったくアクセスしない地域があることがわかります。geographyは最も変化の遅いディメンションであるため、ユーザーが必要としない地域のデータを削除することにより、データの保存に必要なページ数を削減でき、これによって、アナリティック・ワークスペースのサイズの縮小と、パフォーマンスの向上が可能になります。

  1. 各ディメンションにステータスを設定します。ユーザーが必要とする地域は、ニューイングランド、ヨーロッパおよびオーストラレーシアのみです。次の文により、ユーザーが必要とする地域以外の地域の全期間および全製品を現行のステータスに設定します。つまり、次の文によって、ユーザーがアクセスする必要のないデータをすべてステータスに入れます。

    LIMIT time TO ALL
    LIMIT product TO ALL
    LIMIT geography COMPLEMENT 'NewEngland' 'Europe' 'Australasia'
    
  2. 不要なデータを削除するには、次の文を使用します。

    CLEAR STATUS PRECOMPUTES FROM sales units USING sales.agg
    

例9-67 キャッシュされたデータの消去

aggmapで即時計算が指定されており、かつaggmapがCACHE SESSION文を含む場合、データがキャッシュされます。

たとえば、sales.agg aggmapに次の内容が含まれているとします。

RELATION time.r PRECOMPUTES (time ne 'YEAR99')
RELATION product.r PRECOMPUTES (product ne 'ALL')
RELATION geography.r
CACHE SESSION

sales.aggがCACHE SESSIONコマンドを含むことに注意してください。これにより、Oracle OLAPは一部のデータをユーザーからリクエストされた時点で計算し、それをセッション・キャッシュに保存します。sales変数からこのデータを消去するには、次の文を使用します。

CLEAR ALL CACHE FROM sales