Editar expresiones
La edición de una expresión implica la introducción manual de condiciones para formar una regla. Este modo permite utilizar funciones avanzadas, que permiten manipular los valores utilizados para llevar a cabo consultas específicas, como la manipulación de fechas, cadenas, campos numéricos y ordenación.
Trabajo con el editor de expresiones
El editor de expresiones está disponible en el botón del modelador de consultas 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 Value |
---|---|
![]() |
![]() |
El editor de expresiones proporciona lo siguiente:
- Un campo de entrada (1) donde 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ñadirla y haga clic en el botón +.
Cuando la expresión esté lista, haga clic en el botón Confirmar. La expresión se muestra en el campo seleccionado. Para editarlo, abra el editor de expresiones y realice los cambios deseados.
El ejemplo siguiente muestra una expresión configurada para el campo Value. Para editarlo, abra el editor de expresiones con el botón Editar expresión.
Funciones de ayuda
La herramienta de edición de consultas le permite utilizar funciones avanzadas para realizar filtros complejos según los resultados deseados y los tipos de datos manipulados. Estas son las funciones disponibles:
Agregado
Las funciones agregadas realizan cálculos en un conjunto de valores.
Nombre | Descripción | Sintaxis |
Avg | Devuelve el promedio de una columna de tipo numérico | Avg(<value>) |
Recuento | Cuenta los valores no nulos de una columna | Count(<value>) |
CountAll | Cuenta los valores devueltos (todos los campos) | CountAll() |
Countdistinct | Cuenta los distintos valores no nulos de una columna | Countdistinct(<value>) |
Max | Devuelve el valor máximo de una columna numérica, cadena o tipo de fecha | Max(<value>) |
Min | Devuelve el valor mínimo de una columna de número, cadena o tipo de fecha | Min(<value>) |
StdDev | Devuelve la desviación estándar de una columna de número, cadena o fecha | StdDev(<value>) |
StringAgg | Devuelve la concatenación de los valores de una columna de tipo de cadena, separados por el carácter del segundo argumento | StringAgg(<Valor>, <Cadena>) |
Sum | Devuelve la suma de los valores de una columna de número, cadena o fecha. | Sum(<value>) |
Fecha
Las funciones de fecha manipulan los valores de fecha y hora.
Nombre | Descripción | Sintaxis |
AddDays | Agrega un número de días a una fecha | AddDays(<date>, <number>) |
AddHours | Agrega un número de horas a una fecha | AddHours(<date>, <number>) |
AddMinutes | Añade un número de minutos a una fecha | AddMinutes(<date>, <number>) |
AddMonths | Añade un número de meses a una fecha | AddMonths(<date>, <number>) |
AddSeconds | Añade un número de segundos a una fecha | AddSeconds(<date>, <number>) |
AddYears | Agrega un número de años a una fecha | AddYears(<date>, <number>) |
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 hora 00:00) | DateOnly(<date>) |
Día | Devuelve el número que representa el día de la fecha. | Day(<date>) |
DayOfYear | Devuelve el número de día del año de la fecha | DayOfYear(<date>) |
DaysAgo | Devuelve la fecha correspondiente a la fecha actual menos “n” días | DaysAgo(<number>) |
DaysAgoInt | Devuelve la fecha (entero aaaammdd) correspondiente a la fecha actual menos “n” días | DaysAgoInt(<number>) |
DaysDiff | Devuelve el número de días entre dos fechas | DaysDiff(<end date>, <start date>) |
DaysOld | Devuelve la edad en días de una fecha | DaysOld(<date>) |
GetDate | Devuelve la fecha del sistema actual del servidor | GetDate() |
Hora | Devuelve la hora de la fecha | Hour(<date>) |
HoursDiff | Devuelve el número de horas entre dos fechas | HoursDiff(<end date>, <start date>) |
Minuto | Devuelve los minutos de la fecha | Minute(<date>) |
MinutesDiff | Devuelve el número de minutos entre dos fechas | MinutesDiff(<end date>, <start date>) |
Mes | Devuelve el número que representa el mes de la fecha | Month(<date>) |
MonthsAgo | Devuelve la fecha correspondiente a la fecha actual menos n meses | MonthsAgo(<number>) |
MonthsDiff | Devuelve el número de meses entre dos fechas | MonthsDiff(<end date>, <start date>) |
MonthsOld | Devuelve la edad en meses de una fecha | MonthsOld(<date>) |
Oldest | Devuelve la fecha más antigua de un intervalo | Oldest(<fecha, fecha>) |
Second | Devuelve los segundos de la fecha | Second(<date>) |
SecondsDiff | Devuelve el número de segundos entre dos fechas | SecondsDiff(<end date>, <start date>) |
SubDays | Resta un número de días a partir de una fecha | SubDays(<date>, <number>) |
SubHours | Resta un número de horas a partir de una fecha | SubHours(<date>, <number>) |
SubMinutos | Resta un número de minutos desde una fecha | SubMinutes(<date>, <number>) |
SubMeses | Resta un número de meses desde una fecha | SubMonths(<date>, <number>) |
SubSegundos | Resta un número de segundos desde una fecha | SubSeconds(<date>, <number>) |
SubAños | Resta un número de años a partir de una fecha | SubYears(<date>, <number>) |
ToDate | Convierte una fecha y hora como fecha | ToDate(<date + time>) |
ToDateTime | Convierte una cadena en una fecha + hora. | ToDateTime(<string>) |
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, <number of seconds>) |
TruncDateTZ | Redondea una fecha y hora con una precisión determinada expresada en segundos | TruncDateTZ(<date>, <number of seconds>, <time zone>) |
TruncQuarter | Redondea una fecha al trimestre | TruncQuarter(<date>) |
TruncTime | Redondea la parte de tiempo hasta el segundo más cercano | TruncTime(<date>, <number of seconds>) |
TruncWeek | Redondea una fecha a la semana | TruncWeek(<date>) |
TruncYear | Redondea una fecha y hora al 1 de enero del año | TruncYear(<date>) |
WeekDay | Devuelve un número que representa el día de la semana de la fecha (0=lunes, 6=domingo) | WeekDay(<date>) |
Año | Devuelve el número que representa el año de la fecha | Year(<date>) |
AñoYMes | Devuelve el número que representa el año y el mes de la fecha | YearAndMonth(<date>) |
YearsAgo | Devuelve el número de años entre una fecha determinada y la fecha actual | YearsAgo(<fecha>) |
YearsDiff | Devuelve el número de años entre dos fechas | YearsDiff(<end date>, <start date>) |
YearsOld | Devuelve la edad en años de una fecha | YearsOld(<date>) |
Geomarketing
Las funciones de geomarketing se utilizan para manipular los valores geográficos.
Nombre | Descripción | Syntax |
Distance | Devuelve la distancia entre dos puntos definidos por su longitud y latitud, expresada en grados | Distance(<Longitude A>, <Latitude A>, <Longitude B>, <Latitude B>) |
Numérico
Las funciones numéricas se utilizan para convertir texto en números.
Nombre | Descripción | Syntax |
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(<number>) |
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(<number 1>, <number 2>) |
Percent | Devuelve la proporción de dos números expresado como un porcentaje | Percent(<número 1>, <número 2>) |
Aleatorio | Devuelve un valor aleatorio | Aleatorio() |
Round | Redondea un número a “n” decimales | Redondeo(<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 | Syntax |
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(<condition>, <value 1>), Else(<value 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(<value 1>, <value 2>, <value 3>, <value 4>) |
Else | Devuelve el valor 1 (solo puede utilizarse como parámetro de la función case) | Else(<value 1>, <value 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(<condition>, <value 1>, <value 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(<value 1>, <value 2>, <value 3>) |
NuevoUUID | Devuelve un identificador ú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(<condition>, <value 1>) |
Cadena
Las funciones de cadena se utilizan para manipular un conjunto de cadenas.
Nombre | Descripción | Syntax |
AllNonNull2 | Indica si todos los parámetros no son nulos y no están vacíos. | AllNonNull2(<string>, <string>) |
AllNonNull3 | Indica si todos los parámetros no son nulos y no están vacíos. | AllNonNull3(<string>, <string>, <string>) |
Ascii | Devuelve el valor ASCII del primer carácter de la cadena. | Ascii(<string>) |
Char | Devuelve el carácter correspondiente al código ASCII “n”. | Char(<number>) |
Charindex | Devuelve la posición de la cadena 2 en la cadena 1. | Charindex(<string>, <string>) |
dataLength | Devuelve el tamaño en bytes de la cadena | dataLength(<string>) |
GetLine | Muestra la línea nth (de 1 a n) de la cadena. | GetLine(<string>) |
IfEquals | Devuelve el tercer parámetro si los dos primeros parámetros son iguales. Si no es así, devuelve el último parámetro | IfEquals(<string>, <string>, <string>, <string>) |
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(<string>, <string>) |
JuxtWords3 | Concatena las cadenas transferidas como parámetros. Añade espacios entre las cadenas si es necesario | JuxtWords3(<string>, <string>, <string>) |
Left | Devuelve los primeros “n” caracteres de la cadena | Left(<string>, <number>) |
Length | Devuelve la longitud de la cadena | Length(<string>) |
Línea | Extraer línea n de la cadena | Line(<string>,<number>) |
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(<string>) |
Md5Digest | Devuelve una representación hexadecimal de la clave MD5 de una cadena | Md5Digest(<string>) |
MemoContains | Especifica si la nota contiene la cadena transferida como parámetro | MemoContains(<memo>, <cadena>) |
ValorNodo | Extrae el valor de un campo XML de su XPath y de los datos de campo | NodeValue (<String>, <String>) |
Replace | Reemplaza todas las apariciones 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(<string>, <offset>, <length>) |
ToString | Convierte el número en una cadena | ToString(<number>, <number>) |
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 | Syntax |
_Over__ | Ejecute 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(<value 1>), OrderBy(<value 1>)) |