Saltar al contenido principal
waffle.svg
Domo

Guía de referencia sobre las funciones de Beast Mode

Version 2

 

Importante: Cuando haga referencia a esta página fuera de la Base de conocimientos, use este vínculo: http://knowledge.domo.com?cid=beastmodereference

Introducción

Puede usar esta guía de referencia para obtener información sobre las funciones compatibles de Beast Mode.

Vídeo de aprendizaje: Funciones de Beast Mode

 

 

Nota: Los vídeos de aprendizaje sobre productos solo están dirigidos a clientes de Domo.

Funciones compatibles

Puede usar cualquiera de las siguientes funciones en los cálculos. Puede ver ejemplos de muchas de las funciones en Cálculos de ejemplo de Beast Mode.

Funciones de totalización

Nombre de función

Descripción

Ejemplo

APPROXIMATE COUNT (DISTINCT)

Devuelve el recuento aproximado de un número de valores únicos de una columna.

APPROXIMATE_COUNT_DISTINCT(`Customers`)

AVG

Devuelve el valor promedio de cada serie de una columna.

AVG(`Operating Budget`)

CEILING

Devuelve el valor más alto de cada serie de una columna.

Esta función difiere de la función MAX por el hecho de que CEILING se redondea, mientras que MAX no.

CEILING(`Operating Budget`)

COUNT

Devuelve el número de valores de fila de una columna.

COUNT(`Customers`)

COUNT (DISTINCT)

Devuelve el recuento de un número de valores únicos de una columna.

COUNT(DISTINCT `Customers`)

FLOOR

Devuelve el valor más bajo de cada serie de una columna numérica.

Esta función difiere de la función MIN por el hecho de que FLOOR se redondea, mientras que MIN no.

FLOOR(`Operating Budget`)

MAX

Devuelve el valor más alto de cada serie de una columna numérica.

Esta función difiere de la función CEILING por el hecho de que MAX no se redondea, mientras que CEILING sí.

MAX(`Operating Budget`)

MIN

Devuelve el valor más bajo de cada serie de una columna numérica.

Esta función difiere de la función FLOOR por el hecho de que la función MIN no se redondea, mientras que FLOOR sí.

MIN(`Operating Budget`)

STDDEV_POP

Devuelve la desviación estándar de recopilación de cada serie de una columna numérica.

STDDEV_POP(`Values`)

SUM

Devuelve la suma de cada serie de una columna numérica.

SUM(`Values`)

SUM (DISTINCT)

Devuelve la suma de valores únicos de una columna numérica.

SUM(DISTINCT `Values`)

VAR_POP

Devuelve la varianza estándar de recopilación de cada serie de una columna numérica.

VAR_POP(`Values`)

Para obtener información sobre cómo usar las funciones de totalización en los números de resumen, consulte Aplicación de un cálculo a un número de resumen.

Funciones matemáticas

Nombre de función

Descripción

Ejemplo

ABS

Devuelve el valor absoluto de todos los valores de una columna numérica.

Dicho de otra forma, todos los valores negativos se convierten en positivos, pero los valores positivos permanecen tal cual. Resulta pertinente si desea ver la totalización sin tener en cuenta los valores positivos y negativos.

ABS(`Operating Budget`)

MOD

Devuelve el remanente de cada valor de una columna numérica dividido por algún número especificado (dividendo).

MOD(`Values`,2)

POWER

Devuelve cada valor de una columna numérica elevado a una potencia determinada. Si la columna contiene varias series, se sumarán los valores de cada una.

POWER(`Values`,2)

RAND

Devuelve valores aleatorios entre 0 y 1.

RAND(`Values`)

ROUND

Devuelve los valores de una columna numérica redondeados hasta la posición decimal especificada más próxima.

Si no incluye un valor de posición decimal en la función, los valores devueltos se redondean al número entero más próximo.

ROUND(`Values`,1)

Funciones lógicas

Nombre de función

Descripción

Ejemplo

CASE

Úsela para empezar declaraciones lógicas en las que el valor de los datos se sustituye cuando se cumple un criterio determinado (when...then or when...then, else). Estas declaraciones utilizan el siguiente formato:

