ESS_PERF_ALLOC_T

This structure stores information to be used for performing allocations.

typedef struct ESS_PERF_ALLOC_T
{
    ESS_STR_T                              pov;
    ESS_STR_T                              amount;
    ESS_STR_T                              amountContext;
    ESS_STR_T                              amountTimeSpan;
    ESS_STR_T                              target;
    ESS_STR_T                              targetTimeSpan;
    ESS_ALLOCATION_TARGETTIMESPAN_OPTION   targetTimeSpanOption;
    ESS_STR_T                              offset;
    ESS_STR_T                              debitMember;
    ESS_STR_T                              creditMember;
    ESS_STR_T                              range;
    ESS_STR_T                              excludedRange;
    ESS_STR_T                              basis;
    ESS_STR_T                              basisTimeSpan;
    ESS_ALLOCATION_BASISTIMESPAN_OPTION    basisTimeSpanOption;
    ESS_ALLOCATION_METHOD_OPTION           allocationMethod;
    ESS_ULONG_T                            spreadSkipOption;
    ESS_ALLOCATION_ZEROAMT_OPTION          zeroAmountOption;
    ESS_ALLOCATION_ZEROBASIS_OPTION        zeroBasisOption;
    ESS_ALLOCATION_NEGBASIS_OPTION         negativeBasisOption;
    ESS_ALLOCATION_ROUND_OPTION            roundMethod;
    ESS_STR_T                              roundDigits;
    ESS_STR_T                              roundToLocation;
    ESS_ULONG64_T                          groupID;
    ESS_ULONG64_T                          ruleID;
} ESS_PERF_ALLOC_T;
Data TypeFieldDescription
ESS_STR_TpovMDX set expression specifying allocation area within the database
ESS_STR_TamountMDX tuple or numeric value expression specifying amount or amounts to be allocated
ESS_STR_TamountContextOptional: MDX tuple expression:
  • If amount is a numeric value expression, specifies context for amount

  • If amount is a tuple or constant, this argument is empty

ESS_STR_TamountTimeSpanOptional: MDX set expression of level 0 members specifying time periods from which amount is summed before allocation
ESS_STR_TtargetMDX tuple expression specifying target locations for allocation
ESS_STR_TtargetTimeSpanOptional: MDX set expression specifying time periods for target; used with targetTimeSpanOption
ESS_ALLOCATION_TARGETTIMESPAN_OPTION_TtargetTimeSpanOptionOptional: Specifies how values are allocated to targetTimeSpan members:
  • ESS_ASO_ALLOCATION_TIMESPAN_DIVIDEAMT (divide)

  • ESS_ASO_ALLOCATION_TIMESPAN_REPEATAMT (repeat)

  • Ignored if empty

ESS_STR_ToffsetOptional: MDX tuple expression specifying location for offsetting entries
ESS_STR_TdebitMemberOptional: MDX member expression specifying where positive result values should be written. If empty, debit/credit processing is not performed.
ESS_STR_TcreditMemberOptional: MDX member expression specifying where negative result values should be written. If empty, debit/credit processing is not performed.
ESS_STR_TrangeMDX set expression specifying database region for allocation
ESS_STR_TexcludedRangeOptional: MDX set expression specifying a subset of range; a region included in the allocation but not written to
ESS_STR_TbasisMDX tuple expression specifying the basis location. If allocationMethod = ESS_ASO_ALLOCATION_METHOD_SPREAD and spreadSkipOptions = 0, then basis must be empty.
ESS_STR_TbasisTimeSpanOptional: MDX set expression specifying time periods to be considered with basis. With basisTimeSpanOption, determines basis for allocation.
ESS_ALLOCATION_BASISTIMESPAN_OPTION_TbasisTimeSpanOptionOptional: Specifies how basis is computed across time periods from the following options:
  • ESS_ASO_ALLOCATION_TIMESPAN_SPLITBASIS—Process basis value for each time period individually

  • ESS_ASO_ALLOCATION_TIMESPAN_COMBINEBASIS—Sum basis value across time periods in basisTimeSpan and use the combined basis for allocation

ESS_ALLOCATION_METHOD_OPTION_TallocationMethodAllocation method:
  • ESS_ASO_ALLOCATION_METHOD_SHARE—allocate proportional to basis values

  • ESS_ASO_ALLOCATION_METHOD_SPREAD—allocate evenly across the target region

