Motive Analytics permite a las flotas crear fórmulas personalizadas para cálculos utilizando los operadores y funciones proporcionados. Estas fórmulas ayudan a las flotas a realizar análisis más avanzados de sus datos.
- Crear una nueva fórmula
- Funciones predefinidas
- Funciones agregadas
- Funciones de conversión
- Funciones de fecha
- Funciones mixtas
- Funciones numéricas
- Funciones de valor absoluto y redondeo
- Funciones trigonométricas (grados)
- Funciones exponenciales y logarítmicas
- Funciones de módulo y especiales
- Funciones de raíz y potencia
- Operadores
- Funciones de texto
Crear una nueva fórmula
1. Inicie sesión en el Panel de Flotas y haga clic en Analytics en el menú lateral izquierdo.
2. Haga clic en Crear.
3. Haga clic en Crear respuesta.
4. Se muestra la pantalla Creador de respuestas personalizadas. Haga clic en Agregar en el menú desplegable Encontrar columnas.
5. Haga clic en Fórmula.
6. Se muestra la pantalla Editor de fórmulas. Utilice las funciones predefinidas para crear la fórmula según sea necesario.
7. Una vez creada, haga clic en Guardar.
| Nota: Las fórmulas son específicas para cada respuesta; si se requiere la misma fórmula en otra respuesta, las flotas deben recrearla allí en la nueva respuesta. |
Funciones predefinidas
Motive Analytics cuenta con múltiples funciones predefinidas para ayudar a las flotas a crear fórmulas personalizadas. Las funciones se enumeran a continuación:
Funciones agregadas
Las flotas pueden usar las siguientes funciones para agregar datos.
Agregados básicos
-
average(column): Suministra el promedio de todos los valores de una columna.
- Ejemplo: average ( revenue )
-
sum(column): Suministra la suma de todos los valores de una columna.
- Ejemplo: sum ( revenue )
-
count(column): Suministra el número de filas en la tabla que contiene la columna.
- Ejemplo: count ( product )
-
unique_count(column): Suministra el número de valores únicos de una columna.
- Ejemplo: unique count ( customer )
-
max(column): Suministra el valor máximo de una columna.
- Ejemplo: max ( sales )
-
min(column): Suministra el valor mínimo de una columna.
- Ejemplo: min ( revenue )
-
median(column): Devuelve el valor de la medida de la fila que tiene el 50º valor de percentil.
- Ejemplo: median ( sales )
-
percentile(column, N, order): Devuelve el valor de la medida de la fila que tiene un rank_percentile inferior o igual a N. Si no hay ningún rank_percentile en N, se devuelve el valor de la medida de la primera fila por encima de N.
- Ejemplo: percentile ( sales , 99 , 'asc' ), percentile ( sales , 99 , 'desc' )
Agregados condicionales
-
average_if(condition, column): Suministra el promedio de todas las columnas que cumplen con un criterio determinado.
- Ejemplo: average_if (city = 'San Francisco', revenue)
-
sum_if(condition, column): Suministra los valores de suma filtrados por un criterio específico.
- Ejemplo: sum_if (region = 'west', revenue)
-
count_if(condition, column): Suministra el número de filas en la tabla que contiene la columna.
- Ejemplo: ccount_if (region = 'west', region)
-
max_if(condition, column): Suministra el valor máximo entre las columnas que cumplen con un criterio determinado.
- Ejemplo: max_if ( (revenue > 10) , customer region)
-
min_if(condition, column): Suministra el valor mínimo entre las columnas que cumplen con un criterio específico.
- Ejemplo: min_if ( (revenue < 10) , customer region)
-
unique_count_if(condition, column): Suministra el número de valores únicos de una columna siempre que cumpla con un criterio.
- Ejemplo: unique_count_if ( (revenue > 10) , order date )
Agregados acumulativos
-
cumulative_average(measure, attributes...): Toma una medida y uno o más atributos. Suministra el promedio de la medida, acumulada por el (los) atributo (s) en el orden especificado.
- Ejemplo: cumulative_average ( revenue , order date , state )
-
cumulative_sum(measure, attributes...): Toma una medida y uno o más atributos. Suministra la suma de la medida, acumulada por el (los) atributo (s) en el orden especificado.
- Ejemplo: cumulative_sum ( revenue , order date )
-
cumulative_max(measure, attributes...): Toma una medida y uno o más atributos. Suministra el máximo de la medida, acumulada por el (los) atributo (s) en el orden especificado.
- Ejemplo: cumulative_max ( revenue , state )
-
cumulative_min(measure, attributes...): Toma una medida y uno o más atributos. Suministra el mínimo de la medida, acumulada por el (los) atributo (s) en el orden especificado.
- Ejemplo: cumulative_min ( revenue , campaign )
Agregados móviles (ventanas móviles)
-
moving_average(measure, num1, num2, attributes...): Toma una medida y dos enteros para definir la ventana a agregar, y uno o más atributos. Suministra el promedio de la medida en la ventana determinada. Los atributos son las columnas de ordenamiento utilizadas para calcular el movimiento promedio. La ventana es (actual - número 1... actual + número 2) con ambos extremos incluidos en la ventana. Por ejemplo, "1,1" tendrá una ventana de tamaño 3. Para ver los períodos en el pasado, use un número negativo para el segundo extremo, como en el ejemplo "moving_average (ventas, 1, -1, fecha)".
- Ejemplo: moving_average ( revenue , 2 , 1 , customer region )
-
moving_sum(measure, num1, num2, attributes...): Toma una medida y dos enteros para definir la ventana a agregar, y uno o más atributos. Suministra la suma de la medida en la ventana determinada. Los atributos son las columnas de ordenamiento utilizadas para calcular el movimiento suma. La ventana es (actual - número 1... actual + número 2) con ambos extremos incluidos en la ventana. Por ejemplo, "1,1" tendrá una ventana de tamaño 3. Para ver los períodos en el pasado, use un número negativo para el segundo extremo, como en el ejemplo "moving_sum (ventas, 1, -1, fecha)".
- Ejemplo: moving_sum ( revenue , 1 , 1 , order date )
-
moving_max(measure, num1, num2, attributes...): Toma una medida y dos enteros para definir la ventana a agregar, y uno o más atributos. Suministra el máximo de la medida en la ventana determinada. Los atributos son las columnas de ordenamiento utilizadas para calcular el movimiento máximo. La ventana es (actual - número 1... actual + número 2) con ambos extremos incluidos en la ventana. Por ejemplo, "1,1" tendrá una ventana de tamaño 3. Para ver los períodos en el pasado, use un número negativo para el segundo extremo, como en el ejemplo "moving_max (ventas, 1, -1, fecha)".
- Ejemplo: moving_max ( complaints , 1 , 2 , store name )
-
moving_min(measure, num1, num2, attributes...): Toma una medida y dos enteros para definir la ventana a agregar, y uno o más atributos. Suministra el mínimo de la medida en la ventana determinada. Los atributos son las columnas de ordenamiento utilizadas para calcular el movimiento mínimo. La ventana es (actual - número 1... actual + número 2) con ambos extremos incluidos en la ventana. Por ejemplo, "1,1" tendrá una ventana de tamaño 3. Para ver los períodos en el pasado, use un número negativo para el segundo extremo, como en el ejemplo "moving_min (ventas, 1, -1, fecha)".
- Ejemplo: moving_min ( defects , 3 , 1 , product )
Funciones de clasificación y percentiles
-
rank(aggregate_function, order): Devuelve la clasificación de la fila actual. A los valores idénticos se les asigna una clasificación idéntica. Toma un agregado como entrada para el primer argumento. Utilice el segundo argumento como 'asc' | 'desc' para especificar el orden ascendente o descendente.
- Ejemplo: rank ( sum ( revenue ) , 'asc' ) o rank ( sum ( revenue ) , 'desc' )
-
rank_percentile(aggregate_function, order): Devuelve la clasificación percentil de la fila actual. A los valores idénticos se les asigna una clasificación percentil idéntica. Se toma un agregado como entrada para el primer argumento. Utilice el segundo argumento como 'asc' | 'desc' para especificar el orden ascendente o descendente.
- Ejemplo: rrank_percentile ( sum ( revenue ) , 'asc' ) o rank_percentile ( sum ( revenue ) , 'desc' )
Funciones estadísticas
-
stddev(column): Suministra la desviación estándar de todos los valores de una columna.
- Ejemplo: stddev ( revenue )
-
stddev_if(condition, column): Suministra una desviación estándar de valores filtrados para cumplir con un criterio específico.
- Ejemplo: stddev_if ( (revenue > 10) , (revenue / 10.0) )
-
variance(column): Suministra la varianza de todos los valores de una columna.
- Ejemplo: variance ( revenue )
-
variance_if(condition, column): Suministra la varianza de todos los valores de una columna siempre que cumplan con un criterio determinado.
- Ejemplo: variance_if ( (revenue > 10) , (revenue / 10.0) )
Funciones de conversión
Las flotas pueden usar estas funciones para convertir datos de un tipo de dato a otro.
to_bool
Suministra la entrada como un valor booleano (verdadero o falso).
Ejemplos:
- to_bool ( 0 ) = false
- to_bool ( married )
to_date
Acepta un entero o una cadena de texto, y un formato de fecha usando el formato strptime. Suministra la entrada como una fecha.
- No acepta fechas con formato de época como entrada.
- No acepta valores datetime, solo mes, día y año.
Ejemplos:
- to_date ( date_sold , '%Y-%m-%d' )
to_double
Suministra la entrada como un doble.
Ejemplos:
- to_double ('3.14') = 3.14
- to_double ( revenue * .01 )
to_integer
Suministra la entrada como un entero.
Ejemplos:
- to_integer ( '45' ) + 1 = 46
- to_integer ( price + tax - cost )
to_string
Suministra la entrada como una cadena de texto. Para convertir una fecha u hora, agregue un segundo parámetro con el formato a utilizar en strptime. Por ejemplo, a la cadena (12/01/2014, "%y-%m-%d") suministra 14-12-01.
Ejemplos:
- to_string ( 45 + 1 ) = '46'
to_string ( revenue - cost ) - to_string(date, "%y-%m-%d")
Funciones de fecha y hora
add_days
Suministra el resultado de agregar el número especificado de días a la fecha determinada.
Ejemplos:
- add_days ( 01/30/2015 , 5 ) = 02/04/2015
add_days ( invoiced , 30 )
add_minutes
Suministra el resultado de agregar el número especificado de minutos a la fecha de entrada/fecha y hora/hora.
Ejemplos:
- add_minutes ( 01/30/2015 00:10:20 , 5 ) = 01/30/2015 00:15:20
add_months
Suministra el resultado de agregar el número especificado de meses a la fecha determinada.
Ejemplos:
- add_months ( 01/30/2015 , 5 ) = 06/30/2015
add_months ( invoiced_date , 5 )
add_seconds
Suministra el resultado de agregar el número especificado de segundos a la fecha determinada.
Ejemplos:
- add_seconds ( 01/30/2015 00:00:00 , 5 ) = 01/30/2015 00:00:05
- add_seconds ( invoiced , 5 )
add_weeks
Suministra el resultado de agregar el número especificado de semanas a la fecha determinada.
Ejemplos:
- add_weeks ( 01/30/2015 , 2 ) = 02/13/2015
- add_weeks ( invoiced , 2 )
add_years
Suministra el resultado de agregar el número especificado de años a la fecha determinada.
Ejemplos:
- add_years ( 01/30/2015 , 5 ) = 01/30/2020
- add_years ( invoiced , 5 )
date
Suministra la parte de la fecha de una fecha determinada.
Ejemplos:
- date ( home visit )
day
Devuelve el número (1-31) del día de una fecha dada. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar.
Predeterminado: Calendario
Ejemplos:
- day ( 01/15/2014 ) = 15
- day ( 01/15/2014 , myCalendar )
- day ( date ordered )
day_number_of_quarter
Devuelve el número de día dentro de un trimestre para una fecha dada. Opcionalmente, especifique un año fiscal Devuelve el número del día en un trimestre para una fecha dada. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar. (En los ejemplos, el inicio del año fiscal se fija en el 01 de mayo.)
Predeterminado: Calendario
Ejemplos:
- day_number_of_quarter ( 01/30/2015 ) = 30
- day_number_of_quarter ( 01/30/2015 , fiscal ) = 91
day_number_of_week
Devuelve el número (1-7) del día de una semana a partir de la fecha dada, siendo 1 el lunes y 7 el domingo. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar.
Predeterminado: Calendario
Ejemplos:
- day_number_of_week ( 01/15/2014 ) = 3
- day_number_of_week ( 01/15/2014 , myCalendar )
- day_number_of_week ( shipped )
day_number_of_year
Devuelve el número (1-366) del día en un año a partir de una fecha dada. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar. (En los ejemplos, el inicio del año fiscal se fija en el 01 de mayo.)
Predeterminado: Calendario
Ejemplos:
- day_number_of_year ( 01/30/2015 ) = 30
- day_number_of_year ( 01/30/2015 , fiscal ) = 275
- day_number_of_year ( invoiced )
day_of_week
Devuelve el día de la semana para la fecha dada. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar.
Predeterminado: Calendario
Ejemplos:
- day_of_week ( 01/30/2015 ) = Friday
- day_of_week ( 01/30/2015 , myCalendar )
- day_of_week ( serviced )
diff_days
Resta el día de la segunda fecha del día de la primera fecha y devuelve el resultado en número de días.
Ejemplos:
- diff_days ( 01/15/2014 , 01/17/2014 ) = -2
- diff_days ( purchased , shipped )
diff_hours
Resta la hora de la segunda fecha de la hora de la primera fecha y devuelve el resultado en número de horas.
Ejemplos:
- diff_hours ( 01/15/2014 01:59:59 , 01/15/2014 02:00:00 ) = -1
- diff_hours ( 01/15/2014 01:00:00 , 01/15/2014 01:59:59 ) = 0
- diff_hours ( clicked , submitted )
diff_minutes
Resta el minuto de la segunda fecha del minuto de la primera fecha y devuelve el resultado en número de minutos.
Ejemplos:
- diff_minutes ( 01/15/2014 01:59:59 , 01/15/2014 02:00:00 ) = -1
- diff_minutes ( 01/15/2014 01:00:00 , 01/15/2014 01:00:59 ) = 0
- diff_minutes ( clicked , submitted )
diff_months
Resta el mes de la segunda fecha del mes de la primera fecha y devuelve el resultado en número de meses. El tercer parámetro opcional especifica el calendario personalizado que la fórmula utiliza para calcular el resultado.
Ejemplos:
- diff_months ( 12/25/2013 , 01/01/2014 ) = -1
- diff_months ( 01/01/2014 , 01/25/2014 ) = 0
- diff_months ( purchased , shipped )
- diff_months ( purchased , shipped , fiscal )
diff_time
Resta la segunda fecha de la primera fecha y suministra el resultado en número de segundos.
Ejemplos:
- diff_time ( 01/01/2014 , 01/02/2014 ) = -86400
- diff_time ( clicked , submitted )
is_weekend
Devuelve verdadero si la fecha dada cae en sábado o domingo. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar.
Predeterminado: Calendario
Ejemplos:
- is_weekend ( 01/31/2015 ) = true
- is_weekend ( 01/31/2015 , myCalendar )
- is_weekend ( emailed )
month
Devuelve el mes de una fecha dada. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar.
Predeterminado: Calendario
Ejemplos:
- month ( 01/15/2014 ) = January
- month ( 01/15/2014 , myCalendar )
- month ( date ordered )
month_number
Devuelve el número (1-12) del mes a partir de una fecha dada. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar. (En los ejemplos, el inicio del año fiscal se fija en el 01 de mayo.)
Segundo parámetro opcional: Especifica año fiscal o calendario (predeterminado: calendario).
Ejemplos:
- month_number ( 09/20/2014 ) = 9
- month_number ( 09/20/2014 , fiscal ) = 5
- month_number ( purchased )
month_number_of_quarter
Devuelve el número de mes (1-3) de la fecha dada en un trimestre. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar. (En los ejemplos, el inicio del año fiscal se fija en el 01 de mayo.)
Segundo parámetro opcional: Especifica año fiscal o calendario (predeterminado: calendario).
Ejemplos:
- month_number_of_quarter ( 02/20/2018 ) = 2
- month_number_of_quarter ( 02/20/2018 , fiscal ) = 1
now
Devuelve la fecha actual en el formato de fecha y hora estándar de su localidad. Por ejemplo, MM/dd/aaaa hh:mm:ss (27/04/2022 12:34:00) si su configuración regional es el inglés (Estados Unidos).
Ejemplo:
- now() → 27/04/2022 12:34:00 (para la localidad de EE. UU.)
quarter_number
Devuelve el número (1-4) del trimestre asociado a la fecha dada. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar. (En los ejemplos, el inicio del año fiscal se fija en el 01 de mayo)
Segundo parámetro opcional: Especifica año fiscal o calendario (predeterminado: calendario).
Ejemplos:
- quarter_number ( 04/14/2014 ) = 2
- quarter_number ( 04/14/2014 , fiscal ) = 4
- quarter_number ( shipped )
start_of_month
Devuelve la fecha del primer día del mes de la fecha indicada. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar.
Segundo parámetro opcional: Especifica año fiscal o calendario (predeterminado: calendario).
Ejemplos:
- start_of_month ( 01/31/2015 ) = Jan FY 2015
- start_of_month ( 01/31/2015 , myCalendar )
- start_of_month ( shipped )
start_of_quarter
Devuelve la fecha del primer día del trimestre correspondiente a la fecha dada. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar. (En los ejemplos, el inicio del año fiscal se fija en el 01 de mayo)
Segundo parámetro opcional: Especifica año fiscal o calendario (predeterminado: calendario).
Ejemplos:
- start_of_quarter ( 04/01/2014 ) = Apr 2014
- start_of_quarter ( 04/01/2014 , fiscal ) = Feb 2014
- start_of_quarter ( sold )
start_of_week
Devuelve la fecha del primer día de la semana para la fecha dada. Opcionalmente, se puede utilizar el último parámetropara especificar el calendario que debe utilizarse.
Segundo parámetro opcional: Especifica año fiscal o calendario (predeterminado: calendario).
Ejemplos:
- start_of_week ( 06/01/2015 ) = 05/30/2015 Week
- start_of_week ( 06/01/2015 , myCalendar )
- start_of_week ( emailed )
start_of_year
Devuelve la fecha del primer día del año para la fecha dada. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar. (En los ejemplos, el inicio del año fiscal se fija en el 01 de mayo)
Segundo parámetro opcional: Especifica año fiscal o calendario (predeterminado: calendario).
Ejemplos:
- start_of_year ( 04/01/2014 ) = Jan 2014
- start_of_year ( 04/01/2014 , fiscal ) = May 2013
- start_of_year ( joined )
time
Suministra la parte de tiempo de una fecha determinada.
Ejemplos:
- time ( 3/1/2002 10:32 ) = 10:32
- time ( call began )
today
Devuelve la fecha actual en el formato de fecha estándar de su localidad. Por ejemplo, MM/dd/aaaa (27/04/2022) si su configuración regional es el inglés (Estados Unidos).
Ejemplo:
- today() → 27/04/2022
week_number_of_month
Devuelve el número de semana para la fecha dada en un mes. Opcionalmente, se puede utilizar el último parámetro para especificar el calendario que debe utilizarse.
Segundo parámetro opcional: Especifica año fiscal o calendario (predeterminado: calendario).
Ejemplos:
- week_number_of_month ( 03/23/2017 ) = 3
- week_number_of_month ( 03/23/2017 , myCalendar )
week_number_of_quarter
Devuelve el número de semana para la fecha dada en un trimestre. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar. (En los ejemplos, el inicio del año fiscal se fija en el 01 de mayo)
Segundo parámetro opcional: Especifica año fiscal o calendario (predeterminado: calendario).
Ejemplos:
- week_number_of_quarter ( 04/03/2017 ) = 1
- week_number_of_quarter ( 04/03/2017 , fiscal ) = 10
week_number_of_year
Devuelve el número de semana para la fecha dada en un año. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar. (En los ejemplos, el inicio del año fiscal se fija en el 01 de mayo)
Segundo parámetro opcional: Especifica año fiscal o calendario (predeterminado: calendario).
Ejemplos:
- week_number_of_year ( 01/17/2014 ) = 3
- week_number_of_year ( 01/17/2014 , fiscal ) = 38
year
Devuelve el año a partir de una fecha dada. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar. (En los ejemplos, el inicio del año fiscal se fija en el 01 de mayo. Por convención estándar, el año fiscal se define por la fecha de fin de año.)
Segundo parámetro opcional: Especifica año fiscal o calendario (predeterminado: calendario).
Ejemplos:
- year ( 01/15/2014 ) = 2014
- year ( 12/15/2013 , fiscal ) = 2014
- year ( date ordered )
year_name
Devuelve el año en formato de cadena para una fecha dada. Opcionalmente, se puede utilizar el último parámetro para especificar qué calendario utilizar. Funciona de forma similar a la fórmula año.
Segundo parámetro opcional: Especifica año fiscal o calendario (predeterminado: calendario).
Ejemplos:
- year_name ( 01/15/2014 ) = "2014"
- year_name ( 12/15/2013 , fiscal ) = "2014"
- year_name ( date ordered )
Funciones mixtas
=
Suministra verdadero si el primer valor es igual al segundo valor.
Ejemplos:
- 2 = 2 = true
- revenue = 1000000
>
Suministra verdadero si el primer valor es mayor que el segundo valor.
Ejemplos:
- 3 > 2 = true
- revenue > 1000000
>=
Suministra verdadero si el primer valor es mayor o igual al segundo valor.
Ejemplos:
- 3 >= 2 = true
- revenue >= 1000000
greatest
Suministra el mayor de los valores.
Ejemplos:
- greatest ( 20 , 10 ) = 20
- greatest ( q1 revenue , q2 revenue )
least
Suministra el menor de los valores.
Ejemplos:
- least ( 20 , 10 ) = 10
- least ( q1 revenue , q2 revenue )
<
Suministra verdadero si el primer valor es menor que el segundo valor.
Ejemplos:
- 3 < 2 = false
- revenue < 1000000
<=
Suministra verdadero si el primer valor es menor o igual al segundo valor.
Ejemplos:
- 1 <= 2 = true
- revenue <= 1000000
!=
Suministra verdadero si el primer valor no es igual al segundo valor.
Ejemplos:
- 3 != 2 → true
- revenue != 1000000 → false
Funciones numéricas
Multiplicación (*)
Suministra el resultado de multiplicar ambos números.
Ejemplos:
- 3 * 2 = 6
- price * taxrate
Suma (+)
Suministra el resultado de sumar ambos números.
Ejemplos:
- 1 + 2 = 3
- price + shipping
Resta (-)
Suministra el resultado de restar el segundo número del primero.
Ejemplos:
- 3 - 2 = 1
- revenue - tax
División (/)
Suministra el resultado de dividir el primer número por el segundo. Si el segundo número es 0, devuelve NaN (no es un número).
Ejemplos:
- 6 / 3 = 2
- markup / retail_price
Exponenciación (^ o función pow)
Suministra el primer número elevado a la potencia del segundo.
Ejemplos:
- 3 ^ 2 = 9
- width ^ 2
Funciones de valor absoluto y redondeo
Valor absoluto (abs)
Suministra el valor absoluto.
Ejemplos:
- abs(-10) = 10
- abs(profit)
Techo (ceil)
Suministra el siguiente entero más pequeño.
Ejemplos:
- ceil(5.9) = 6
- ceil(growth_rate)
Piso (floor)
Suministra el entero anterior más grande.
Ejemplos:
- floor(5.1) = 5
- floor(growth_rate)
Redondeo (round)
Suministra el primer número redondeado a la precisión del segundo número (1 por defecto).
Ejemplos:
- round(35.65, 10) = 40
- round(48.67, 0.1) = 48.7
Funciones trigonométricas (grados)
Coseno (cos)
Suministra el coseno de un ángulo (especificado en grados).
Ejemplos:
- cos(63) = 0.45
- cos(beam_angle)
Seno (sin)
Suministra el seno de un ángulo (especificado en grados).
Ejemplos:
- sin(35) = 0.57
- sin(beam_angle)
Tangente (tan)
Suministra la tangente de un ángulo (especificado en grados).
Ejemplos:
- tan(35) = 0.7
- tan(beam_angle)
Coseno inverso (acos)
Suministra el coseno inverso en grados.
Ejemplos:
- acos(0.5) = 60
- acos(cos-satellite-angle)
Seno inverso (asin)
Suministra el seno inverso en grados.
Ejemplos:
- asin(0.5) = 30
- asin(sin-satellite-angle)
Tangente inversa (atan)
uministra la tangente inversa en grados.
Ejemplos:
- atan(1) = 45
- atan(tan-satellite-angle)
Tangente inversa con dos parámetros (atan2)
Suministra la tangente inversa en grados.
Ejemplos:
- atan2(10, 10) = 45
- atan2(longitude, latitude)
Funciones exponenciales y logarítmicas
Número de Euler (exp)
Suministra el número de Euler (~ 2.718) elevado a una potencia.
Ejemplos:
- exp(2) = 7.389
- exp(growth)
Exponenciación base 2 (exp2)
Suministra 2 elevado a una potencia.
Ejemplos:
- exp2(3) = 8
- exp2(growth)
Logaritmo natural (ln)
Suministra el logaritmo natural.
Ejemplos:
- ln(7.389) = 2
- ln(distance)
Logaritmo base 10 (log10)
Suministra el logaritmo con base 10.
Ejemplos:
- log10(100) = 2
- log10(volume)
Logaritmo base 2 (log2)
Suministra el logaritmo con base 2 o logaritmo binario.
Ejemplos:
- log2(32) = 5
- log2(volume)
Funciones de módulo y especiales
Módulo (mod)
Suministra el resto del primer número dividido por el segundo número.
Ejemplos:
- mod(8, 3) = 2
- mod(revenue, quantity)
División segura (safe_divide)
Suministra el resultado de dividir el primer número por el segundo. Si el segundo número es 0, suministra 0 en lugar de NaN (no es un número).
Ejemplos:
- safe_divide(12, 0) = 0
- safe_divide(total_cost, units)
Signo (sign)
Suministra +1 si el número es mayor que cero, -1 si es menor que cero, 0 si cero.
Ejemplos:
- sign(-250) = -1
- sign(growth_rate)
Número aleatorio (random)
Suministra un número aleatorio entre 0 y 1.
Ejemplos:
- random() = 0.457718
- random()
Funciones de raíz y potencia
Cuadrado (sq)
Suministra el cuadrado de un valor numérico.
Ejemplos:
- sq(9) = 81
- sq(width)
Raíz cuadrada (sqrt)
Suministra la raíz cuadrada.
Ejemplos:
- sqrt(9) = 3
- sqrt(area)
Cubo (cube)
Suministra el cubo de un número.
Ejemplos:
- cube(3) = 27
- cube(length)
Raíz cúbica (cbrt)
Suministra la raíz cúbica de un número.
Ejemplos:
- cbrt(27) = 3
- cbrt(volume)
ceil (Techo)
Suministra el siguiente entero más pequeño.
Ejemplos:
- ceil(5.9) = 6
- ceil(growth_rate)
cos (Coseno)
Suministra el coseno de un ángulo (especificado en grados).
Ejemplos:
- cos(63) = 0.45
- cos(beam_angle)
cube
Suministra el cubo de un número.
Ejemplos:
- cube(3) = 27
- cube(length)
exp (Exponencial)
Suministra el número de Euler (~ 2.718) elevado a una potencia.
Ejemplos:
- exp(2) = 7.38905609893
- exp(growth)
exp2
Suministra 2 elevado a una potencia.
Ejemplos:
- exp2(3) = 8
- exp2(growth)
floor
Suministra el entero anterior más grande.
Ejemplos:
- floor(5.1) = 5
- floor(growth_rate)
ln (Logaritmo natural)
Suministra el logaritmo natural.
Ejemplos:
- ln(7.38905609893) = 2
- ln(distance)
log10 (Logaritmo base 10)
Suministra el logaritmo con base 10.
Ejemplos:
- log10(100) = 2
- log10(volume)
log2 (Logaritmo base 2)
Suministra el logaritmo con base 2 o logaritmo binario.
Ejemplos:
- log2(32) = 5
- log2(volume)
mod (Módulo)
Suministra el resto del primer número dividido por el segundo número.
Ejemplos:
- mod(8, 3) = 2
- mod(revenue, quantity)
pow (Potencia)
Suministra el primer número elevado a la potencia del segundo número.
Ejemplos:
- pow(5, 2) = 25
- pow(width, 2)
random
Suministra un número aleatorio entre 0 y 1.
Ejemplos:
- random() = 0.457718
- random()
round
Suministra el primer número redondeado a la precisión del segundo número (1 por defecto)..
Ejemplos:
- round ( 45.67, 10 ) = 50
- round ( clicks , 100 )
safe_divide
Suministra el resultado de dividir el primer número por el segundo. Si el segundo número es 0, suministra 0 en lugar de NaN (no es un número).
Ejemplos:
- safe_divide ( 12 , 0 ) = 0
- safe_divide ( total_cost , units )
sign
Suministra +1 si el número es mayor que cero, -1 si es menor que cero, 0 si cero.
Ejemplos:
- sign(-250) = -1
- sign(growth_rate)
sin (Seno)
Suministra el seno de un ángulo (especificado en grados).
Ejemplos:
- sin(35) = 0.57
- sin(beam_angle)
spherical_distance
Se utiliza para calcular la distancia entre dos puntos en la Tierra, tomando en cuenta la forma esférica de la Tierra. Acepta dos coordenadas en el formato de distancia esférica (latitud_1, longitud_1, latitud_2, longitud_2). Suministra la distancia en metros entre los dos puntos.
Ejemplos:
- spherical_distance ( 37.4210483 , -122.1444313 , 36.0930727 , -115.1797873 ) = 637600
- spherical_distance ( start latitude , start longitude , end latitude , end longitude )
sq (Cuadrado)
Suministra el cuadrado de un valor numérico.
Ejemplos:
- sq(9) = 81
- sq(width)
sqrt (Raíz cuadrada)
Suministra la raíz cuadrada.
Ejemplos:
- sqrt(9) = 3
- sqrt(area)
tan (Tangente)
Suministra la tangente de un ángulo (especificado en grados).
Ejemplos:
- tan(35) = 0.7
- tan(beam_angle)
Operadores lógicos
and
Suministra verdadero cuando ambas condiciones son verdaderas, de lo contrario suministra falso.
Ejemplos:
- ( 1 = 1 ) and ( 3 > 2 ) = true
- lastname = 'smith' and state = 'texas'
if…then…else
Operador condicional
Ejemplos:
- if ( 3 > 2 ) then 'bigger' else 'not bigger'
- if ( cost > 500 ) then 'flag' else 'approve'
- if ( State = 'TX' ) then 'South' else if ( State = 'CA' ) then 'West' else 'Other'
ifnull
Suministra el primer valor si no es nulo, de lo contrario suministra el segundo.
Ejemplo:
- ifnull ( supplier , 'unknown' )
in
Toma un nombre de columna y una lista de valores. Suministra verdadero cuando el valor de la columna está presente en la lista de valores proporcionada.
Ejemplo:
- state in { 'texas' , 'california' }
- report_date in { 01/31/1992 , 01/31/1993 , 01/31/1994 }
isnull
Suministra verdadero si el valor es nulo.
Ejemplo:
- isnull(phone)
not
Suministra verdadero si la condición es falsa, de lo contrario suministra falso.
Ejemplos:
- not (3 > 2) = false
- not (state = 'texas')
not in
Toma un nombre de columna y una lista de valores. Comprueba cada valor de la columna con la lista de valores de la fórmula y devuelve "verdadero" si el valor de la columna no coincide con ninguno de los valores de la fórmula.
Ejemplo:
- state not in { 'texas' , 'california' }
or
Suministra verdadero cuando cualquiera de las condiciones es verdadera, de lo contrario suministra falso.
Ejemplos:
- (1 = 5) or (3 > 2) = true
- state = 'california' or state = 'oregon'
Funciones de texto
concat
Suministra los dos valores como una cadena de texto concatenada.
Ejemplos:
- concat('hay', 'stack') = 'haystack'
- concat(title, ' ', first_name, ' ', last_name)
contains
Suministra verdadero si la primera cadena contiene la segunda cadena, de lo contrario, suministra falso.
Ejemplos:
- contains('broomstick', 'room') = true
- contains(product, 'trial version')
edit_distance
Acepta dos cadenas de texto. Suministra la distancia de edición (número mínimo de operaciones requeridas para transformar una cadena en otra) como un entero. Funciona con cadenas de menos de 1023 caracteres.
Ejemplos:
- edit_distance('attorney', 'atty') = 4
- edit_distance(color, 'red')
edit_distance_with_cap
Acepta dos cadenas de texto y un entero para especificar el límite superior tope para la distancia de edición (número mínimo de operaciones requeridas para transformar una cadena en otra).
- Si la distancia de edición es menor o igual al tope especificado, suministra la distancia de edición.
- Si es superior al tope, suministra el tope más 1.
- Funciona con cadenas de menos de 1023 caracteres.
Ejemplos:
- edit_distance_with_cap('pokemon go', 'minecraft pixelmon', 3) = 4
- edit_distance_with_cap(event, 'burning man', 3)
left
Suministra la parte de la cadena determinada de una longitud específica, comenzando por el lado izquierdo de la cadena.
Ejemplos:
- left('persnickety', 4) = 'pers'
- left(lastname, 5)
right
Suministra la parte de la cadena determinada de una longitud específica, terminando en el lado derecho de la cadena.
Ejemplos:
- right('persnickety', 4) = 'kety'
- right(lastname, 5)
similar_to
Acepta una cadena de texto de documento y una cadena de texto de búsqueda.
- Devuelve verdadero si la puntuación de relevancia (0-100) de la cadena de búsqueda con respecto al documento es mayor o igual que 20.
- La relevancia se basa en la distancia de edición, el número de palabras de la pregunta y la longitud de las palabras de la pregunta que están presentes en el documento.
Ejemplos:
- similar_to('hello world', 'hello swirl') = true
- similar_to(current_team, drafted_by)
similarity
Acepta una cadena de texto de documento y una cadena de texto de búsqueda.
- Suministra la puntuación relevante (0-100) de la cadena de búsqueda con respecto al documento. La relevancia se basa en la distancia de edición, el número de palabras en la consulta y la longitud de las palabras en la consulta que están presentes en el documento.
- Si las dos cadenas son una coincidencia exacta, suministra 100.
Ejemplos:
- similarity('where is the burning man concert', 'burning man') = 46
- similarity(tweet1, tweet2)
sounds_like
Acepta dos cadenas de texto.
- Devuelve verdadero si suenan similares al ser pronunciadas, y falso si no lo son. Utiliza el algoritmo Metaphone para determinar la similitud.
Ejemplos:
- sounds_like('read', 'red') = true
- sounds_like(owner, promoter)
spells_like
Acepta dos cadenas de texto.
- Suministra verdadero si se deletrean de manera similar y falso si no lo hacen.
- Funciona con cadenas de menos de 1023 caracteres.
Ejemplos:
- spells_like ( 'thouhgtspot' , 'thoughtspot' ) = true
- spells_like ( studio , distributor )
strlen
Suministra la longitud del texto.
Ejemplos:
- strlen('smith') = 5
- strlen(lastname)
strpos
Devuelve la posición numérica de la segunda cadena en la primera cadena. Si se utiliza una conexión externa de almacén de datos en la nube, la posición comienza en 1 y 0 indica no encontrado. Si se utiliza la base de datos interna en la memoria de ThoughtSpot, la posición comienza en 0 y -1 indica no encontrado.
Ejemplos:
- strpos ( 'haystack_with_needle' , 'needle' ) = 14
- strpos ( complaint , 'lawyer' )
substr
Suministra la parte de la cadena determinada, comenzando en la ubicación especificada (a partir de 0), y de la longitud determinada.
Ejemplos:
- substr('persnickety', 3, 7) = 'snicket'
- substr(lastname, 0, 5)
Comparte esto con otros