CASE `Value` when x then 'resultx' else 'resulty' End

o
 

CASE when `Value`=x then 'resultx' else 'resulty' End

Dicho de otra forma, cuando los datos de la columna "Valor" son iguales al número x, se devuelve el valor resultx; de lo contrario, se devuelve el valor resulty. (El valor devuelto puede ser una cadena con comillas simples o un número).

Para varias declaraciones condicionales, use el siguiente formato:

CASE when `Value`=x then 1 when `Value`=y then 2 end

Aunque sea válido, evite usar el siguiente formato poco eficaz:

CASE when `Value`=x then 1 else CASE when `Value`=y then 2 end end

Operador IN

En una cláusula CASE when, puede usar el operador IN, que le permite especificar varios valores para evaluarlos.

`column_name` IN (value1,value2,...)


CASE when `State` in ('NY', 'TX') then 0 else 1 end

Operador LIKE

En una cláusula CASE when, puede usar el operador LIKE, que le permite buscar un patrón específico en una columna.

`column_name` LIKE pattern

CASE when `State` like '%TX%' or `State` like '%NY' then 0 else 1 end

Puede usar estos caracteres comodín con el operador LIKE:

  • % para obtener cualquier número de caracteres, incluso los caracteres cero.
    like '%TX%'

  • _ para obtener exactamente un carácter.
    like '_hn%'

Los valores del operador LIKE coinciden con el orden de las declaraciones WHEN. Por ejemplo, si un valor de los datos coincide con el primer y el cuarto operador LIKE, se aplica a la primera operación. 

CASE when `Amount`=1 then 10 else 0 End

CASE `Gender`
when 'M' then 'Male'
when 'F' then 'Female'
end​

CASE when `Pennies` >= 600 then 'Large'
when `Pennies` <= 300 then 'Small'
else `Pennies`
end​

 

IFNULL

Se usa en declaraciones lógicas en las que desea especificar una sustitución para valores nulos.

IFNULL(`Values`,0)

NULLIF

Devuelve nulo si el valor de la primera columna es igual al valor de la segunda columna; de lo contrario, devuelve el valor de la primera columna.

NULLIF(`Value 1`,`Value 2`)

Vídeo de aprendizaje: Declaraciones CASE de Beast Mode

 

 

Vídeo de aprendizaje: Análisis de la declaración CASE

 

Nota: Los vídeos de aprendizaje sobre productos solo están dirigidos a clientes de Domo.

 

Funciones de cadena

Función

Descripción

Ejemplo

CONCAT

Combina cadenas de dos o más columnas de cadena.

CONCAT(`First Name`,' ',`Last Name`)

INSTR

Devuelve la posición de la primera instancia de una cadena específica de una columna determinada, a partir de la primera letra del nombre.

En el ejemplo de la derecha, el cálculo devolvería la posición de la primera instancia de la letra "e" de cada cadena de la columna.  

INSTR(`Group`,'e')

LEFT

Devuelve el número específico de caracteres de cada cadena de la columna especificada, empezando por la izquierda. 

LEFT(`Group`,3)

LENGTH

Devuelve el número de caracteres de cada cadena de la columna especificada. 

LENGTH(`Group`)

LOWER

Convierte en minúscula las cadenas de una o varias columnas de cadena.

LOWER(`Product Type`)

REPLACE

Reemplaza todas las cadenas especificadas de una columna determinada por otra cadena concreta. 

REPLACE(`Department`,'Human Resnources','Human Resources')

RIGHT

Devuelve el número específico de caracteres de la columna especificada, empezando por la derecha. 

RIGHT(`Group`,3)

SUBSTRING

Extrae y devuelve un número específico de caracteres de los valores de una columna de cadena.

Especifique los caracteres que desea obtener; para ello, indique la posición de inicio y la longitud de los caracteres. Por ejemplo, al especificar la posición 1 y la longitud 3, se devolvería el primer, segundo y tercer carácter de los valores de la columna.

SUBSTRING(`Employee Name`,1,3)

TRIM

Quita los espacios inicial y final de todos los valores de las columnas de cadena.

TRIM(`Employee Name`)

UPPER

