@CREATEBLOCK
The @CREATEBLOCK calculation function for Essbase generates empty target blocks.
This function creates a block or blocks for a sparse member name or a sparse member combination, and sets dense values in the newly created block to #MISSING.
Sometimes, new blocks are not desired; for example, when they contain no other values. In large databases, creation and processing of unneeded blocks can increase processing time and storage requirements.
This advanced-level function can help you use bottom-up calculation to achieve faster performance. It is useful for generating empty target blocks that can then be traversed during bottom-up processing, and populated with data at that time. It is most useful in those situations where blocks are not automatically created by the calculator; for example, during processing of a dense formula where the target blocks are from a different, sparse dimension.
Whereas the allocation functions (@ALLOCATE and @MDALLOCATE) also create the necessary target blocks, those functions are intended specifically for allocating values. The purpose of @CREATEBLOCK is only to enable rapid block creation, without reading or writing data.
Note:
- 
                           This function is not supported in outline member formulas. 
- 
                           The DATACOPY calculation command also creates blocks on demand. 
Syntax
@CREATEBLOCK(mbrName|mbrList)Parameters
- mbrName
- 
                        Any single, sparse member name or a sparse member combination or a function that returns a single member, member list, or member combination. For example: - 
                              Single member name: ["200-20"]
- 
                              Combination of sparse members: ["100-10"->"New York"]
- 
                              Member function returning mbrName or mbrList: @ANCESTORS("New York")
 
- 
                              
Notes
- 
                        This function does nothing if the block for the specified member combination already exists. 
- 
                        mbrName|mbrList can be explicitly stated or can be returned by a function. 
- 
                        If mbrName is a cross-dimensional member (such as "100-10"->"New York"), this function creates a block for the combination specified. 
- 
                        When you use this function in a calculation script, use it within a FIX statement; for example, FIX on the member for which blocks should be created. Although FIX is not required, using it may improve calculation performance. 
- 
                        If you use this function in a member formula, your formula should look like this: @CREATEBLOCK (...).
- 
                        This function does not return a value; rather, it creates the required blocks in the database with a #MISSING value. 
- 
                        On sparse dimension members, a formula without @CALCMODE(BOTTOMUP) is executed in top-down mode, creating all possible blocks. However, if the dimension member is dense, it is executed as bottom-up, creating new blocks only based on the existing ones. Therefore, @CREATEBLOCK will not create dense blocks on an empty cube. 
- 
                        For more discussion of top-down and bottom-up processing, see @CALCMODE. 
Example
The following calculation script example uses the Sample.Basic database, but assumes that only the 100-10 and New York block is loaded. The member formula for Sales is @CREATEBLOCK("100").
/* Calling @CREATEBLOCK inside member formula (Sales) */
FIX("100-10", "New York")
   "Sales" (
         @CREATEBLOCK ("100");
     )
ENDFIX
The script creates all possible sparse blocks matching the FIX…ENDFIX statement. In this case, only the block "100"->"New York" is created.
In the following calculation script example, @CREATEBLOCK is not used in any member formula, so it must be assigned in the script using mbrName =.
/* Calling @CREATEBLOCK outside member formula */
Budget = @CREATEBLOCK ("100");
The existing value for Budget member in the current processing block is unchanged, because @CREATEBLOCK does not return a value (see first Note).