Fórmulas específicas para inserción y/o modificación de datos en campos tipo tabla

 

1. Formula INSERT_IN_TABLE(mode, row 1, column 1, value 1, row 2, column 2, value 2, ...)

 

Esta fórmula se utiliza para la inserción de datos en campos tipo tabla, bien mediante su uso en conectores de importación (importación genérico, etc.) bien mediante su utilización en la modificación en bloque de elementos accesible a través del menú de acciones de Sales Layer Cloud.

Formula en el Editor Resultado Tabla

Siempre aplica al campo actual definido (el conectado en un conector de entrada, o el seleccionado en la modificación en bloque), por lo que no es necesario indicar el campo al que aplica como un parámetro.

La fórmula tiene tres modos de actuación diferenciados: insert, update y delete. El modo de actuación se debe indicar en el parámetro mode y es obligatorio utilizar uno de estos tres.

En función del modo seleccionado en la fórmula, los datos a introducir afectarán de una u otra forma al contenido que ya pudiera existir en el momento en el campo tabla afectado.

Los parámetros row x , column x y value x, se utilizarán para insertar datos en las coordenadas definidas por row y column, tanto por nombres localizados como títulos en la primera fila o primera columna, como ya se vio anteriormente, así como mediante su valor como índice numérico.

Se pueden definir tantas ternas de parámetros row x, column x, value x como se deseen. Si la cuenta de estos parámetros no es múltiplo de tres, la fórmula retornará un error de sintaxis.

En algunos modos de operación de la fórmula es posible dejar los valores de row y column en blanco entrecomillados, “” , de modo que se podrán realizar inserciones de filas o columnas nuevas en el campo de tabla que se esté operando. Esto es útil para conectar una estructura de datos nuevos como se verá más adelante.

Seguidamente se explican los tres modos de operación con los que funcionará esta fórmula y cuyo efecto tiene en cuenta el valor de contenido que actualmente almacena el campo de tipo tabla sobre el que se va a realizar la operación de manipulación de datos

 

1.1. Modo INSERT 

 

En el modo Insert, se respeta el valor del contenido que pudiera existir anteriormente en el campo tabla en proces. Dada una terna de fila, columna y valor el funcionamiento será: Si se encuentran el nombre indicado en el parámetro fila y columna en la primera columna y primera fila respectivamente del valor actual de la tabla, la celda coincidente con la dimensión se actualizará con el valor aportado. Si alguna de ellas no se encontrara, se creará la correspondiente dimensión (fila, columna, o ambas) al final de la tabla y se insertará el valor aportado. Si se omite un valor para fila o columna ( “” entrecomillado vacío) , se creará una nueva fila o columna al final de la tabla.

Se pueden suministrar valores de índice en filas o columnas (comenzando por 0), en cuyo caso se intentará actualizar el valor de la celda coincidente con dicha dimensión (para indicar índices, no hay que entrecomillar los parámetros fila ni columna). En caso de utilizar índices numéricos para acceder a una celda solo se podrán actualizar datos, nunca insertar nuevas filas o columnas.

Veámoslo con algunos ejemplos sobre la siguiente tabla:

Este sería el contenido actual del campo de tipo tabla: Features

Feature Name

Value

 

Modified

Voltage (V)

120

Review by John

14/11/2018

IP Protection

IP20

Review By Marcy

13/11/2018

Resultado al aplicar la fórmula:

INSERT_IN_TABLE(“insert” , “IP Protection”, “Value”, “IP66” , 0, 2 , “Review By”, “Frequency” , “Value”, 50, “”, “Web Available”, “”)  

Feature Name

Value

Review By

Modified

Web Available

Voltage (V)

120

Review by John

14/11/2018

 

IP Protection

IP66

Review By Marcy

13/11/2018

 

Frequency

50

     

En colores está marcado el efecto de cada una de las ternas [fila , columna, valor] aplicadas como parámetro a la fórmula en el modo insert sobre el contenido original del campo Features.

Como caso particular, marcado en rojo , se puede observar la forma de añadir una columna nueva a la tabla, sin valores.

También, marcado en naranja, otra particularidad interesante del modo insert, para añadir nuevas filas (como en este caso), o nuevas columnas cuando no existieran previamente. 

 

1.2. Modo UPDATE

 

El modo Update funciona de forma similar al modo Insert, salvo que en el modo Update nunca se crearán nuevas filas o nuevas columnas sobre el contenido previo del campo tabla, cuando no somos capaces de encontrar una correspondencia de fila/columna en los datos actuales.

Veámos el resultado de aplicar la misma fórmula en modo update sobre el mismo valor previo del campo Features:

Feature Name

Value

 

Modified

Voltage (V)

120

Review by John

14/11/2018

IP Protection

IP20

Review By Marcy

13/11/2018

Resultado al aplicar la fórmula:

INSERT_IN_TABLE(“update” , “IP Protection”, “Value”, “IP66” , 0, 2 , “Review By”, “Frequency” , “Value”, 50, “”, “Web Available”, “”)

Feature Name

Value

Review By

Modified

Voltage (V)

120

Review by John

14/11/2018

IP Protection

IP66

Review By Marcy

13/11/2018

Como se puede observar, solamente tendrían lugar las acciones de actualización sobre filas o columnas existentes, pero nunca las de actualización.

 

1.3. Modo DELETE

 

El modo delete, se comporta exactamente igual que el modo insert, salvo por que inicialmente se produce una eliminación del contenido previo en el campo tabla en proceso. Por tanto las acciones de las ternas [fila, columna, valor] comienzan sobre un contenido vacío. Es decir que previo a la inserción de datos existe un “reseteado” del contenido del campo tabla.

Este modo es útil cuando deseamos suministrar todos los valores del campo tabla en la operación en curso y eliminar el contenido anterior.

Atento: es importante tener en cuenta que si se ha configurado un template para el campo tabla, este será tenido en cuenta a la hora de comenzar a rellenar los valores.

Veamos el mismo ejemplo anterior cuando procesamos esta función en el modo Delete, para un campo como Features, para el cual NO hemos configurado ningún template cuando creamos el campo y con un template/plantilla básico definido a nivel de campo.

Feature Name

Value

 

Modified

Voltage (V)

120

Review by John

14/11/2018

IP Protection

IP20

Review By Marcy

13/11/2018

Resultado al aplicar la fórmula (sin template/plantilla definida a nivel de campo):

INSERT_IN_TABLE(“delete” , “IP Protection”, “Value”, “IP66” , 0, 2 , “Review By”, “Frequency” , “Value”, 50, “”, “Web Available”, “”)

 

Value

Web Available

IP Protection

IP66

 

Frequency

50

 

Resultado cuando el campo Features (en el idioma de proceso) tiene definido un template como el siguiente:

 

Feature Name

Value

Resultado:

Feature Name

Value

Web Available

IP Protection

IP66

 

Frequency

50

 

Tanto los modos Insert como Delete, como hemos podido ver , son capaces de realizar cambios a nivel de inserción de filas y columnas nuevas. Cuando se defina un template/plantilla a nivel de configuración de un campo tipo tabla, estas plantillas serán tenidas en cuenta por la fórmula INSERT_IN_TABLE, en aquellas ocasiones que el campo tabla en proceso no tiene contenido , es decir está vacío. Esta situación siempre se produce en el modo Delete, obviamente.