Convierte en mayúscula las cadenas de una o varias columnas de cadena.

UPPER(`Customers`)

Funciones de fecha y hora

Función

Descripción

Ejemplo

ADDDATE

Agrega valores de fecha o fecha y hora (como intervalos) a valores de fecha en una columna de fecha.

Puede especificar los valores de fecha o de fecha y hora para agregarlos a los valores de fecha de una columna de fecha; para ello, debe especificar la columna, el intervalo, la expresión y la unidad, como en ADDDATE(`datecolumn`, interval expr unit), donde datecolumn es la columna que contiene un valor de fecha, donde expr es el argumento que contiene el valor de fecha o de fecha y hora para agregarlo y donde unit es el valor de cadena para el tipo de unidad de fecha o de fecha y hora correspondiente.

Puede agregar el prefijo "-" a la expresión para restar el valor. Especifique el valor de la unidad (como segundo, minuto, hora, día, semana, mes, trimestre o año). (La palabra clave "interval" y los valores de tipo de unidad distinguen mayúsculas de minúsculas). Para obtener más información, consulte Valores de tipo de unidad en Beast Mode.

Por ejemplo, al agregar 12 días al 4 de enero, se devolvería 16 de enero.

Es lo mismo que DATE_ADD.

ADDDATE(`DateCol`, interval 12 day)

ADDTIME

Agrega un número específico de segundos a todos los valores de una columna de hora. Por ejemplo, al agregar 15 segundos a 8:05, se devolvería 8:20.

ADDTIME(`Time`,25)

CURDATE

Devuelve la fecha actual.

En esta función no se especifica ningún nombre de columna.

Es lo mismo que CURRENT_DATE.

CURDATE()

CURTIME

Devuelve la hora actual.

En esta función no se especifica ningún nombre de columna.

Es lo mismo que CURRENT_TIME.

CURTIME()

CURRENT_DATE

Devuelve la fecha actual.

En esta función no se especifica ningún nombre de columna.

Es lo mismo que CURDATE.

CURRENT_DATE()

CURRENT_TIME

Devuelve la hora actual.

En esta función no se especifica ningún nombre de columna.

Es lo mismo que CURTIME.

CURRENT_TIME()

CURRENT_TIMESTAMP

Devuelve el valor de la hora y fecha actuales con el formato YYYY-MM-DD HH:MM:SS.

En esta función no se especifica ningún nombre de columna.

Es lo mismo que NOW.

CURRENT_TIMESTAMP()

DATE

Extrae y devuelve las fechas de los valores de hora y fecha.

DATE(`DateCol`)

DATEDIFF

Devuelve el número de días entre dos fechas a partir de valores de fecha y hora.

DATEDIFF(CURRENT_DATE(), `lastmoddate`)

DATE_ADD

Agrega valores de fecha o fecha y hora (como intervalos) a valores de fecha en una columna de fecha.

Puede especificar los valores de fecha o de fecha y hora para agregarlos a los valores de fecha de una columna de fecha; para ello, debe especificar la columna, el intervalo, la expresión y la unidad, como en DATE_ADD(`datecolumn`, interval expr unit), donde datecolumn es la columna que contiene un valor de fecha, donde expr es el argumento que contiene el valor de fecha o de fecha y hora para agregarlo y donde unit es el valor de cadena para el tipo de unidad de fecha o de fecha y hora correspondiente.

Puede agregar el prefijo "-" a la expresión para restar el valor. Especifique el valor de la unidad (como segundo, minuto, hora, día, semana, mes, trimestre o año). (La palabra clave "interval" y los valores de tipo de unidad distinguen mayúsculas de minúsculas). Para obtener más información, consulte Valores de tipo de unidad en Beast Mode.

Por ejemplo, al agregar 12 días al 4 de enero, se devolvería 16 de enero.

Es lo mismo que ADDDATE.

DATE_ADD(`DateCol`, interval 12 day)

DATE_FORMAT

Convierte fechas en una columna de fecha/hora en un formato específico.

Nota: Beast Mode usa formatos de fecha y hora tipo SQL.

