INTRODUCCION:Por defecto cuando se crea un nuevo análisis interactivo todas los valores de la grilla presentan el mismo formato.
Una característica muy buena que presenta JPivot es la posibilidad de crear nuevos medidas de manera dinámica y agregarle formatos de acuerdo a su propio valor.
OBJETIVO:Crear una nueva medida de forma dinámica, analizar su valor y de acuerdo a este, asignarle diferentes formatos, es decir:
- valor < 1000 color de fondo rojo y flecha hacia abajo.
- 1000 <= valor <= 3000 color de fondo amarillo.
- valor > 3000 color de fondo verde y flecha hacia arriba.
PASOS:
1) Para la aplicación práctica de este tutorial, se utilizará el análisis interactivo del
[Tutorial 01]...
2) Ejecutamos el análisis interactivo y presionamos la opción MDX de la barra de iconos:

Veremos que el código MDX del análisis interactivo es:
select NON EMPTY {[Measures].[Quantity]} ON COLUMNS,
NON EMPTY {[Markets].[All Markets].[APAC].[Australia], [Markets].[All Markets].[APAC].[New Zealand], [Markets].[All Markets].[APAC].[Singapore], [Markets].[All Markets].[Japan].[Hong Kong], [Markets].[All Markets].[Japan].[Japan], [Markets].[All Markets].[Japan].[Philippines], [Markets].[All Markets].[Japan].[Singapore], [Markets].[All Markets].[NA].[Canada], [Markets].[All Markets].[NA].[USA]} ON ROWS
from [SteelWheelsSales]
3) Lo que se hará a continuación será confeccionar el código para llevar adelante nuestro objetivo.
3.1) Creación de una nueva medida basada en
[Measures].[Quantity]:
with member [Measures].[Cantidad] as '[Measures].[Quantity]',
3.2) Agregarle formato condicional:
FORMAT_STRING = IIf(([Measures].[Cantidad] < 1000.0), "|###,00|style='red'|arrow='down'", IIf(([Measures].[Cantidad] < 3000.0), "|###,00|style='yellow'|arrow='none'", "|###,00|style='green'|arrow='up'"))
NOTA1: como se puede observar se utilizan IIF para analizar los valores de la nueva medida.
NOTA2:
"|###,00|style='red'|arrow='down'" corresponde a:
- ###,00 formato de salida.
- style='red' color de fondo.
- arrow='down' icono/flecha.
4) Agregar este código al inicio de la consulta MDX y reemplazar la medida
[Measures].[Quantity] utilizada en el análisis interactivo por la nueva medida, es decir por
[Measures].[Cantidad]:
with member [Measures].[Cantidad] as '[Measures].[Quantity]', FORMAT_STRING = IIf(([Measures].[Cantidad] < 1000.0), "|###,00|style='red'|arrow='down'", IIf(([Measures].[Cantidad] < 3000.0), "|###,00|style='yellow'|arrow='none'", "|###,00|style='green'|arrow='up'"))
select NON EMPTY {[Measures].[Cantidad]} ON COLUMNS,
NON EMPTY {[Markets].[All Markets].[APAC].[Australia], [Markets].[All Markets].[APAC].[New Zealand], [Markets].[All Markets].[APAC].[Singapore], [Markets].[All Markets].[Japan].[Hong Kong], [Markets].[All Markets].[Japan].[Japan], [Markets].[All Markets].[Japan].[Philippines], [Markets].[All Markets].[Japan].[Singapore], [Markets].[All Markets].[NA].[Canada], [Markets].[All Markets].[NA].[USA]} ON ROWS
from [SteelWheelsSales]
5) Presionar el botón "Aplicar", cerrar el editor MDX y guardar el análisis interactivo. Obtendremos algo como:

Para leer más sobre MDX, seguir
este link...
Adjunto el análisis interactivo de ejemplo, el mismo esta realizado con el schema SteelWheels y el cubo SteelWheelsSales, que vienen
predefinidos en Pentaho 3.5.
Espero les sea útil.
Salud!