Edición de expresiones edit-expressions

NOTE
En la siguiente sección se proporciona información sobre cómo trabajar con el editor de expresiones para crear reglas. Tenga en cuenta que la sintaxis que se utiliza para crear reglas es diferente de la que se utiliza para añadir personalización.

Trabajo con el editor de expresiones edit

Editar una expresión implica introducir manualmente las condiciones para formar una regla. Este modo permite utilizar funciones avanzadas, que permiten manipular los valores que se utilizan para llevar a cabo consultas específicas, como la manipulación de fechas, cadenas, campos numéricos y ordenación.

El editor de expresiones está disponible en el botón generador de reglas Editar expresión, disponible para los campos Atributo y Valor al configurar una condición personalizada.

Acceso desde el campo Atributo
Acceso desde el campo Valor
Editor de expresiones para el campo Atributo {modal="regular"}
Editor de expresiones para el campo Valor {modal="regular"}

El editor de expresiones proporciona lo siguiente:

  • Un campo de entrada (1)  en el que se define la expresión.
  • Una lista de campos (2) disponibles que se pueden usar en la expresión y que corresponden a la dimensión de segmentación de la consulta.
  • Funciones de ayuda (3), ordenadas por categoría.

Edite la expresión introduciendo una expresión directamente en el campo de entrada. Para añadir un campo o una función de ayuda, coloque el cursor en la expresión donde desee añadirlo y haga clic en el botón +.

Interfaz del editor de expresiones {modal="regular"}

Funciones de ayuda

La herramienta de edición de consultas le permite utilizar funciones avanzadas para llevar a cabo filtros complejos según los resultados deseados y los tipos de datos manipulados. Estas son las funciones disponibles:

Agregado

Las funciones de agregado realizan cálculos en un conjunto de valores.

Nombre
Descripción
Sintaxis
Avg
Devuelve el promedio de una columna de tipo numérico
Avg(<valor>)
Count
Cuenta los valores no nulos de una columna
Count(<valor>)
CountAll
Cuenta los valores devueltos (todos los campos)
CountAll()
Countdistinct
Cuenta los distintos valores no nulos de una columna
Countdistinct(<valor>)
Max
Devuelve el valor máximo de una columna de tipo número, cadena o fecha
Max(<valor>)
Min
Devuelve el valor mínimo de una columna de tipo número, cadena o fecha
Min(<valor>)
StdDev
Devuelve la desviación estándar de una columna de número, cadena o fecha
StdDev(<valor>)
StringAgg
Devuelve la concatenación de los valores de una columna de tipo cadena, separados por el carácter del segundo argumento
StringAgg(<Valor>, <Cadena>)
Sum
Devuelve la suma de los valores de una columna de tipo número, cadena o fecha
Sum(<valor>)

Fecha

Las funciones de fecha manipulan los valores de fecha u hora.

