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

前
 
次
 

LAGABSPCT

LAGABSPCTファンクションは、ディメンションの現行値より前の指定されたオフセットの位置にあるディメンション化された変数または式の値と、ディメンション化された変数または式の現行値との差の割合を返します。

結果の計算の際に常に前の期間の値の符合を使用するLAGPCTファンクションと異なり、LAGABSPCTは前の期間の値の絶対値を使用するので、差の割合の方向がわかります。

戻り値

差の割合に対応するDECIMAL値、または時間ディメンションの最初の期間より前に相対位置変更しようとした場合はNA

構文

LAGABSPCT(variablendimension, [STATUS|NOSTATUS|limit-clause] )

パラメータ

time-series

dimensionによってディメンション化される変数または式。

n

前に相対位置変更するオフセット(つまり、ディメンション値の数)。LAGABSPCTはこの値を使用して、変数の値を取得するためにLAGABSPCTがディメンションを戻るべき値の数を決定します。

通常、nは、現行期間より前の期間(ディメンション値)の数を示す正のINTEGERです。nに負数の値を指定した場合、現行期間より後の期間の数を示します。この場合、LAGABSPCTは時系列の現行値をそれ以降の値と比較します。

dimension

前への相対位置変更が発生するディメンション。任意のディメンションを指定できますが、通常は、1つのレベル(月レベル、年レベルなど)に制限されているTEXT型の階層型時間ディメンション、またはDAY、WEEK、MONTH、QUARTER、YEARのいずれかの型のディメンションです。

variableにDAY、WEEK、MONTH、QUARTERまたはYEAR型のディメンションがあり、LAGABSPCTでそのディメンションを使用する場合、dimension引数は省略可能です。

STATUS

LAGABSPCTが前への相対位置変更を計算する際に、現行のステータス・リスト(つまり現在ステータスにあり、現行のステータスの順序に並んでいるディメンション値のみ)を使用することを指定します。

NOSTATUS

(デフォルト)LAGABSPCTが前への相対位置変更を計算する際に、デフォルト・ステータス(つまり元の順序に並んでいるすべてのディメンション値のリスト)を使用することを指定します。

limit-clause

LAGABSPCTが前への相対位置変更を計算する際に、limit-clauseによって制限されるデフォルト・ステータスを使用することを指定します。

limit-clauseの構文は、各種LIMITコマンドにおけるlimit-clause引数の構文(つまり、LIMITコマンドの「TO」などのlimit-type引数の後の構文)と同じです。これらの引数の構文については、LIMITコマンド(値を使用)LIMITコマンド(LEVELRELを使用)LIMIT(親リレーションを使用)LIMITコマンド(関連ディメンションを使用)LIMITコマンド(NOCONVERTを使用)およびLIMITコマンド(POSLISTを使用)を参照してください。

LAGが前への相対位置変更を計算する際に、limit-clauseによって制限される現行のステータスを使用することを指定するには、limit-clauseにLIMITファンクションを指定します。

使用上の注意

LAGABSPCTで使用される計算式

結果を取得するために、LAGABSPCTは次の計算式を使用します。

(currentvalue - previousvalue) / ABS(previousvalue)


LAGABSPCTで使用される時系列の前の値がゼロの場合

LAGABSPCTによって使用される時系列の前の値がゼロである場合、LAGABSPCTが返す結果はDIVIDEBYZEROオプションによって決定されます。DIVIDEBYZEROの設定がNOであるときは、エラーが発生します。DIVIDEBYZEROの設定がYESであるときは、LAGABSPCTはNAを返します。

例8-2 LAGDIFとLAGABSPCTの使用方法

timeという名前の階層ディメンションおよびdistrictproductsという名前のディメンションによってディメンション化されるsalesという名前の変数があるとします。さらに、timeディメンションのレベルの名前(MonthおよびYear)を含むtimelevelsという名前のディメンション、およびtimeによってディメンション化されてtimelevelsの値を持つtimelevelrelという名前のリレーションがあります(つまり、timelevelrelの関連ディメンションはtimelevelsです)。

2000年1月と前年1月のダラスにおけるラケットの売上を比較するとします。LAGファンクションを使用して、前年の売上を表示します。LAGABSPCTファンクションを使用して、2つの月の差の割合を計算して変化の方向を示します。たとえば、売上が増加した場合、LAGABSPCTが返す差の割合は正の値です。売上が減少した場合、LAGABSPCTが返す差の割合は負の値です。

また、LAGPCTファンクションを使用すると、2つの年の差の割合を計算できます。LAGABSPCTによって返される値を100倍すると、パーセント・ポイントとして表示されます。

次の文

ALLSTAT
LIMIT product TO 'Racquets'
LIMIT district TO 'Dallas'
LIMIT time TO 'Jan2000'
REPORT DOWN time sales -
HEADING 'Last Jan' LAG(sales, 12, time, time LEVELREL timelevelrel)-
HEADING 'Lagdif' LAGDIF(sales, 12, time, time LEVELREL timelevelrel)-
HEADING 'Lagabspct' rset '%' d 0 LAGABSPCT(sales, 12, time, -
                    time LEVELREL timelevelrel) * 100

によって、次のレポートが生成されます。

DISTRICT: Dallas
               ------------------PRODUCT------------------
               -----------------Racquets------------------
TIME           SALES      Last Jan   Lagdif     Lagabspct
-------------- ---------- ---------- ---------- ----------
Jan2000        125,879.86 118,686.75 7,193.11   6%