Show Menu
TEMAS×

Definición de condiciones de filtro

Selección del operador

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.

Uso de AND, OR, EXCEPT

Para consultas que utilizan varias condiciones de filtro, debe definir los vínculos entre las condiciones. Hay tres vínculos posibles:
  • And permite combinar dos condiciones de filtrado,
  • Or permite ofrecer una alternativa,
  • Except permite definir una excepción.
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”.

Condiciones de priorizació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 ).

Selección de datos que desea extraer

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.
  • Utilice el botón Add (encima de la barra de iconos laterales) para añadir una columna de salida en la que deseamos editar la expresión. Para obtener más información sobre cómo editar una expresión, consulte Crear expresiones .
  • Elimine una columna de salida haciendo clic en la “x” roja ( Eliminar ).
  • Cambie el orden de las columnas de salida mediante las flechas.
  • La Distribution of values sirve para ver la distribución de los valores del campo seleccionado (por ejemplo, las distribuciones vinculadas a las ciudades de los destinatarios, los lenguajes de los destinatarios, etc.).

Creación de campos calculados

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:
    • Keep the source value restaura el valor de origen en el destino sin cambiarlo.
    • Use the following value permite introducir un valor de destino predeterminado para valores de origen no definidos.
    • Generate a warning and continue advierte al usuario de que el valor de origen no puede modificarse.
    • Generate an error and reject the line evita el cálculo e importación de la línea.
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 .

Creación de expresiones

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:
  1. 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 .
  2. La clave principal se calcula.
A continuación, se muestra una vista detallada de las opciones disponibles en la ventana Formula types :
  1. Field only permite volver a la ventana Field to select .
  2. 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.
  3. 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 .

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>, <string>)
RPad Devuelve la cadena completa a la derecha RPad(<string>, <number>, <character>)
Right Devuelve los últimos “n” caracteres de la cadena Right(<string>)
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(<string>)
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(<string>)
VirtualLink Devuelve la clave externa de un vínculo transferido como parámetro si los otros dos parámetros son iguales VirtualLink(<number>, <number>, <number>)
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(<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>)
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(<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 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>)
Minute Devuelve los minutos de la fecha Minute(<date>)
MinutesDiff Devuelve el número de minutos entre dos fechas MinutesDiff(<end date>, <start date>)
Month 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>)
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>)
TruncDate Redondea una fecha y hora hacia el 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 TruncTim(e<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>)
TruncWeek Devuelve el número que representa el día de la semana de la fecha WeekDay(<date>)
Year Devuelve el número que representa el año de la fecha Year(<date>)
YearAndMonth Devuelve el número que representa el año y el mes de la fecha YearAndMonth(<date>)
YearsDiff Devuelve el número de años entre las dos fechas YearsDiff(<end date>, <start date>)
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(<number>)
Ceil Devuelve el menor entero que sea mayor o igual que un número Ceil(<number>)
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(<number 1>, <number 2>)
Least Devuelve el número menor de dos números Least(<number 1>, <number 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(<number 1>, <number 2>)
Aleatorio Devuelve un valor aleatorio Aleatorio()
Round Redondea un número a “n” decimales Redondeo(<number>, <number of decimals>)
Sign Devuelve el signo del número Sign(<number>)
ToDouble Convierte un entero en flotante ToDouble(<number>)
ToInt64 Convierte un flotante en un entero de 64 bits ToInt64(<number>)
ToInteger Convierte un flotante en un entero ToInteger(<number>)
Trunc Trunca decimales de “n1” a “n2” Trunc(<n1>, <n2>)
  1. Moneda
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(<identifier>, <flag>)
Coalesce Devuelve el valor 2 si el valor 1 es cero o nulo, de lo contrario devuelve el valor 1 Coalesce(<value 1>, <value 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(<value>)
GetMirrorURL Recupera la URL del servidor de la página espejo GetMirrorURL(<value>)
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(<identifier>, <flag>)
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 nulo NoNull(<value>)
RowId Devuelve el número de línea RowId
SetBit Fuerza la marca en el valor SetBit(<identifier>, <flag>)
ToBoolean Convierte un número en Boolean ToBoolean(<number>)
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(<value 1>)
OrderBy Ordena el resultado dentro de la partición OrderBy(<value 1>)
PartitionBy Particiona el resultado de una consulta en una tabla PartitionBy(<value 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>))