Compute relative: crear campo de tipo fecha mediante SAQL

La tranformación Compute Relative nos sirve para realizar cálculos entre diferentes rows de un dataset y no solo con los campos de la misma row. En particular, sirve para realizar cálculos entre las rows «actual», «primera», «previa» y «siguiente».

Cómo funciona la transformación Compute Relative

Como hemos dicho esta transformación nos permite hacer cálculos entre diferentes rows. Primero se debe agrupar y ordenar los datos:

Luego se agrega el nuevo campo:

Como se puede ver, se está calculando por SAQL un nuevo campo de tipo fecha: ¡pero en el campo tipo pone «numérico»! Y esto es así porque solo se puede seleccionar «numérico» y «texto». Y si ejecutamos esta transformación, dará error.

Cómo cambiar el campo a tipo Fecha

Para cambiar este campo a tipo fecha se debe hacer editando el fichero JSON de la siguiente forma:

Y, aunque en la interfaz el campo se sigue viendo como de tipo numérico, el campo calculado será una fecha y el proceso no dará error.

Cómo visualizar una «compare table» a modo de «value table»

Con mi primera entrada en este blog me gustaría explicar un pequeño truco que aprendí no hace mucho frente a una necesidad de un cliente: mostrar una compare table con el formato de una value table.

Delante de esta petición y como necesitaba sin duda una compare table porque realmente tenía que agrupar los datos para operar sobre ellos… lancé mi duda a la comunidad. Y la respuesta no tardó en llegar.

Compare table vs Value table

Para empezar veamos las diferencias entre una compare table y una value table.

Yo necesitaba agrupar los datos para poder operar sobre estas agrupaciones. Para esto, hay que usar una compare table y ésta se ve de la forma siguiente:

Pero el cliente quería ver los datos de esta otra forma (tal y como se ven en una tabla de tipo value table), sin agrupar:

El motivo de la petición, pues, era meramente estético.

Editando el fichero JSON

En mi caso como necesitaba una lense, edité el código de ésta mediante la combinación de teclas CTRL+E.

Antes de hacer CTRL+E, hay que convertir la query (o step) a tipo «SAQL», ya que por defecto, cuando se crea con la interfaz, es de tipo aggretateflex parecido a esto:

Para convertirlo a SAQL simplemente hay que ir a modo SAQL, modificar alguna cosa (poner un espacio en blanco por ejemplo), y darle a ejecutar la query. Nos quedará el fichero JSON parecido a lo siguiente:

A continuación, hay que hacer los siguientes cambios marcados en amarillo de forma manual en el fichero JSON (ctrl+E):

  1. Cambiar el tipo de tabla de tipo «comparisontable» –> «valuestable»
  2. Informar el apartado «numbers» para los valores que sean numéricos. El orden por el que aparecerán será el que se indique en este apartado.
  3. Informarel apartado «strings» para los valores que sean dimensiones. El orden por el que aparecerán será el que se indique en este apartado.

A tener en cuenta…

Y aunque de una forma muy sencilla se ha conseguido el objetivo, hay que tener en cuenta que la lense o la query en el dashboard correspondiente ya solo se podrá modificar mediante el código en el fichero JSON.