The @MDSHIFT() function shifts a series of data values across multiple dimension ranges.
@MDSHIFT (mbrName, shiftCnt1, dimName1, [range1|(range1)], . . . shiftCntX, dimNameX, [rangeX|(rangeX)])
mbrName | Any valid single member name or member combination, or a function that returns a single member or member combination, from which the values are to be shifted. |
shiftCnt1...shiftCntX | Integer that defines the number of member positions to shift. |
dimName1, . . . dimNameX | Defines the dimension names in which the shift is to occur. |
range1|(range1) . . . rangeX|(rangeX) | Optional. A valid member name, a comma-delimited list of member names, member set functions, and range functions from the same dimension. If rangeList is not specified, Hyperion Essbase uses the level 0 members from the dimension specified with the dimName parameter. If the range list is comma delimited, then the list must be enclosed in parentheses. |
The Budget figures for Ending Inventory need to be calculated by taking Prior Year->Opening Inventory results as a starting point:
Jan Feb Mar Prior Year Opening Inventory 110 120 130 . . Budget Ending Inventory N/A N/A N/A . .
The following calc script assumes that the Scenario dimension is as follows:
Scenario Prior Year Budget
FIX (Budget) "Ending Inventory" = @MDSHIFT("Opening Inventory", 1, Year, , -1, Scenario,); ENDFIX
In this example, range1 is not specified, so Hyperion Essbase defaults to the level 0 members of the Year dimension, which was specified as the dimName1 parameter. Since range2 is also not specified, Hyperion Essbase defaults to the level 0 members of the Scenario dimension, which was specified as the dimName2 parameter. This example produces the following result:
Jan Feb Mar === === === Prior Year Opening Inventory 110 120 130 . . Budget Ending Inventory 120 130 140 . .
Copyright (c)1991-2000 Hyperion Solutions Corporation. All rights reserved.