Puede especificar el formato que desea utilizar para una columna de fecha u hora; para ello, defina la columna y la cadena de fecha u hora, como en DATE_FORMAT(`datecolumn`,'format'), donde datecolumn es la columna que contiene un valor de fecha y format es la cadena que contiene caracteres especificadores para usarlos al dar formato al valor de fecha.

Es necesario agregar el carácter "%" delante de los caracteres especificadores de formato.

Por ejemplo, al usar DATE_FORMAT(`MyDate`,'%Y-%m-%d %h:%i %p'), la fecha de la columna de fecha MyDate usará este formato: 2013-04-17 10:10 AM.

Para obtener información sobre los caracteres especificadores, consulte Caracteres especificadores de formato de fecha en Beast Mode.

Es similar a TIME_FORMAT.

DATE_FORMAT(`DateCol`,'%y')
DATE_FORMAT(`DateCol`,'%m/%d')
DATE_FORMAT(NOW(),'%d %b %Y %T')
DATE_FORMAT(STR_TO_DATE(`DateCol`, '%m,%d,%Y'), '%m/%d/%Y')
ADDDATE(DATE_FORMAT(`DateCol`, '%Y-%m-%d'), interval 12 day)
PERIOD_DIFF(DATE_FORMAT(CURDATE(), '%Y%m'), DATE_FORMAT(`DateCol`, '%Y%m'))

DATE_SUB

Resta los valores de fecha o fecha y hora (como intervalos) a los valores de fecha de una columna de fecha.

Puede especificar los valores de fecha o de fecha y hora para restarlos a los valores de fecha de una columna de fecha; para ello, debe especificar la columna, el intervalo, la expresión y la unidad, como en DATE_SUB(`datecolumn`, interval expr unit), donde datecolumn es la columna que contiene un valor de fecha, donde expr es el argumento que contiene el valor de fecha o de fecha y hora para restarlo y donde unit es el valor de cadena para el tipo de unidad de fecha o de fecha y hora correspondiente.

Puede agregar el prefijo "-" a la expresión para agregar el valor. Especifique el valor de la unidad (como segundo, minuto, hora, día, semana, mes, trimestre o año). (La palabra clave "interval" y los valores de tipo de unidad distinguen mayúsculas de minúsculas). Para obtener más información, consulte Valores de tipo de unidad en Beast Mode.

Por ejemplo, al restar 12 días al 24 de enero, se devolvería 12 de enero.

Es lo mismo que SUBDATE.

DATE_SUB(`DateCol`, interval 12 day)

DAY

Devuelve el día numérico del mes para todos los valores de una columna de fecha/hora.

Es lo mismo que DAYOFMONTH.

DAY(`DateCol`)

DAYNAME

Devuelve el nombre del día de la semana para todos los valores de una columna de fecha/hora.

DAYNAME(`DateCol`)

DAYOFMONTH

Devuelve el día numérico del mes para todos los valores de una columna de fecha/hora.

Es lo mismo que DAY.

DAYOFMONTH(`DateCol`)

DAYOFWEEK

Devuelve el día numérico de la semana para todos los valores de una columna de fecha/hora (por ejemplo: "2" para "Lunes").

DAYOFWEEK(`DateCol`)

DAYOFYEAR

Devuelve el día numérico del año para todos los valores de una columna de fecha/hora (por ejemplo: "226" para el día 226 del año).

DAYOFYEAR(`DateCol`)

FROM_DAYS

Convierte números de día en fechas.

FROM_DAYS(`DateCol`)

FROM_UNIXTIME

Devuelve un valor UNIX de fecha y hora de una columna UNIX de fecha/hora con el formato especificado.

Para obtener información sobre los caracteres especificadores, consulte Caracteres especificadores de formato de fecha en Beast Mode.

FROM_UNIXTIME(`UnixDateCol`,'%Y %d %m %h:%i:%s %x')

HOUR

Devuelve la hora para todos los valores de una columna de fecha/hora (por ejemplo, la hora "3:36" devolvería "3").

HOUR(`Time`)

LAST_DAY

Totaliza los valores de cada mes de una columna de fecha/hora y devuelve cada totalización como el último día de cada mes.