ESS_ULONG_TspreadSkipOptionOptional:
  • If allocationMethod = ESS_ASO_ALLOCATION_METHOD_SHARE, then this value equals 0.

  • If allocationMethod = ESS_ASO_ALLOCATION_METHOD_SPREAD, specifies which basis values should be skipped. Select one or more of the following bitwise arguments:

    • ESS_ASO_ALLOCATION_SPREAD_SKIPMISSING—Excludes all cells in allocationRange for which the basis member is #missing

    • ESS_ASO_ALLOCATION_SPREAD_SKIPZERO—Excludes all cells in allocationRange for which the basisMbr is zero

    • ESS_ASO_ALLOCATION_SPREAD_SKIPNEGATIVE—Excludes all cells in allocationRange for which the basisMbr is negative

    These arguments can be combined bitwise; for example ESS_ASO_ALLOCATION_SPREAD_SKIPZERO | ESS_ASO_ALLOCATION_SPREAD_SKIPNEGATIVE

ESS_ALLOCATION_ZEROAMT_OPTION_TzeroAmountOptionSpecifies what to do when an amount value is zero or #MISSING:
  • ESS_ASO_ALLOCATION_ZEROAMT_DEFAULT—Allocate zero values

  • ESS_ASO_ALLOCATION_ZEROAMT_NEXTAMT—Skip to the next amount value

  • ESS_ASO_ALLOCATION_ZEROAMT_ABORT—Cancel the entire allocation

ESS_ALLOCATION_ZEROBASIS_OPTION_TzeroBasisOption
  • If allocationMethod=ESS_ASO_ALLOCATION_METHOD_SHARE—Tells Essbase what to do when the aggregate sum of basis is zero

  • If allocationMethod=ESS_ASO_ALLOCATION_METHOD_SPREAD—Tells Essbase what to do when all basis values have been skipped

Specify an option:

  • ESS_ASO_ALLOCATION_ZEROBASIS_NEXTAMT—Skip to the next amount value

  • ESS_ASO_ALLOCATION_ZEROBASIS_ABORT—Cancel the allocation

ESS_ALLOCATION_NEGBASIS_OPTION_TnegativeBasisOptionTells Essbase what to do when a negative basis value is encountered:
  • ESS_ASO_ALLOCATION_NEGBASIS_DEFAULT—Calculate as normal

  • ESS_ASO_ALLOCATION_NEGBASIS_NEXTAMT—Skip to next amount value. No data is allocated for the current amount value.

  • ESS_ASO_ALLOCATION_NEGBASIS_ABORT—Cancel the allocation; no data is written.

The following values are only valid when allocationMethod==ESS_ASO_ALLOCATION_METHOD_SHARE

  • ESS_ASO_ALLOCATION_NEGBASIS_ABS—Use the absolute value

  • ESS_ASO_ALLOCATION_NEGBASIS_MISSING—Treat the basis as #missing

  • ESS_ASO_ALLOCATION_NEGBASIS_ZERO—Treat the basis value as zero

ESS_ALLOCATION_ROUND_OPTION_TroundMethodRounding method for allocated values:
  • ESS_ASO_ALLOCATION_ROUND_NONE—Perform no rounding

  • ESS_ASO_ALLOCATION_ROUND_DISCARDERRORS—Round, discarding rounding errors

  • ESS_ASO_ALLOCATION_ROUND_ERRORSTOHIGHEST—Round, adding rounding errors to the target cell with the greatest allocated value

  • ESS_ASO_ALLOCATION_ROUND_ERRORSTOLOWEST—Round, adding rounding errors to the target cell with the lowest allocated value

  • ESS_ASO_ALLOCATION_ROUND_ERRORSTOLOCATION—Round, adding rounding errors to roundToLocation

ESS_STR_TroundDigitsMust be empty if roundMethod=ESS_ASO_ALLOCATION_ROUND_NONE. Must be specified as a MDX numeric value or tuple expression. Value must be a whole number between 100 and -100.
ESS_STR_TroundToLocationOptional: If roundMethod=ESS_ASO_ALLOCATION_ROUND_ERRORSTOLOCATION, this is an MDX tuple expression specifying a location within range; empty otherwise
ESS_ULONG64_TgroupID

Internal use only. Always enter 0.

ESS_ULONG64_TruleID

Internal use only. Always enter 0.