Guía del usuario del cliente web de TIBCO Cloud™ Spotfire®

Uso de una declaración OVER para hacer referencia a fragmentos de datos

Las expresiones personalizadas se evalúan en los fragmentos de datos, que están representados por los indicadores de la visualización. Las declaraciones OVER de las expresiones personalizadas se usan cuando también se desean incluir datos externos al fragmento actual en la evaluación de una expresión.

Para explicar lo que implica la inclusión de datos externos al fragmento actual, observe la siguiente imagen. Para ilustrar los conceptos de fragmentación e indicadores se utiliza una imagen similar; estos conceptos son esenciales cuando se trabaja con expresiones personalizadas, particularmente con aquellas que contienen declaraciones OVER.

El cuadro grande simboliza todas las filas de la tabla de datos que contienen las ventas anuales en diferentes regiones para algunos tipos de frutas, y los cubos simbolizan diferentes fragmentos de los datos.



Supongamos que desea comparar las ventas de naranjas en el norte en 2018 con las ventas de limones en el oeste en 2018, o con las ventas de naranjas en el oeste en el periodo 2015-2017. Es decir, en una expresión de este tipo, se debe hacer referencia a fragmentos de datos externos a las ventas de naranjas en el norte en 2018; para ello, se utiliza la declaración OVER. La declaración OVER pone a su disposición nuevas formas de agrupar los datos a los que se hará referencia en las expresiones.

La forma más fácil de explicar cómo escribir declaraciones OVER en las expresiones y cómo funcionan es mediante ejemplos.

Ejemplos de expresiones OVER

Nota: En primer lugar, cuando se utiliza la declaración OVER en una expresión para hacer referencia a otros fragmentos, no se hace referencia a la columna real utilizada para fragmentar los datos en un eje. En su lugar, se hace referencia al propio eje, como [Axis.X] o [Axis.Color].

El gráfico de dispersión muestra la suma de las ventas para cada fruta: Manzanas, Naranjas y Peras. El total de ventas es 300.



Cuando la expresión

Sum([Sales]) OVER (All([Axis.X]))

se especifica en el eje Y, cada indicador se vuelve a evaluar y el gráfico de dispersión cambia a:



Para entender el resultado, tomemos como ejemplo el indicador que presenta la suma de ventas de manzanas. La expresión personalizada implica que el indicador deberá volver a evaluarse para mostrar la suma de las ventas para todos los fragmentos del eje X, es decir, la suma de las ventas de manzanas, naranjas y peras (150+80+70). Lo mismo ocurre con los otros indicadores, por lo que todos los indicadores acaban con valores idénticos. De hecho, la parte OVER (All([Axis.X])) de la expresión implica que se omite la fragmentación en el eje X.

En el siguiente ejemplo, los datos se fragmentan aún más, ya que se especifica el año en el eje de color.



Cambie el eje Y a la siguiente expresión:

Sum([Sales]) OVER (All([Axis.Color]))


Esta expresión personalizada implica que cada indicador deberá volver a evaluarse para mostrar la suma de las ventas de todos los fragmentos de color; de hecho, se ignora la fragmentación por color.

Nota: Las expresiones utilizadas en los ejemplos anteriores solo funcionan cuando se usan datos en memoria. Si se utilizan datos en bases de datos, se necesitará la expresión THEN.

Tomemos como ejemplo las peras de 2015 (la estrella azul Peras). El nuevo valor del indicador muestra la suma de las ventas de peras para los tres años (40+20+10). Todos los indicadores de un tipo de fruta obtienen el mismo valor del eje Y, sin importar el color (Año).

Los ejemplos anteriores no representan usos prácticos, pero sirven para comprender cómo funciona la declaración OVER junto con los llamados métodos de navegación de nodos.

Uso de declaraciones OVER en columnas calculadas

El uso de la declaración OVER en columnas calculadas funciona de manera diferente a su uso en expresiones personalizadas. En columnas calculadas, podría dar como resultado menos registros.