Nombre
Descripción
Sintaxis
AddDays
Añade un número de días a una fecha
AddDays(<fecha>, <número>)
AddHours
Añade un número de horas a una fecha
AddHours(<fecha>, <número>)
AddMinutes
Añade un número de minutos a una fecha
AddMinutes(<fecha>, <número>)
AddMonths
Añade un número de meses a una fecha
AddMonths(<fecha>, <número>)
AddSeconds
Añade un número de segundos a una fecha
AddSeconds(<fecha>, <número>)
AddYears
Añade un número de años a una fecha
AddYears(<fecha>, <número>)
ConvertNTZ
Convierte la marca de tiempo NTZ (marca de tiempo sin zona horaria) en TZ (marca de tiempo con zona horaria) aplicando la TZ de sesión definida
ConvertNTZ(<fecha+hora>)
DateCmp
Compara dos fechas
DateCmp(<fecha>, <fecha>)
DateOnly
Devuelve solo la fecha (con la hora en 00:00)
DateOnly(<fecha>)
Day
Devuelve el número que representa el día de la fecha.
Day(<fecha>)
DayOfYear
Devuelve el número de día del año de la fecha
DayOfYear(<fecha>)
DaysAgo
Devuelve la fecha correspondiente a la fecha actual menos “n” días
DaysAgo(<número>)
DaysAgoInt
Devuelve la fecha (entero ddmmaaaa) correspondiente a la fecha actual menos “n” días
DaysAgoInt(<número>)
DaysDiff
Devuelve el número de días entre dos fechas
DaysDiff(<fecha de finalización>, <fecha de inicio>)
DaysOld
Devuelve la antigüedad en días de una fecha
DaysOld(<fecha>)
GetDate
Devuelve la fecha del sistema actual del servidor
GetDate()
Hour
Devuelve la hora de la fecha
Hour(<fecha>)
HoursDiff
Devuelve el número de horas entre dos fechas
HoursDiff(<fecha de finalización>, <fecha de inicio>)
Minute
Devuelve los minutos de la fecha
Minute(<fecha>)
MinutesDiff
Devuelve el número de minutos entre dos fechas
MinutesDiff(<fecha de finalización>, <fecha de inicio>)
Month
Devuelve el número que representa el mes de la fecha
Month(<fecha>)
MonthsAgo
Devuelve la fecha correspondiente a la fecha actual menos "n" meses
MonthsAgo(<número>)
MonthsDiff
Devuelve el número de meses entre dos fechas
MonthsDiff(<fecha de finalización>, <fecha de inicio>)
MonthsOld
Devuelve la antigüedad en meses de una fecha
MonthsOld(<fecha>)
Oldest
Devuelve la fecha más antigua de un intervalo
Oldest(<fecha, fecha>)
Second
Devuelve los segundos de la fecha
Second(<fecha>)
SecondsDiff
Devuelve el número de segundos entre dos fechas
SecondsDiff(<fecha de finalización>, <fecha de inicio>)
SubDays
Resta un número de días a una fecha
SubDays(<fecha>, <número>)
SubHours
Resta un número de horas a una fecha
SubHours(<fecha>, <número>)
SubMinutes
Resta un número de minutos a una fecha
SubMinutes(<fecha>, <número>)
SubMonths
Resta un número de meses a una fecha
SubMonths(<fecha>, <número>)
SubSeconds
Resta un número de segundos a una fecha
SubSeconds(<fecha>, <número>)
SubYears
Resta un número de años a una fecha
SubYears(<fecha>, <número>)
ToDate
Convierte una fecha + hora como una fecha
ToDate(<fecha + hora>)
ToDateTime
Convierte una cadena en una fecha + hora
ToDateTime(<cadena>)
ToTimestamp
Convierte una cadena en una marca de tiempo
ToTimestamp(<cadena>)
ToTimeZone
Convierte una fecha y hora en una zona horaria
ToTimeZone(<fecha>, <zona horaria>)
TruncDate
Redondea una fecha y hora al segundo más cercano
TruncDate(@lastModified, <número de segundos>)
TruncDateTZ
Redondea una fecha + hora a una precisión determinada expresada en segundos
TruncDateTZ(<fecha>, <número de segundos>, <zona horaria>)
TruncQuarter
Redondea una fecha al trimestre
TruncQuarter(<fecha>)
TruncTime
Redondea la parte de la hora al segundo más cercano
TruncTime(<fecha>, <número de segundos>)
TruncWeek
Redondea una fecha a la semana
TruncWeek(<fecha>)
TruncYear
Redondea una fecha + hora al 1 de enero del año
TruncYear(<fecha>)
WeekDay
Devuelve un número que representa el día de la semana de la fecha (0=lunes, 6=domingo)
WeekDay(<fecha>)
Year
Devuelve el número que representa el año de la fecha
Year(<fecha>)
YearAndMonth
Devuelve el número que representa el año y el mes de la fecha
YearAndMonth(<fecha>)
YearsAgo
Devuelve el número de años entre una fecha determinada y la fecha actual
YearsAgo(<fecha>)
YearsDiff
Devuelve el número de horas entre dos fechas
YearsDiff(<fecha de finalización>, <fecha de inicio>)
YearsOld
Devuelve la antigüedad en años de una fecha
YearsOld(<fecha>)
NOTE
La función DateOnly tiene en cuenta la zona horaria del servidor, no la del operador.

Geomarketing

Las funciones de geomarketing se utilizan para manipular los valores geográficos.