Por ejemplo, si una columna de fecha/hora tuviera los valores "15", "16" y "17" para enero, solo aparecería la última fecha especificada de enero, con un valor combinado de 48.

LAST_DAY(`DateCol`)

MINUTE

Devuelve el valor para cada minuto de una columna de hora.

Si existe más de una instancia de un minuto particular en la columna, se totalizan los valores para esos minutos.

MINUTE(`Time`)

MONTH

Devuelve el número del mes (p. ej.: "9" para septiembre) para todos los valores en una columna de fecha/hora.

MONTH(`DateCol`)

MONTHNAME

Devuelve el nombre del mes (p. ej.: "Septiembre" en lugar de "9") para todos los valores en una columna de fecha/hora.

MONTHNAME(`DateCol`)

NOW

Devuelve el valor de la hora y fecha actuales con el formato YYYY-MM-DD HH:MM:SS.

En esta función no se especifica ningún nombre de columna.

Es lo mismo que CURRENT_TIMESTAMP.

NOW()

PERIOD_ADD

Agrega el número especificado de meses a los valores de una columna de fecha. Para que esto funcione, los valores de fecha deben ser meses con el formato YYYYMM.

PERIOD_ADD(`Month`,6)

PERIOD_DIFF

Devuelve el número de meses entre meses de dos columnas de fecha.

Para que esto funcione, los valores de fecha deben ser meses con el formato YYYYMM. Por ejemplo, si una columna incluyera el valor de fecha 200803 y otra incluyera el valor 200809, esta función devolvería 6.

PERIOD_DIFF(201309,201301)
PERIOD_DIFF(`Month 1`, `Month 2`)
PERIOD_DIFF(DATE_FORMAT(CURDATE(), '%Y%m'), DATE_FORMAT(`DateCol`, '%Y%m'))

QUARTER

Totaliza los datos de valores de fecha en trimestres de un año.

QUARTER(`DateCol`)

SECOND

Devuelve el valor para cada segundo de una columna de hora. Si existe más de una instancia de un segundo particular en la columna, se totalizan los valores para esos segundos.

SECOND(`Time`)

SEC_TO_TIME

Convierte los segundos en horas, minutos y segundos. Por ejemplo, 3489 se convertiría en 00:58:09.

SEC_TO_TIME(`Seconds`)

STR_TO_DATE

Convierte las cadenas (que Domo no reconoce como fechas) de una o varias columnas de cadena en valores de fecha y hora. Especifique las columnas y el formato de fecha actual utilizado en dichas columnas.

De forma predeterminada, los valores de fecha y hora se devuelven con el formato de salida %m-%d-%Y. Puede cambiar el formato de salida convirtiendo el cálculo STR_TO_DATE en un cálculo DATE_FORMAT que especifica los caracteres especificadores de formato de fecha que desea.

Para obtener información sobre los caracteres especificadores, consulte Caracteres especificadores de formato de fecha en Beast Mode.

STR_TO_DATE(`DateCol`,'%m,%d,%Y')
DATE_FORMAT(STR_TO_DATE(`DateCol`, '%m,%d,%Y'), '%m/%d/%Y')

SUBDATE

Resta los valores de fecha o fecha y hora (como intervalos) a los valores de fecha de una columna de fecha.

Puede especificar los valores de fecha o de fecha y hora para restarlos a los valores de fecha de una columna de fecha; para ello, debe especificar la columna, el intervalo, la expresión y la unidad, como en SUBDATE(`datecolumn`, interval expr unit), donde datecolumn es la columna que contiene un valor de fecha, donde expr es el argumento que contiene el valor de fecha o de fecha y hora para restarlo y donde unit es el valor de cadena para el tipo de unidad de fecha o de fecha y hora correspondiente.

Puede agregar el prefijo "-" a la expresión para agregar el valor. Especifique el valor de la unidad (como segundo, minuto, hora, día, semana, mes, trimestre o año). (La palabra clave "interval" y los valores de tipo de unidad distinguen mayúsculas de minúsculas). Para obtener más información, consulte Valores de tipo de unidad en Beast Mode.

Por ejemplo, al restar 12 días al 24 de enero, se devolvería 12 de enero. Es lo mismo que DATE_SUB.

