@MDSHIFT
The @MDSHIFT calculation function for Essbase shifts a series of data values across multiple dimension ranges.
Syntax
@MDSHIFT (mbrName, shiftCnt1, dimName1, [range1|(range1)], ... shiftCntX, dimNameX, [rangeX|(rangeX)])
Parameters
- mbrName
-
Any valid single member name, or a function that returns a single member.
- 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.
Example
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 . .
See Also