Nombre
Descripción
Sintaxis
Distance
Devuelve la distancia entre dos puntos definidos por su longitud y latitud, expresada en grados
Distance(<longitud A>, <latitud A>, <longitud B>, <latitud B>)

Numérico

Las funciones de valores numéricos se utilizan para convertir texto en números.

Nombre
Descripción
Sintaxis
Abs
Devuelve el valor absoluto de un número
Abs(<número>)
Ceil
Devuelve el menor entero que sea mayor o igual que un número
Ceil(<número>)
Floor
Devuelve el mayor entero que sea mayor o igual que un número
Floor(<número>)
Greatest
Devuelve el número mayor de dos números
Greatest(<número 1>, <número 2>)
Least
Devuelve el número menor de dos números
Least(<número 1>, <número 2>)
Mod
Devuelve el resto de la división del entero “n1” entre “n2”
Mod(<número 1>, <número 2>)
Percent
Devuelve la proporción de dos números expresado como un porcentaje
Percent(<número 1>, <número 2>)
Random
Devuelve un valor aleatorio
Random()
Round
Redondea un número a “n” decimales
Round(<número>, <número de decimales>)
Sign
Devuelve el signo del número
Sign(<número>)
ToDouble
Convierte un entero en flotante
ToDouble(<número>)
ToInt64
Convierte un flotante en un entero de 64 bits
ToInt64(<número>)
ToInteger
Convierte un flotante en un entero
ToInteger(<número>)
Trunc
Trunca decimales de “n1” a “n2”
Trunc(<n1>, <n2>)

Otros

Esta tabla contiene las funciones restantes disponibles.

Nombre
Descripción
Sintaxis
AESEncrypt
Cifrar la cadena proporcionada en el argumento
AESEncrypt(<valor>)
Case
Devuelve el valor 1 si la condición es verdadera. Si no es así, devuelve el valor 2.
Case(When(<condición>, <valor 1>), Else(<valor 2>))
ClearBit
Elimina el indicador del valor
ClearBit(<identificador>, <indicador>)
Coalesce
Devuelve el valor 2 si el valor 1 es cero o nulo, de lo contrario devuelve el valor 1
Coalesce(<valor 1>, <valor 2>)
Decode
Devuelve el valor 3 si el valor 1 = valor 2. Si no devuelve el valor 4.
Decode(<valor 1>, <valor 2>, <valor 3>, <valor 4>)
Else
Devuelve el valor 1 (solo puede utilizarse como parámetro de la función case)
Else(<valor 1>, <valor 2>)
GetEmailDomain
Extrae el dominio de una dirección de correo electrónico
GetEmailDomain(<valor>)
GetMirrorURL
Recupera la URL del servidor de la página espejo
GetMirrorURL(<valor>)
Iif
Devuelve el valor 1 si la expresión es verdadera. Si no es así, devuelve el valor 2
Iif(<condición>, <valor 1>, <valor 2>)
IsBitSet
Indica si el indicador se encuentra en el valor
IsBitSet(<identificador>, <indicador>)
IsEmptyString
Devuelve el valor 2 si la cadena 1 está vacía; en caso contrario, devuelve el valor 3
IsEmptyString(<valor 1>, <valor 2>, <valor 3>)
NewUUID
Devuelve un ID único
NewUUID()
NoNull
Devuelve la cadena vacía si el argumento es NULL
NoNull(<valor>)
RowId
Devuelve el número de línea
RowId
SetBit
Fuerza la marca en el valor
SetBit(<identificador>, <indicador>)
ToBoolean
Convierte un número en Boolean
ToBoolean(<número>)
When
Devuelve el valor 1 si la expresión es verdadera. Si no es así, devuelve el valor 2 (solo puede utilizarse como parámetro de la función case)
When(<condición>, <valor 1>)

Cadena

Las funciones de cadena se utilizan para manipular un conjunto de cadenas.

