Understand XREF/XWRITE

XREF is a calculation function you use to reference data in another cube, and XWRITE is a calculation function you use to write back data to another cube.

XREF and XWRITE are easiest to understand from the context of the cube containing the XREF or XWRITE formula, called the local cube. The second cube is the remote cube.

To implement XREF, you define a formula in the local cube that pulls values from a remote cube. The member containing the XREF formula can either be stored or dynamically calculated.

To implement XWRITE, you define a formula in the local cube that pushes (writes) values into a remote cube. The remote cube data intersection must be stored, since XWRITE writes values into the remote cube.

When the local and remote cube are on the same Essbase instance, no connection information is needed to implement XREF or XWRITE. However, users of the local cube must also be provisioned on the remote cube. To implement XREF or XWRITE for cubes on the same instance, the application and database name for the source cube are required in the function syntax:

@XREF(appName, dbName [, mbrList])
@XWRITE (expression, appName, dbName [, mbrList])

If the local and remote cubes are on different Essbase instances, a location alias containing connection information must be defined:

@XREF (locationAlias [, mbrList])
@XWRITE (expression, locationAlias [, mbrList])