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
|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. If rangeList is
not specified, 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 calculation 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 Essbase defaults to the level 0 members of the Year
dimension, which was specified as the dimName1 parameter.
Since range2 is also not specified, 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 . .