Cell properties are defining some meta-information attached to measures and calculated members/measures.
In MDX a cell can define not only a value (e.g., string, numerical value) but a list of predefined properties.
Two steps are needed :
1) Define the property in a calculated member and/or regular measure :
Note that cell property definitions are not limited to MDX literals (e.g., string, numerical value). Indeed any valid MDX expression can be used as well:
WITH MEMBER [value] AS [Measures].[Amount],
BACK_COLOR = IIF( currentCellValue() < 0, RGB(255,0,0), RGB(0,0,0) )
VALUE, FORMATTED_VALUE, CELL_ORDINAL properties are already defined and it's not possible to override the default behavior.
2) Define the list of cell properties to be calculated in the MDX query :
After defining a property the cell property value can be retrieved by using 'CELL PROPERTIES' statement in the mdx statement :
SELECT [MyAxe] on 0
CELL PROPERTIES VALUE, FORMATTED_VALUE, FORMAT, FONT_NAME
If CELL PROPERTIES is not defined VALUE, FORMATTED_VALUE, CELL_ORDINAL properties will be retrieved. Note that CELL_ORDINAL is always included even though it is not in the list of requested cell properties.
Standard MDX properties:
ASSOCIATED_MEASURE_GROUP : defines the measure group a calculated measure is attached to.
CAPTION : defines the caption of a calculated member.
CELL_ORDINAL * :
DISPLAY_FOLDER : defines the location (path) of a calculated measure.
FORMAT_STRING : controls how cell values are formatted.
FORMATTED_VALUE * :
LANGUAGE : controls how cell formatted values are localized.
NON_EMPTY_BEHAVIOR : defines the non empty behavior of a calculated measure.
SOLVE_ORDER : controls the order of evaluation of calculated members.
VALUE * :
VISIBLE : controls the visibility of a calculated member.
icCube specific properties:
CLASSNAME : defines HML/CSS properties to be used for cell rendering.
REQUEST_CACHED : controls how tuple values are cached.
STYLE : defines HML/CSS properties to be used for cell rendering.
Note, FORMAT is not supported by icCube (use FORMAT_STRING instead).
(*) Those properties are read only, can not be defined.
Find here the value of the XMLA properties when not specified otherwise.