SUBDATE(`DateCol`, interval 12 day)

SUBTIME

Resta un número específico de segundos a todos los valores de una columna de hora.

Por ejemplo, al restar 30 segundos a 8:05:45, se devolvería 8:05:15.

SUBTIME(`Time`,15)

SYSDATE

Devuelve la fecha y hora actuales con el formato YYYY-MM-DD HH:MM:SS, como en 2014-04-03T19:25:29.

En esta función no se especifica ningún nombre de columna.

Es similar a CURRENT_DATE y CURRENT_TIME.

SYSDATE()

TIME

Extrae las horas de los valores de fecha y hora.

TIME(`DateCol`)

TIMEDIFF

Devuelve la diferencia entre valores de dos columnas de fecha/hora, expresada como un valor de hora.

TIMEDIFF(`Time 1`,`Time 2`)

TIMESTAMP

Devuelve valores de una columna de fecha como valores de fecha y hora.

TIMESTAMP(`DateCol`)

TIME_FORMAT

Convierte la hora de una columna de fecha y hora en un formato específico.

Nota: Beast Mode usa formatos de fecha y hora tipo SQL. 

Puede especificar el formato que desea utilizar para los valores de hora de una columna de hora; para ello, defina la columna y la cadena de hora, como en TIME_FORMAT(`datetimecolumn`,'format'), donde datetimecolumn es la columna que contiene un valor de hora y format es la cadena que contiene caracteres especificadores para usarlos al dar formato al valor de hora.

Nota: Los especificadores de formato utilizados en DATE_FORMAT pueden utilizarse con TIME_FORMAT, pero los especificadores distintos de horas, minutos, segundos y microsegundos producen un valor NULO o 0.  

Es necesario agregar el carácter "%" delante de los caracteres especificadores de formato.

Por ejemplo, con TIME_FORMAT(`Date`,'%h:%i:%s'), la fecha de la columna de hora transformada usa este formato: 12:20:12.

Para obtener información sobre los caracteres especificadores, consulte ¿Qué caracteres especificadores de formato puedo usar en Beast Mode?

Es similar a DATE_FORMAT.

TIME_FORMAT(`Date`,'%h:%i:%s')
TIME_FORMAT(NOW(),'%h:%i:%s')

TIME_TO_SEC

Devuelve un número de segundos transcurridos para todos los valores en una columna de fecha/hora.

TIME_TO_SEC(`DateCol`)

TO_DAYS

Devuelve el número de días desde el año 0 para todos los valores en una columna de fecha/hora. Por ejemplo, la fecha "01-06-2010" se devolvería como "734143," ya que han transcurrido 734 143 días entre dicha fecha y el 1 de enero del año 0.

TO_DAYS(`DateCol`)

UNIX_TIMESTAMP Devuelve marcas de tiempo UNIX para todos los valores de una columna de fecha/hora. UNIX_TIMESTAMP(`DateCol`)
WEEK

Devuelve el número de semana de todas las fechas de una columna de fecha/hora. Es equivalente a WEEKOFYEAR.

Los usuarios de Adrenaline 2 también pueden usar los siguientes modificadores:

  • WEEK(`Date Column`,11) = La semana empieza el 1 de enero y la semana empieza el domingo

  • WEEK(`Date Column`,22) = La semana sigue el calendario ISO y la semana empieza el lunes

WEEK(`DateCol`)

YEAR

Devuelve el año para todos los valores de una columna de fecha/hora.

YEAR(`DateCol`)

YEARWEEK

Devuelve el número de año y semana para todos los valores de una columna de fecha/hora con el formato YYYYWW.

Por ejemplo, se devuelve201232 para la semana 32 del año 2012.

Los usuarios de Adrenaline 2 también pueden usar los siguientes modificadores:

  • YEARWEEK(`Date Column`,11) = La semana empieza el 1 de enero y la semana empieza el domingo

  • YEARWEEK(`Date Column`,22) = La semana sigue el calendario ISO y la semana empieza el lunes

YEARWEEK(`DateCol`)

Funciones incompatibles

Las siguientes funciones ya no son compatibles: SQRT, CONVERT_TZ y MICROSECOND