LAGPCTファンクションは、ディメンションの現行値より前の指定されたオフセットの位置にあるディメンション化された変数または式の値と、ディメンション化された変数または式の現行値との差の割合を返します。
パラメータ
dimensionによってディメンション化される変数または式。
前に相対位置変更するオフセット(つまり、ディメンション値の数)。LAGPCTはこの値を使用して、変数の値を取得するためにLAGPCTがディメンションを戻るべき値の数を決定します。通常、nは、現行期間より前の期間(ディメンション値)の数を示す正のINTEGER
です。nに負数の値を指定した場合、現行期間より後の期間の数を示します。この場合、LAGPCTは時系列の現行値をそれ以降の値と比較します。
前への相対位置変更が発生するディメンション。いずれのディメンションも指定できますが、通常は、単一レベル(月や年のレベルなど)に制限されるTEXT型の階層時間ディメンション、あるいはDAY、WEEK、MONTH、QUARTERまたはYEAR型のディメンションです。
variableにDAY、WEEK、MONTH、QUARTERまたはYEAR型のディメンションがあり、LAGPCTでそのディメンションを使用する場合、dimension引数は省略可能です。
LAGPCTが前への相対位置変更を計算する際に、現行のステータス・リスト(つまり現在ステータスにあり、現行のステータスの順序に並んでいるディメンション値のみ)を使用することを指定します。
(デフォルト)LAGPCTが前への相対位置変更を計算する際に、デフォルト・ステータス(つまり元の順序に並んでいるすべてのディメンション値のリスト)を使用することを指定します。
LAGPCTが前への相対位置変更を計算する際に、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ファンクションを指定します。
使用上の注意
LAGPCTで使用される計算式
結果を取得するために、LAGPCTは次の計算式を使用します。
(currentvalue - previousvalue) / previousvalue
LAGPCTで使用される時系列の前の値がゼロの場合
LAGPCTによって使用される時系列の以前の値がゼロである場合、LAGPCTが返す結果はDIVIDEBYZEROオプションによって決定されます。DIVIDEBYZEROの設定がNO
であるときは、エラーが発生します。DIVIDEBYZEROの設定がYES
であるときは、LAGPCTはNA
を返します。
例
例8-3 LAGPCTの使用方法
time
という名前の階層ディメンションおよびdistrict
、products
という名前のディメンションによってディメンション化されるsales
という名前の変数があるとします。さらに、time
ディメンションのレベルの名前(Month
およびYear
)を含むtimelevels
という名前のディメンション、およびtime
によってディメンション化されてtimelevels
の値を持つtimelevelrel
という名前のリレーションがあります(つまり、timelevelrel
の関連ディメンションはtimelevels
です)。
LAGファンクションで1999年の値を表示して、ダラスにおける2000年と1999年のラケットの売上を比較できます。LAGPCTファンクションを使用して、2つの年の差の割合を計算します。LAGPCTによって返される値を100倍してパーセント記号を付け、パーセント・ポイントとして差を表示します。
ALLSTAT LIMIT product TO 'Racquets' LIMIT district TO 'Dallas' LIMIT TIME TO '2000' REPORT DOWN time sales HEADING 'Last Year' - LAG(sales, 1, time, time LEVELREL timelevelrel)- HEADING 'LAGPCT (Decimal Format)' - LAGPCT(sales, 1, time LEVELREL timelevelrel) - HEADING 'LAGPCT (Percent Format)' rset '%' - LAGPCT(sales, 1, time LEVELREL timelevelrel) * 100
によって、次のレポートが生成されます。
DISTRICT: Dallas ------------------PRODUCT------------------ -----------------racquets------------------ LAGPCT LAGPCT (Decimal (Percent TIME SALES Last Year Format) Format) -------------- ---------- ---------- ---------- ---------- 2000 93,000,003 89,000,891 0.04 4.49%