LAG 會將位於目前成員前指定位移處的維度成員表示式值傳回。
LAG_VARIANCE 會傳回目前成員值和位移成員值之間的差異。
LAG_VARIANCE_PERCENT 會傳回目前成員值和位移成員值之間的百分比差異。
一般而言,LAG 函數是用來擷取先前時段的值。
資料類型與值表示式相同
{LAG | LAG_VARIANCE | LAG_VARIANCE_PERCENT}
(value_expr, offset, [, default])
OVER HIERARCHY ({dimension | hierarchy} [[BY] offset_unit])
value_expr -- 您要計算其值的維度表示式。
offset -- 數值表示式,可從目前的成員往回計算維度成員的數目。
default -- 當 offset 無法識別有效的維度成員時會傳回的值。此子句是任何資料類型的表示式,或是用於最接近之相符項目的關鍵字 CLOSEST。最接近的相符項目是指往回計算時的第一個成員,以及往前計算時的最後一個成員。
dimension -- 計算延遲程度時所依據的維度。預設維度是時間。
hierarchy -- 計算延遲程度時所依據的階層。否則會使用 dimension 的預設階層。
offset_unit -- 可以是下列任何一個關鍵字。GREGORIAN 位移僅適用於「時間」維度。MEMBER 是預設值。
GREGORIAN YEAR:與目前成員位於相同層次的成員,且其開始日期為目前成員開始日期的前 offset 年整。
GREGORIAN QUARTER:與目前成員位於相同層次的成員,且其開始日期為目前成員開始日期的前 offset 季整。
GREGORIAN MONTH:與目前成員位於相同層次的成員,且其開始日期為目前成員開始日期的前 offset 月整。
GREGORIAN WEEK:與目前成員位於相同層次的成員,且其開始日期為目前成員開始日期的前 offset 週整。
GREGORIAN DAY:與目前成員位於相同層次的成員,且其開始日期為目前成員開始日期的前 offset 天整。
MEMBER:相同層次中目前成員的前 offset 個位置
ANCESTOR AT LEVEL level [ POSITION FROM END ]:與目前成員位於相同層次的成員,且其前代位於目前成員前代前 offset 個位置。
下列範例會傳回目前成員前一季之相等成員的值。
LAG (GLOBAL.UNITS_CUBE.UNITS, 1) OVER HIERARCHY (GLOBAL.TIME.CALENDAR ANCESTOR AT LEVEL GLOBAL.TIME.QUARTER)
時間 |
單位 |
Lag |
|---|---|---|
| 2003 | 394,448.64 |
NA |
| Q1-03 | 98,761.70 |
98,664.61 |
| Q2-03 | 98,476.02 |
98,761.70 |
| Q3-03 | 98,693.98 |
98,476.02 |
| Q4-03 | 98,516.93 |
98,693.98 |
| Jan-03 | 32,965.29 |
32,882.09 |
| Feb-03 | 32,913.85 |
32,725.96 |
| Mar-03 | 32,882.56 |
33,056.56 |
| Apr-03 | 32,857.57 |
32,965.29 |
| May-03 | 32,784.84 |
32,913.85 |
| Jun-03 | 32,833.62 |
32,882.56 |
| Jul-03 | 32,930.44 |
32,857.57 |
| Aug-03 | 32,779.45 |
32,784.84 |
| Sep-03 | 32,984.09 |
32,833.62 |
| Oct-03 | 32,975.62 |
32,930.44 |
| Nov-03 | 32,957.95 |
32,779.45 |
| Dec-03 | 32,583.36 |
32,984.09 |
版權所有 © 2003,2007,Oracle。保留一切權利。