Nombre
Descripción
Sintaxis
AllNonNull2
Indica si todos los parámetros no son nulos y no están vacíos.
AllNonNull2(<cadena>, <cadena>)
AllNonNull3
Indica si todos los parámetros no son nulos y no están vacíos.
AllNonNull3(<cadena>, <cadena>, <cadena>)
Ascii
Devuelve el valor ASCII del primer carácter de la cadena.
Ascii(<cadena>)
Char
Devuelve el carácter correspondiente al código ASCII “n”.
Char(<número>)
Charindex
Devuelve la posición de la cadena 2 en la cadena 1.
Charindex(<cadena>, <cadena>)
dataLength
Devuelve el tamaño en bytes de la cadena
dataLength(<cadena>)
GetLine
Muestra la línea nth (de 1 a n) de la cadena.
GetLine(<cadena>)
IfEquals
Devuelve el tercer parámetro si los dos primeros parámetros son iguales. Si no es así, devuelve el último parámetro
IfEquals(<cadena>, <cadena>, <cadena>, <cadena>)
IsMemoNull
Indica si la nota transferida como parámetro es nula
IsMemoNull(<memo>)
JuxtWords
Concatena las cadenas transferidas como parámetros. Añade espacios entre las cadenas si es necesario.
JuxtWords(<cadena>, <cadena>)
JuxtWords3
Concatena las cadenas transferidas como parámetros. Añade espacios entre las cadenas si es necesario
JuxtWords3(<cadena>, <cadena>, <cadena>)
Left
Devuelve los primeros “n” caracteres de la cadena
Left(<cadena>, <número>)
Length
Devuelve la longitud de la cadena
Length(<cadena>)
Line
Extrae la línea n de la cadena
Line(<cadena>,<número>)
Lower
Devuelve la cadena en minúscula
Lower(<cadena>)
LPad
Devuelve la cadena completa a la izquierda
LPad (<cadena>, <número>, <carácter>)
Ltrim
Elimina los espacios a la izquierda de la cadena
Ltrim(<cadena>)
Md5Digest
Devuelve una representación hexadecimal de la clave MD5 de una cadena
Md5Digest(<cadena>)
MemoContains
Especifica si la nota contiene la cadena transferida como parámetro
MemoContains(<memo>, <cadena>)
NodeValue
Extrae el valor de un campo XML de su XPath y de los datos de campo
NodeValue (<cadena>, <cadena>)
Replace
Reemplaza todas las ocurrencias de un valor de cadena especificado por otro valor de cadena.
Replace(<cadena>,<cadena>,<cadena>)
Right
Devuelve los últimos “n” caracteres de la cadena
Right(<cadena>)
RPad
Devuelve la cadena completa a la derecha
RPad(<cadena>, <número>, <carácter>)
Rtrim
Elimina los espacios a la derecha de la cadena
Rtrim(<cadena>)
Sha256Digest
Representación hexadecimal de la clave SHA256 de una cadena.
Sha256Digest(<cadena>)
Sha512Digest
Representación hexadecimal de la clave SHA512 de una cadena.
Sha512Digest(<cadena>)
Smart
Devuelve la cadena con la primera letra de cada palabra en mayúscula
Smart(<cadena>)
Substring
Extrae la subcadena que comienza en el carácter “n1” de la cadena y de longitud “n2”
Substring(<cadena>, <desajuste>, <longitud>)
ToString
Convierte el número en una cadena
ToString(<número>, <número>)
Upper
Devuelve la cadena en mayúsculas
Upper(<cadena>)
VirtualLink
Devuelve la clave externa de un vínculo transferido como parámetro si los otros dos parámetros son iguales
VirtualLink(<número>, <número>, <número>)
VirtualLinkStr
Devuelve la clave externa (texto) de un enlace transferido como parámetro si los otros dos parámetros son iguales
VirtualLinkStr(<cadena>, <número>, <número>)

Ventana

Nombre
Descripción
Sintaxis
_Over__
Ejecuta la llamada a la función SQL introducida como primer parámetro, sobre Partición u Ordenar por, los campos introducidos como segundo parámetro
_Over_ (<valor>, <valor>)
Desc
Aplica un orden descendente
Desc(<valor 1>)
OrderBy
Ordena el resultado dentro de la partición
OrderBy(<valor 1>)
PartitionBy
Particiona el resultado de una consulta en una tabla
PartitionBy(<valor 1>)
RowNum
Genera un número de línea basado en la partición de tabla y en una secuencia de ordenación.
RowNum(PartitionBy(<valor 1>), OrderBy(<valor 1>))
recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76