Dentro de las condiciones de filtrado, es necesario vincular dos valores mediante un operador.
A continuación se muestra una lista de los operadores disponibles:
Operador |
Objetivo |
Ejemplo |
---|---|---|
Equal to |
Devuelve un resultado idéntico a los datos introducidos en la segunda columna Valor. |
Apellido (@lastName) igual a “Jones”, solo devuelve como resultado los destinatarios cuyo apellido sea Jones. |
Greater than |
El resultado es un valor mayor que el valor introducido. |
Edad (@age) mayor que 50 devuelve como resultado todos los valores mayores que 50, es decir 51, 52, etc. |
Less than |
El resultado es un valor menor que el valor introducido. |
Fecha de creación (@created) antes de “DaysAgo(100)” devuelve como resultado todos los destinatarios creados hace menos de 100 días. |
Greater than or equal to |
El resultado son todos los valores iguales o mayores que el valor introducido. |
Edad (@age) mayor o igual que “30”, devuelve como resultado todos los destinatarios de 30 años o más. |
Less than or equal to |
El resultado son todos los valores iguales o inferiores al valor introducido. |
Edad (@age) menor o igual que “60”, devuelve como resultado todos los destinatarios de 60 años o menos. |
Not equal to |
El resultado son todos los valores que no son idénticos al valor ingresado. |
Idioma (@language) igual a “inglés”. |
Starts with |
Devuelve los resultados que comienzan con el valor ingresado. |
N.º cuenta (@account) comienza con “32010”. |
Does not start with |
Devuelve los resultados que no empiezan con el valor introducido. |
N.º cuenta (@account) no comienza con “20”. |
Contains |
Devuelve los resultados que contienen al menos el valor ingresado. |
Dominio de correo electrónico (@domain) incluye “mail” devuelve todos los nombres de dominio que contengan “mail”. Por lo tanto, también devuelve el dominio “gmail.com”. |
Does not contain |
Devuelve los resultados que no contienen el valor introducido. |
Dominio de correo electrónico (@domain) no incluye “vo”. En este caso, no devuelve como resultado los nombres de dominio que contengan “vo”. El nombre de dominio “voila.fr” no aparece en los resultados. |
Like |
Like es muy similar al operador Contains. Permite insertar % wild card character in the value. |
Apellido (@lastName) como “Jon%s”. En este caso, el carácter comodín se utiliza para encontrar el nombre “Jones”, en el caso de que el operador haya olvidado la letra que falta entre la “n” y la “s”. |
Not like |
Es similar a Like . Permite no recuperar el valor introducido. En este caso, el valor introducido debe contener % wild card character. |
Apellido (@lastName) como “Smi%h”. En este caso, no devuelve los destinatarios cuyo apellido sea “Smi%h”. |
Is empty |
En este caso, el resultado que estamos buscando coincide con un valor vacío en la segunda columna Valor. |
Móvil (@mobilePhone) está vacío devuelve todos los destinatarios que no tienen un número de móvil. |
Is not empty |
Funciona de forma inversa al operador Is empty. No es necesario introducir datos en la segunda columna Valor. |
Correo electrónico (@email) no está vacío. |
Is included in |
Devuelve los resultados incluidos entre los valores indicados. Estos valores deben separarse con una coma. |
Fecha de nacimiento (@birthDate) incluida en “12/10/1979,12/10/1984”, devuelve como resultado los destinatarios que nacieran entre esas fechas. |
Is not included in |
Funciona como el operador Is included in. Aquí queremos excluir los destinatarios según los valores ingresados. |
Fecha de nacimiento (@birthDate) no incluida en “12/10/1979,12/10/1984”. A diferencia del ejemplo anterior, no se recuperan los destinatarios nacidos entre esas fechas. |
Para consultas que utilizan varias condiciones de filtro, debe definir los vínculos entre las condiciones. Hay tres vínculos posibles:
Haga clic en And (de forma predeterminada) y seleccione en la lista desplegable.
And: añade una condición y activa el sobrefiltrado.
Or: añade una condición y activa el sobrefiltrado.
El siguiente ejemplo permite encontrar destinatarios cuyo dominio de correo electrónico contiene “orange.co.uk” o cuyo código de envío comienza por “NW”.
Except: si tiene dos filtros y el primero no devuelve un valor, este tipo de vínculo crea una excepción.
En el siguiente ejemplo, deseamos devolver los destinatarios cuyo dominio de correo electrónico contiene “orange.co.uk” excepto si el apellido del destinatario es “Smith”.
Este ejemplo muestra un filtro que le permite mostrar: los destinatarios que hablen español, O que son mujeres con teléfono móvil, O los destinatarios sin número de cuenta y cuyo nombre de empresa comienza con la letra “n”.
Esta sección explica cómo priorizar las condiciones gracias a las flechas azules de la barra de herramientas.
La flecha que señala a la derecha permite añadir un nivel de paréntesis al filtro.
La flecha que señala a la izquierda permite eliminar un nivel de paréntesis seleccionado del filtro.
Las flechas verticales permiten mover una condición, cambiando así su secuencia de ejecución.
Este ejemplo muestra cómo utilizar la flecha para eliminar un nivel de paréntesis. Comience desde la siguiente condición de filtrado: City equal to London OR gender equal to male and mobile not indicated OR account # starts with “95” and company name starts with “A”.
Sitúe el cursor en la condición de filtrado Gender (@gender) equal to Male y haga clic en la flecha Remove a parenthesis level.
Ahora la condición Gender (@gender) equal to Male está fuera de su paréntesis. Se ha movido al mismo nivel que la condición “Ciudad igual a Londres”. Estas condiciones se vinculan entre sí (And).
Los campos disponibles varían de una tabla a otra. Todos los campos se almacenan en un nodo principal denominado Main element. En el siguiente ejemplo, los campos disponibles se encuentran en la tabla de destinatarios. Los campos siempre se muestran por orden alfabético.
El campo seleccionado se puede ver en la parte inferior de la ventana. Por ejemplo, el campo Email domain es un Calculated SQL field y su extensión es (@domain).
Utilice la herramienta Search para buscar un campo disponible.
Haga doble clic en un campo disponible para añadirlo a las columnas de salida. Al final de la consulta, cada campo seleccionado crea una columna en la ventana Data preview.
Los campos avanzados no se muestran de forma predeterminada. Haga clic en Display advanced fields en la esquina inferior derecha de los campos disponibles para mostrar todo. Haga clic de nuevo para volver a la vista anterior.
Por ejemplo, en la tabla de destinatarios, los campos avanzados son Boolean 1, Boolean 2, Boolean 3, Foreign key of “Folder” link, etc.
El ejemplo siguiente muestra los campos avanzados de la tabla de destinatarios.
Las distintas categorías de campos:
Icono |
Descripción |
Ejemplos |
---|---|---|
![]() |
Campo sencillo |
Correo electrónico, sexo, etc. |
![]() |
Clave principal. Este campo SQL es una forma de identificar un registro de una tabla. |
Los destinatarios de identificador son claves principales y los identificadores son exclusivos de definición. |
![]() |
Clave externa. Se utiliza como enlace a otra tabla. |
Clave externa del destinatario, clave externa del servicio, etc. |
![]() |
Campo calculado. Este tipo de campo se calcula al solicitarlo utilizando los valores de la base de datos. |
Edad, dominio de email, etc. |
![]() |
Campo que contiene textos largos. |
Comentario, dirección completa, etc. |
![]() |
Campo SQL indexado. |
Nombre completo, código ISO, etc. |
Enlace a una tabla y elemento de colección:
Icono |
Descripción |
Ejemplo |
---|---|---|
![]() |
Enlaza a una tabla en particular. Estas coinciden con las asociaciones de tipo 1-1. Una aparición de la tabla de origen puede coincidir con una única aparición de la tabla de destino. Por ejemplo, solo se puede vincular un destinatario a un país. |
Carpeta, estado, país, etc. |
![]() |
Elemento de colección en una tabla específica. Estos coinciden con asociaciones de tipo 1-N. Una tabla de origen puede coincidir con varias apariciones de la tabla de destino, pero una aparición de la tabla de destino solo puede coincidir con una aparición de la tabla de origen. Por ejemplo, un destinatario puede suscribirse a “n” letras de suscripción. |
Suscripciones, listas, registros de exclusión, etc. |
Si es necesario, agregue una columna durante el formato de datos. Un campo calculado añade una columna a la sección de previsualización de datos. Haga clic Add a calculated field.
Existen cuatro tipos de campos calculados:
Fixed string: permite añadir una cadena de caracteres.
String with JavaScript tags: el valor del campo calculado combina una cadena de caracteres y directivas de JavaScript.
JavaScript expression: el valor del campo calculado es el resultado de una evaluación de función de JavaScript. Se puede escribir el valor devuelto (número, fecha, etc.).
Enumerations: este tipo de campo permite utilizar o modificar el contenido de una de las columnas de salida en una nueva columna.
Es posible utilizar el valor de origen de una columna y asignarle un valor de destino. Este valor de destino se muestra en la nueva columna de salida.
Puede encontrar un ejemplo de adición del tipo de campo calculado Enumerations si consulta esta sección.
El campo calculado de tipo Enumerations puede incluir 4 condiciones:
Haga clic en Detail of calculated field para ver los detalles del campo insertado.
Para eliminar este campo calculado, haga clic en Remove the calculated field.
La herramienta de edición de expresiones permite calcular acumulaciones, generar funciones o editar una fórmula con una expresión.
El ejemplo siguiente muestra cómo ejecutar un recuento en una clave principal.
Siga estos pasos:
Haga clic Add en la Data to extract ventana. En la ventana Formula type, seleccione un tipo de fórmula para introducir la expresión.
Hay varios tipos de fórmulas disponibles: Field only, Aggregate, Expression.
Seleccione Process on an aggregate function, y Count. Haga clic en Next.
La clave principal se calcula.
A continuación, se muestra una vista detallada de las opciones disponibles en la ventana Formula types:
Field only permite volver a la ventana Field to select.
Aggregate (Process on an aggregate function). A continuación se muestran algunos ejemplos de uso de acumulaciones:
Count permite ejecutar un recuento de claves principales.
Sum permite añadir todas las compras realizadas por un cliente durante un año.
Maximum value permite encontrar los clientes que han adquirido los productos más “n”.
Minimum value permite revisar los clientes y encontrar los que se han suscrito a una oferta más recientemente.
Average. Esta función permite calcular la edad promedio de los destinatarios.
La casilla Distinct permite recuperar valores únicos y distintos de cero de una columna. Por ejemplo, puede recuperar todos los registros de seguimiento de un destinatario y estos registros de seguimiento se cambian al valor 1, ya que todos afectan al mismo destinatario.
Expression abre la ventana Edit the expression. Esto permite detectar números de teléfono con demasiadas cifras, probablemente como errores de entrada.
Para obtener una lista de todas las funciones disponibles, consulte Lista de funciones.
Si se elige una fórmula de tipo Expression, se accede a la ventana "editar la expresión". Se pueden asociar varias categorías de funciones a los campos disponibles: Aggregates,String, Date, Numerical, Currency, Geomarketing, Windowing function y Others.
El editor de expresiones tiene este aspecto:
Permite seleccionar campos en las tablas de la base de datos y añadir funciones avanzadas. Estas son las funciones disponibles:
Acumulados
Nombre |
Descripción |
Syntax |
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 un número, una cadena o una columna de tipo de fecha |
Min(<value>) |
StdDev |
Devuelve la desviación estándar de una columna de número, cadena o fecha. |
StdDev(<value>) |
Sum |
Devuelve la suma de los valores de una columna de número, cadena o fecha. |
Sum(<value>) |
Cadena
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>) |
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>) |
LPad |
Devuelve la cadena completa a la izquierda |
LPad(<string>, <number>, <character>) |
Left |
Devuelve los primeros “n” caracteres de la cadena |
Left(<string>, <number>) |
Length |
Devuelve la longitud de la cadena |
Length(<string>) |
Lower |
Devuelve la cadena en minúscula |
Lower(<string>) |
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>) |
RPad |
Devuelve la cadena completa a la derecha |
RPad(<string>, <number>, <character>) |
Right |
Devuelve los últimos “n” caracteres de la cadena |
Right(<cadena>) |
Rtrim |
Elimina los espacios a la derecha de la cadena |
Rtrim(<string>) |
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(<string>, <number>, <number>) |
dataLength |
Devuelve el tamaño de la cadena |
dataLength(<string>) |
Fecha
Nombre |
Descripción |
Syntax |
AddDays |
Agrega un número de días a una fecha |
AddDays(<fecha>, <número>) |
AddHours |
Agrega 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 |
Agrega un número de años a una fecha |
AddYears(<fecha>, <número>) |
DateOnly |
Devuelve solo la fecha (con hora 00:00)* |
DateOnly(<date>) |
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(<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 |
Número de días entre dos fechas |
DaysDiff(<fecha de finalización>, <fecha de inicio>) |
DaysOld |
Devuelve la 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(<end date>, <start date>) |
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 edad en meses de una fecha |
MonthsOld(<fecha>) |
Second |
Devuelve los segundos de la fecha |
Second(<date>) |
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 partir de una fecha |
SubDays(<fecha>, <número>) |
SubHours |
Resta un número de horas a partir de una fecha |
SubHours(<fecha>, <número>) |
SubMinutes |
Resta un número de minutos desde una fecha |
SubMinutes(<fecha>, <número>) |
SubMonths |
Resta un número de meses desde una fecha |
SubMonths(<fecha>, <número>) |
SubSeconds |
Resta un número de segundos desde una fecha |
SubSeconds(<fecha>, <número>) |
SubYears |
Resta un número de años a partir de una fecha |
SubYears(<fecha>, <número>) |
ToDate |
Convierte una fecha y hora como fecha |
ToDate(<fecha + hora>) |
ToDateTime |
Convierte una cadena en una fecha + hora. |
ToDateTime(<string>) |
TruncDate |
Redondea una fecha y hora hacia el segundo más cercano |
TruncDate(@lastModified, <número de segundos>) |
TruncDateTZ |
Redondea una fecha y hora con 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 tiempo hasta el segundo más cercano |
TruncTim(e<date>, <number of seconds>) |
TruncWeek |
Redondea una fecha a la semana |
TruncWeek(<fecha>) |
TruncYear |
Redondea una fecha y hora al 1 de enero del año |
TruncYear(<date>) |
TruncWeek |
Devuelve el número que representa el día de la semana de la fecha |
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>) |
YearsDiff |
Devuelve el número de años entre las dos fechas |
YearsDiff(<fecha de finalización>, <fecha de inicio>) |
YearsOld |
Devuelve la edad en años de una fecha |
YearsOld(<date>) |
Tenga en cuenta que la función Dateonly tiene en cuenta la zona horaria del servidor, no la del operador.
Numérico
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>) |
Nombre |
Descripción |
Syntax |
ConvertCurrency |
Convierte una cantidad de una moneda de origen en una cantidad de una moneda de destino |
ConvertCurrency(<amount>, <source currency>, <target currency>, <conversion date>) |
FormatCurrency |
Da formato a la cantidad mostrada según la configuración de moneda seleccionada |
FormatCurrency(<amount>, <currency>) |
Geomarketing
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>) |
Otros
Nombre |
Descripción |
Syntax |
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>) |
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>) |
Funciones de ventana
Nombre |
Descripción |
Syntax |
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>)) |