Custom Table Calculations (Functions): Creación de expresiones

Las Custom Calculations (también llamadas Functions) se crean en el editor de expresiones. A medida que escribe su expresión, el sistema le sugiere funciones, operadores y nombres de campos que podría querer utilizar. Funciona como se describe a continuación.

Nota: El acceso a esta función requiere una licencia adicional.

 

Ver todas las sugerencias

Escriba un espacio para ver una lista de todos los campos, funciones y operadores entre los que puede elegir. Es una lista bastante larga, por lo que normalmente querrá empezar a escribir para acortar la lista a los elementos que le interesan.

 

 

Añadir un campo

Para incluir un campo en su expresión, comience a escribir el nombre del campo. A medida que escribe, el editor reducirá su búsqueda a una lista de campos y funciones que contienen lo que ha escrito. Cuando seleccione un campo de la lista, el sistema lo agregará a su expresión en forma de ${view_name.field_name}. Esto garantiza que todos los campos tengan nombres únicos en su expresión.

Puede leer instrucciones más detalladas sobre el uso de los campos a continuación.

 

Adición de operadores

Si es necesario, puede agregar operadores lógicos como AND, OR y NOT a su expresión. Por lo general, los operadores AND se evalúan antes que los operadores OR, pero puede anular este comportamiento utilizando paréntesis. También puede utilizar operadores de comparación (como >, = y <=) y operadores matemáticos (como + y *).

Cuando su cursor esté sobre un operador, puede consultar las notas que se muestran a la derecha de su expresión (en el panel de información) para su uso adecuado.

Puede consultar instrucciones más detalladas sobre el uso de operadores a continuación.

 

Adición de funciones

Para incluir una función en su expresión, comience a escribir el nombre de la función. A medida que escribe, el editor reducirá su búsqueda a una lista de campos y funciones que contienen lo que ha escrito.

Las funciones pueden estar compuestas por argumentos (o variables) que requieren un tipo determinado, como un campo, un número o sí/no. Cuando su cursor esté en una función, puede consultar las notas que se muestran a la derecha de su expresión en el panel de información para entender qué argumentos necesita proporcionar y de qué tipo deben ser.

Para ver la lista completa de funciones, consulte nuestra Página del Data Dictionary dedicada a los Custom Calculations. 

Puede leer instrucciones más detalladas sobre el uso de las funciones a continuación.

 

Uso de sugerencias de error y del panel de información

Tenga en cuenta que, a medida que escribe una expresión, se muestra información en el panel de la derecha. Este panel proporciona sugerencias, especialmente si su expresión contiene un error.

Como se ha mostrado anteriormente, el editor proporciona:

  • Resaltado de errores.En el propio editor, cualquier parte de la expresión que aún no sea correcta estará subrayada en rojo. 
  • Sugerencias e información de errores.La parte superior del panel de información ofrece sugerencias sobre qué añadir a continuación en su expresión. Si hay un error, explica por qué está ocurriendo el error. Si hay varios errores, el error que se muestra se basa en la ubicación del cursor.
  • Argumento de AutocompletarMientras escribe el primer argumento de una if () función, el sistema proporciona la información de que el primer argumento debe evaluarse como verdadero o falso.

 

Uso de campos

A veces querrá usar el valor de un campo (una dimensión, una medida o un cálculo personalizado) en una expresión. Podría querer añadir el valor del campo a algo más, comprobar que tenga un valor determinado, incluirlo en una función o muchas otras posibilidades.

Como se ha descrito anteriormente, simplemente escriba el nombre del campo en el editor de expresiones y el sistema le ayudará a encontrar la manera correcta de hacer referencia al mismo. Cuando añada un campo a una expresión, el sistema utilizará el identificador del campo, que se ve así: ${view_name.field_name}. Este identificador no siempre coincide con el nombre del campo en el Selector de campo, pero no pasa nada si no sabe lo que es. Solo escriba el nombre del campo tal como aparece en el Selector de campo y el editor de expresiones le mostrará el nombre del Selector de campo y el identificador juntos.

Existen varias formas que podría necesitar para recuperar un valor.

 

Obtenga un valor de la misma fila

La forma más básica de usar un campo es hacer referencia al mismo directamente. Por ejemplo, su expresión podría utilizar lo siguiente:

${product.category}

Al hacer esto, está diciendo "para cualquier fila determinada, obtenga el tipo de llamada de esa fila”.

 

Obtenga un valor de una fila diferente

También puede obtener el valor de un campo de una fila diferente. Por ejemplo, podría necesitar la lógica “para cualquier fila determinada, obtenga el tipo de llamada de la fila anterior”. Para hacer esto, puede utilizar una función de desplazamiento. Podría verse así.

offset(${call_type}, -1)

 

Obtenga un valor de una columna pivoteada

También puede obtener valores de columnas pivoteadas. Por ejemplo, podría necesitar la lógica "para cualquier fila dada, obtenga las llamadas totales de la primera columna pivoteada". Para trabajar con columnas pivoteadas, deberá utilizar funciones de pivoteo. Podría verse así. 

pivot_index(${total_inbound_calls_answered}, 1)

 

Obtener un total de una fila o columna

Si ha añadido totales a su Explore, puede obtener valores totales de la columna o fila añadiendo :total (para totales de columna) o :row_total (para totales de fila) al nombre del campo, utilizando el formato ${field_name:total}. Por ejemplo, si desea un porcentaje del total de un conteo de llamadas, podría crear un cálculo personalizado como este:

${total_inbound_calls_answered} / ${total_inbound_calls_answered:total}

 

Uso de operadores

Las expresiones incluyen a veces operadores lógicos, de comparación y matemáticos para ayudarle a crear diferentes condiciones:

  • Los operadores lógicos son cosas como "AND", "OR" y "NOT"
  • Los operadores de comparación son cosas como ">" y "<"
  • Los operadores matemáticos son cosas como "+" y "-"

Por lo general, son fáciles de usar. Solo tenga en cuenta que la lógica "AND" se considera antes que la lógica "OR", a menos que especifique lo contrario con paréntesis. Por lo tanto, la siguiente expresión sin paréntesis adicionales:

if (
  ${argument.1}>=4 OR
  ${argument.2}>5 AND
  ${argument.3},
"volume up", "volume down")

se evaluaría como:

if (
  ${argument.1}>=4 OR
  (${argument.2}>5 AND ${argument.3}),
"volume up", "volume down")

Otra cosa que debe tener en cuenta es cómo se gestionan los valores verdadero y falso. Debería usar Yes y No en lugar de True and False. Estas constantes lógicas no son lo mismo que las palabras "yes" y "no", que están entre comillas. 

 

Uso de funciones

Las expresiones suelen incluir una o más funciones, que le ayudan a recuperar ciertos datos o calcular ciertas cosas. Son similares en naturaleza a las funciones de Excel, por lo que si ha utilizado las funciones de Excel, se sentirá cómodo utilizando las funciones de Explore.

Si no está familiarizado con las funciones, estas tienen la forma de un nombre seguido de dos paréntesis, de la siguiente manera:

my_function()

A veces, deberá proporcionar información dentro de esos paréntesis, separada por comas. Estos datos se llaman "argumentos" y tienen este aspecto:

my_function(argument_1, argument_2)

Por ejemplo, la now function no parte de ningún argumento y le proporciona la fecha y hora actuales. La usaría de la siguiente manera:

now()

Por el contrario, la round function sí parte de un argumento, que es un número. La utilizaría de la siguiente manera.

round(3.2)

El resultado que obtendría es 3.

Hay dos formas de saber qué argumentos deberá proporcionar, si es que hay alguno:

  1. El panel de información que aparece a la derecha del editor de expresiones proporcionará algunos datos sobre la functionque esté escribiendo.
  2. También puede dirigirse directamente a la página de Functions y Operators para buscar la función que desea utilizar.

Para consolidar este concepto, considere lo siguiente:contains function:

Function Syntax Purpose

contains

contains(string, search_string)

Muestra "Yes" si la cadena contiene search_string, y "No" en caso contrario

Puede ver que se requieren dos argumentos. Tienen los nombres string y search_string, pero eso no significa que deba escribir la palabra exacta “string” y “search_string” en la función. Estos son solo nombres para los argumentos que reemplazará con algo. Al leer el propósito, vemos que la cadena debería ser un campo u otro valor in dentro del que queramos buscar, mientras que search_string es lo que queremos buscar.for Un ejemplo podría ser:

contains(${call_direction}, "Inbound") 

Si la palabra “Inbound” aparece en la distribución, esta función nos dará como resultado “Yes”; de lo contrario, nos dará como resultado “No”. La palabra que se va a buscar y que se coloca entre comillas es sensible a mayúsculas y minúsculas, por lo que en este caso específico, debe escribirse con la inicial en mayúscula “I” para que la función reconozca la palabra y muestre los resultados correctos; de lo contrario, todos los resultados mostrarían “No”.

La tabla con los resultados del cálculo de tabla personalizado sería: Lo último que debe saber es que puede colocar funciones dentro de otras funciones para hacer uso de cualquier lógica compleja que desee. Mientras el resultado de la función interna sea apropiado para los argumentos de la función externa, funcionará. Por ejemplo:

mod(
diff_days(
date(2019,01,01), ${create_calls_ring_groups.datetime}) + 2, 7) 

Aquí hemos anidado la función date dentro de una función diff_days que a su vez está dentro de una función mod. Funciona de la siguiente manera:

  1. La date() function comprueba qué fecha estamos considerando en nuestra distribución; en este caso, ${create_calls_ring_groups.datetime}.
  2. Next, la diff_days() function analiza start_date (2019,01,01) y end_date (${create_calls_ring_groups.datetime}); y devuelve el número de días entre los 2 (pongamos que nuestra fecha de finalización es el 30.09.2019; el número de días entre las 2 fechas es de 272 días).
  3. Finalmente, la mod() function devuelve el resto (a los 272 días que hemos añadido 2, por lo que considera el lunes como el día 1 de la semana).

El cálculo completo sería:

  • 274 (la diferencia de días entre la fecha de inicio y la fecha de finalización más 2 días para ajustar el primer día de la semana) por 7 (número de días en una semana) para llegar a 39.1428571429 (274/7=39.1428571429).
  • Redondee hasta obtener un número entero de 39. Multiplique 39 por 7 para obtener 273 (39*7=273).
  • Sustraiga este número del original de 274 para obtener un residuo de 1 (274-273=1), que es el número ordinal del lunes en una semana para nuestro análisis específico.

La documentación de Functions and Operators le informa sobre las funciones más adecuadas para sus necesidades. Al utilizar funciones en un cálculo de tabla, puede utilizar cualquier función.

Volver ""
Por favor, inicie sesión para enviar una solicitud.