CLEARコマンドは、1つ以上の変数について、指定するデータを削除するコマンドです。
構文
CLEAR [STATUS | {ALL [CACHE]}] [VALUES | {aggdata [USING aggmapname]}] -
FROM {varname [ ( PARTITION partition-name ) ] } [, ... ]
ここで、aggdataは、変数から削除する集計データの型を特定する次のキーワードのいずれかです。
パラメータ
現在ステータスにあるデータのみを対象とするように指定します。(デフォルト)
ヒント: 圧縮コンポジットを消去する場合、一部の値のみがステータスにあるときにCLEARを実行しないでください。 |
現行のステータスにかかわらず、変数のすべてのデータをコマンドの対象とするように指定します。CACHEキーワードまたはAGGREGATESキーワードを指定する場合は必須です。
セッション・キャッシュを消去します。このキーワードを指定した場合は、ALLキーワードも同時に指定する必要があります。
(デフォルト)変数の保存済のデータをすべて削除して、NA
値に置換します。
AGGREGATEコマンドまたはAGGREGATEファンクションの実行によって移入されたすべてのセルのデータを削除します。このキーワードを指定した場合は、ALLキーワードも同時に指定する必要があります。
圧縮コンポジットでディメンション化された変数以外のすべての変数について、AGGREGATEコマンドの実行時に計算されたすべてのデータを削除して、NA
値に置換します。
AGGREGATEファンクションの実行により即時計算されたすべてのデータを削除して、NA
値に置換します。
詳細レベルのデータ(リーフ・データ)を削除します。
注意: 圧縮コンポジットによりディメンション化された変数に対しては、このキーワードを指定できません。 |
データを削除する変数の名前。
使用するaggmapの名前。
圧縮コンポジットではない変数または$AGGMAPプロパティを持たない変数を消去するには、この句を指定する必要があります。ただし次の変数を消去する場合は、この句を指定する必要はありません。
圧縮コンポジットによってディメンション化される変数。デフォルトでは、CLEARによるこの変数の消去は、その圧縮コンポジットの構造に基づいて行われます。
$AGGMAPプロパティを持つ変数(ただし、そのプロパティにより指定されたaggmapをCLEARで使用する場合)。$AGGMAPプロパティを持つ変数に対してUSING句を指定しない場合、CLEARではそのプロパティにより指定されたaggmapが使用されます。
ディメンション化されたaggmapに対してこの句を使用する場合、CLEARコマンド内に指定する各変数のディメンション性はaggmapのディメンション性と一致している必要があります。つまり、すべての変数が、その定義内にaggmapの定義と同じディメンションを同じ順序で持つ必要があります。
パーティション変数に対して、データを消去するパーティションの名前を指定します。
注意: 圧縮コンポジットの単一のパーティションのみを消去する場合、プロセス中に値を解凍するため、リソースが多量に消費され、処理に時間がかかります。 |
例
例9-65 変数のデータの消去
CLEARコマンドを使用することで、変数の保存済データすべてを簡単に削除できます。sales
変数を定義して、そこにデータをロードしたとします。その後、データのほとんどが変更されていることに気付きました。既存のデータを変更するよりも、このsales
変数を消去して、すべてのデータを再ロードする方が効率的です。次の文を使用して、これを実行します。
CLEAR ALL FROM sales
この例では、VALUESキーワードをデフォルトとして想定しています。したがって、sales
データはすべて削除され、NA
値に置換されます。
例9-66 集計データの消去
sales
変数およびunits
変数についての集計データがあり、その他のデータはすべて即時計算するように指定したとします。
sales
およびunits
変数には、time
、product
および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
は最も変化の遅いディメンションであるため、ユーザーが必要としない地域のデータを削除することにより、データの保存に必要なページ数を削減でき、これによって、アナリティック・ワークスペースのサイズの縮小と、パフォーマンスの向上が可能になります。
各ディメンションにステータスを設定します。ユーザーが必要とする地域は、ニューイングランド、ヨーロッパおよびオーストラレーシアのみです。次の文により、ユーザーが必要とする地域以外の地域の全期間および全製品を現行のステータスに設定します。つまり、次の文によって、ユーザーがアクセスする必要のないデータをすべてステータスに入れます。
LIMIT time TO ALL LIMIT product TO ALL LIMIT geography COMPLEMENT 'NewEngland' 'Europe' 'Australasia'
不要なデータを削除するには、次の文を使用します。
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