Definir condições de filtro

Escolher o operador

Nas condições de filtragem, é necessário vincular dois valores usando um operador.

Abaixo está uma lista dos operadores disponíveis:

Operador
Finalidade
Exemplo
Equal to
Retorna um resultado idêntico aos dados inseridos na segunda coluna de valor.
Last name (@lastName) equal to 'Jones', retornará apenas destinatários cujo sobrenome seja Jones.
Greater than
Retorna um valor maior que o valor digitado.
Age (@age) greater than 50, retornará todos os valores maiores que '50', ou seja, '51', '52' etc.
Less than
Retorna um valor menor que o valor digitado.
Creation date (@created) before 'DaysAgo(100)', retornará todos os destinatários criados menos de 100 dias atrás.
Greater than or equal to
Retorna todos os valores iguais ou maiores que o valor digitado.
Age (@age) greater than or equal to '30’, retornará todos os destinatários maiores de 30 anos ou mais.
Less than or equal to
Retorna todos os valores iguais ou inferiores ao valor inserido.
Age (@age) less than or equal to '60', retornará todos os destinatários com 60 anos ou menos.
Not equal to
Retorna todos os valores não idênticos ao valor inserido.
Language (@language) to equal to 'English'.
Starts with
Retorna os resultados iniciando com o valor inserido.
Account # (@account) starts with '32010'.
Does not start with
Retorna os resultados que não começam com o valor inserido
Account # (@account) does not start with '20'.
Contains
Retorna os resultados contendo pelo menos o valor inserido.
Email domain (@domain) contains 'mail' retornará todos os nomes de domínio que contêm 'mail’. Assim, o domínio "gmail.com" também será retornado.
Does not contain
Retorna resultados não contendo o valor digitado.
Email domain (@domain) does not contain 'vo'. Nesse caso, nomes de domínio que contêm 'vo' não serão retornados. O nome de domínio 'voila.fr' não aparecerá nos resultados.
Like
Like é muito semelhante ao operador Contains. Ele permite inserir um caractere curinga % no valor.
Last name (@lastName) like 'Jon%s'. Aqui, o caractere curinga é usado como "joker" para localizar o nome "Jones", o operador esqueceu a letra ausente entre o 'n' e o 's'.
Not like
É semelhante a Like. Permite que você não recupere o valor inserido. Aqui o valor inserido também deve conter o caractere curinga %.
Last name (@lastName) not like 'Smi%h'. Aqui, os destinatários que têm 'Smi%h' como sobrenome não serão retornados.
Is empty
Nesse caso, o resultado que estamos procurando corresponde a um valor vazio na segunda coluna de valor.
Mobile (@mobilePhone) is empty retorna todos os destinatários que não têm número de celular.
Is not empty
Funciona de forma inversa ao operador Is empty. Não é necessário inserir dados na segunda coluna de valor.
Email (@email) is not empty.
Is included in
Retorna resultados incluídos nos valores indicados. Esses valores devem ser separados por vírgula.
Birth date (@birthDate) is included in '12/10/1979,12/10/1984' retornará os destinatários nascidos entre essas datas.
Is not included in
Funciona como o operador Is included in. Aqui, queremos excluir destinatários com base nos valores inseridos.
Birth date (@birthDate) is not included in '12/10/1979,12/10/1984'. Ao contrário do exemplo anterior, os destinatários nascidos nessas datas não serão retornados.

Usar AND, OR, EXCEPT

Para queries usando várias condições de filtragem, você precisa definir links entre as condições. Há três links possíveis:

  • And possibilita combinar duas condições de filtragem,
  • Or possibilita oferecer uma alternativa,
  • Except permite definir uma exceção.

Clique em And (oferecido por padrão) e escolha na lista suspensa.

  • And: adiciona uma condição e permite a filtragem excessiva.

  • Or: adiciona uma condição e permite a filtragem excessiva.

    O exemplo a seguir permite localizar destinatários cujo domínio de email contenha "orange.co.uk" ou cujo código postal começa com "NW".

  • Except: se você tiver dois filtros e o primeiro não retornar um valor, esse tipo de vínculo criará uma exceção.

    No exemplo a seguir, queremos retornar destinatários cujo domínio de email contenha "orange.co.uk", exceto se o sobrenome do destinatário for "Smith".

Este exemplo mostra um filtro que permite exibir: destinatários que falam espanhol, ou que são mulheres com números de celular, ou ainda destinatários sem um número de conta e cujo nome da empresa começa com a letra "N".

Priorizar condições

Esta seção explica como priorizar condições com ajuda das setas azuis na barra de ferramentas.

  • A seta apontando para a direita permite adicionar um nível de parênteses ao filtro.

  • A seta apontando para a esquerda permite excluir um nível de parêntese selecionado do filtro.

  • As setas verticais permitem mover uma condição, alterando assim sua sequência de execução.

Este exemplo mostra como usar a seta para excluir um nível de parênteses. Comece a partir da seguinte condição de filtragem: City equal to London OR gender equal to male and mobile not indicated OR account # starts with “95” and company name starts with “A”.

Coloque o cursor na condição de filtragem Gender (@gender) equal to Male e clique na seta Remove a parenthesis level.

A condição Gender (@gender) equal to Male foi retirada dos parênteses. Ela foi movida para o mesmo nível da condição "Cidade igual a Londres". Essas condições são vinculadas entre si (And).

Selecionar dados para extrair

Os campos disponíveis variam de uma tabela para outra. Todos os campos são armazenados em um nó principal conhecido como Main element. No exemplo a seguir, os campos disponíveis estão na tabela de destinatários. Os campos são sempre exibidos em ordem alfabética.

O detalhe do campo selecionado é visível na parte inferior da janela. Por exemplo, o campo Email domain é um Calculated SQL field e sua extensão é (@domain).

OBSERVAÇÃO

Use a ferramenta Search para localizar um campo disponível.

Clique duas vezes em um campo disponível para adicioná-lo às colunas de saída. No final da query, cada campo selecionado cria uma coluna na janela Data preview.

Campos avançados não são exibidos por padrão. Clique em Display advanced fields no canto inferior direito dos campos disponíveis para exibir tudo. Clique novamente para retornar ao modo de exibição anterior.

Por exemplo, na tabela de recipients, os campos avançados são Boolean 1, Boolean 2, Boolean 3, Foreign key of “Folder” link etc.

O exemplo a seguir mostra os campos avançados da tabela de destinatários.

As várias categorias de campos:

Ícone
Descrição
Exemplos
Campo simples
Email, sexo, etc.
Chave primária. Este campo SQL é uma maneira de identificar um registro em uma tabela.
Os destinatários do identificador são chaves primárias e os identificadores são exclusivos por definição.
Chave externa. Usado como um link para outra tabela.
Chave externa do destinatário, chave externa de serviço etc.
Campo calculado. Esse tipo de campo é calculado mediante solicitação usando os valores no banco de dados.
Idade, domínio de email etc.
Campo contendo textos longos.
Comentário, endereço completo etc.
Campo SQL indexado.
Nome completo, código ISO etc.

Vincular a uma tabela e elemento de coleção:

Ícone
Descrição
Exemplo
Vincular a uma tabela em particular. Eles coincidem com as associações de tipo 1-1. Uma ocorrência da tabela de origem pode coincidir com apenas uma ocorrência da tabela de target. Por exemplo, somente um destinatário pode ser vinculado a um país.
Pasta, Estado, País etc.
Elemento de coleção em uma tabela específica. Eles correspondem com associações de tipo 1-N. Uma ocorrência da tabela de origem pode coincidir com várias ocorrências da tabela de destino, mas uma ocorrência da tabela de destino pode coincidir com apenas uma ocorrência da tabela de origem. Por exemplo, um destinatário pode assinar cartas de assinatura 'n'.
Assinaturas, listas, logs de exclusão etc.
OBSERVAÇÃO
  • Use o botão Add (acima da barra de ícones lateral) para adicionar uma coluna de saída na qual editaremos a expressão. Para obter mais informações sobre como editar uma expressão, consulte esta seção.
  • Exclua uma coluna de saída clicando no 'x' vermelho (Excluir).
  • Altere a ordem das colunas de saída usando as setas.
  • O Distribution of values é uma maneira de exibir a distribuição dos valores do campo selecionado (por exemplo, as distribuições vinculadas às cidades de recipients, idiomas do recipient, etc.).

Criar campos calculados

Se necessário, adicione uma coluna durante a formatação de dados. Um campo calculado adiciona uma coluna à seção de visualização de dados. Clique em Add a calculated field.

Existem quatro tipos de campos calculados:

  • Fixed string: permite adicionar uma cadeia de caracteres.

  • String with JavaScript tags: o valor do campo calculado combina uma cadeia de caracteres e diretivas JavaScript.

  • JavaScript expression: o valor do campo calculado é o resultado de uma avaliação de função JavaScript. O valor retornado pode ser digitado (número, data etc.).

  • Enumerations: esse tipo de campo permite usar/modificar o conteúdo de uma das colunas de saída em uma nova coluna.

    É possível usar o valor de origem de uma coluna e fornecer um valor de destino. Esse valor de destino será exibido na nova coluna de saída.

    Há um exemplo de adição do tipo de campo calculado Enumerations nesta seção.

    O tipo de campo calculado Enumerations pode incluir quatro condições:

    • Keep the source value restaura o valor de origem no destino sem alterá-lo.
    • Use the following value possibilita inserir um valor de destino padrão para valores de origem não definidos.
    • Generate a warning and continue avisa o usuário que o valor de origem não pode ser alterado.
    • Generate an error and reject the line impede que a linha seja calculada e importada.

Clique em Detail of calculated field para exibir os detalhes do campo inserido.

Para remover esse campo calculado, clique na cruz Remove the calculated field.

Criar expressões

A ferramenta de edição de expressão permite calcular agregações, gerar funções ou editar uma fórmula usando uma expressão.

O exemplo a seguir mostra como executar uma contagem em uma chave primária.

Siga as etapas abaixo:

  1. Clique em Add na janela Data to extract. Na janela Formula type, selecione um tipo de fórmula para inserir a expressão.

    Há vários tipos de fórmulas disponíveis: Field only, Aggregate, Expression.

    Selecione Process on an aggregate function, Count e clique em Next.

  2. A chave primária é calculada.

Veja a seguir uma exibição detalhada das opções disponíveis na janela Formula types:

  1. Field only permite retornar à janela Field to select.

  2. Aggregate (Process on an aggregate function). Veja alguns exemplos de uso agregado:

    • Count permite executar uma contagem de chaves primárias.

    • Sum permite somar todas as compras feitas por um cliente no período de um ano.

    • Maximum value permite encontrar os clientes que compraram mais produtos "n".

    • O Minimum value permite classificar os clientes e encontrar aqueles que se subscreveram para uma oferta mais recentemente.

    • Average. Essa função permite calcular a idade média dos destinatários.

      A caixa Distinct permite recuperar valores exclusivos e diferentes de zero em uma coluna. Por exemplo, é possível recuperar todos os logs de rastreamento de um destinatário; eles são alterados para o valor 1, desde que sejam todos referentes ao mesmo destinatário.

  3. Expression abre a janela Edit the expression. Isso permite detectar números de telefone com muitos numerais, provavelmente devido a erros de entrada.

    Para obter uma lista de todas as funções disponíveis, consulte Lista de funções.

Lista de funções

Se uma fórmula do tipo Expression for escolhida, você será direcionado à janela "edit the expression". É possível associar várias categorias de funções aos campos disponíveis: Aggregates, String, Date, Numerical, Currency, Geomarketing, Windowing function e Others.

O editor de expressão tem esta aparência:

Ele permite selecionar campos nas tabelas do banco de dados e adicionar funções avançadas a eles. Os recursos abaixo estão disponíveis.

Agregados

Nome
Descrição
Sintaxe
Avg
Retorna a média de uma coluna do tipo número
Avg(<value>)
Contagem
Conta os valores não nulos de uma coluna
Count(<value>)
CountAll
Conta os valores retornados (todos os campos)
CountAll()
Countdistinct
Conta os valores não nulos distintos de uma coluna
Countdistinct(<value>)
Max
Retorna o valor máximo de uma coluna, cadeira de caracteres ou coluna de tipo de data
Max(<value>)
Min
Retorna o valor mínimo de uma coluna do tipo número, cadeira de caracteres ou dados
Min(<value>)
StdDev
Retorna o desvio padrão de uma coluna do tipo número, cadeira de caracteres ou dados
StdDev(<value>)
Sum
Retorna a soma dos valores de uma coluna do tipo número, cadeira de caracteres ou dados
Sum(<value>)

Cadeia de caracteres

Nome
Descrição
Sintaxe
AllNonNull2
Indica se todos os parâmetros são não nulos e não estão vazios
AllNonNull2(<string>, <string>)
AllNonNull3
Indica se todos os parâmetros são não nulos e não estão vazios
AllNonNull3(<string>, <string>, <string>)
Ascii
Retorna o valor ASCII do primeiro caractere na cadeia de caracteres.
Ascii(<string>)
Char
Retorna o caractere correspondente ao código ASCII 'n'
Char(<number>)
Charindex
Retorna a posição da cadeia de caracteres 2 na cadeia de caracteres 1.
Charindex(<string>, <string>)
GetLine
Retorna a linha enésima (de 1 a n) da cadeia de caracteres
GetLine(<string>)
IfEquals
Retorna o terceiro parâmetro se os dois primeiros parâmetros forem iguais. Caso contrário, retorna o último parâmetro
IfEquals(<string>, <string>, <string>, <string>)
IsMemoNull
Indica se o memorando passado como parâmetro é nulo
IsMemoNull(<memo>)
JuxtWords
Concatena as cadeira de caracteres transmitidas como parâmetros. Adiciona espaços entre as cadeiras de caracteres, se necessário.
JuxtWords(<string>, <string>)
JuxtWords3
Concatena as cadeira de caracteres transmitidas como parâmetros. Adiciona espaços entre as cadeiras de caracteres, se necessário
JuxtWords3(<string>, <string>, <string>)
LPad
Retorna a cadeira de caracteres concluída à esquerda
LPad(<string>, <number>, <character>)
Left
Retorna os primeiros n caracteres da cadeira de caracteres
Left(<string>, <number>)
Length
Retorna o comprimento da cadeira de caracteres
Length(<string>)
Lower
Retorna a cadeira de caracteres em minúsculas
Lower(<string>)
Ltrim
Remove espaços à esquerda da cadeira de caracteres
Ltrim(<string>)
Md5Digest
Retorna uma representação hexadecimal da chave MD5 de uma cadeira de caracteres
Md5Digest(<string>)
MemoContains
Especifica se o memorando contém a cadeira de caracteres aprovada como um parâmetro
MemoContains(<memo>, <string>)
RPad
Retorna a cadeira de caracteres concluída à direita
RPad(<string>, <number>, <character>)
Right
Retorna os últimos n caracteres da cadeia de caracteres
Right(<cadeia de caracteres>)
Rtrim
Remove espaços à direita da cadeira de caracteres
Rtrim(<string>)
Smart
Retorna a cadeira de caracteres com a primeira letra de cada palavra em maiúsculas
Smart(<cadeia de caracteres>)
Substring
Extrai a subcadeia de caracteres iniciando no caractere n1 da cadeira de caracteres e de comprimento n2
Substring(<string>, <offset>, <length>)
ToString
Converte o número em uma cadeira de caracteres
ToString(<number>, <number>)
Upper
Retorna a cadeia de caracteres em maiúsculas
Upper(<cadeia de caracteres>)
VirtualLink
Retorna a chave externa de um link passado como um parâmetro se os outros dois parâmetros forem iguais
VirtualLink(<número>, <número>, <número>)
VirtualLinkStr
Retorna a chave externa (texto) de um link passado como um parâmetro se os outros dois parâmetros forem iguais
VirtualLinkStr(<string>, <number>, <number>)
dataLength
Retorna o tamanho da cadeia de caracteres
dataLength(<string>)

Data

Nome
Descrição
Sintaxe
AddDays
Adiciona um número de dias a uma data
AddDays(<data>, <número>)
AddHours
Adiciona um número de horas a uma data
AddHours(<data>, <número>)
AddMinutes
Adiciona um número de minutos a uma data
AddMinutes(<data>, <número>)
AddMonths
Adiciona um número de meses a uma data
AddMonths(<data>, <número>)
AddSeconds
Adiciona um número de segundos a uma data
AddSeconds(<data>, <número>)
AddYears
Adiciona um número de anos a uma data
AddYears(<data>, <número>)
DateOnly
Retorna somente a data (com a hora 00:00)*
DateOnly(<date>)
Day
Retorna o número que representa o dia da data
Day(<data>)
DayOfYear
Retorna o número do dia no ano da data
DayOfYear(<date>)
DaysAgo
Retorna a data correspondente à data atual menos n dias
DaysAgo(<number>)
DaysAgoInt
Retorna a data (inteiro aaaammdd) correspondente à data atual menos n dias
DaysAgoInt(<number>)
DaysDiff
Número de dias entre duas datas
DaysDiff(<data final>, <data inicial>)
DaysOld
Retorna a idade em dias de uma data.
DaysOld(<data>)
GetDate
Retorna a data atual do sistema do servidor.
GetDate()
Hour
Retorna a hora da data.
Hour(<data>)
HoursDiff
Retorna o número de horas entre duas datas
HoursDiff(<end date>, <start date>)
Minute
Retorna os minutos da data
Minute(<data>)
MinutesDiff
Retorna o número de minutos entre duas datas
MinutesDiff(<data final>, <data inicial>)
Month
Retorna o número que representa o mês da data
Month(<data>)
MonthsAgo
Retorna a data correspondente à data atual menos n meses
MonthsAgo(<número>)
MonthsDiff
Retorna o número de meses entre duas datas
MonthsDiff(<data final>, <data inicial>)
MonthsOld
Retorna a idade em meses de uma data
MonthsOld(<data>)
Second
Retorna os segundos da data
Second(<date>)
SecondsDiff
Retorna o número de segundos entre duas datas
SecondsDiff(<data final>, <data inicial>)
SubDays
Subtrai um número de dias a partir de uma data
SubDays(<data>, <número>)
SubHours
Subtrai um número de horas a partir de uma data
SubHours(<data>, <número>)
SubMinutes
Subtrai um número de minutos de uma data
SubMinutes(<data>, <número>)
SubMonths
Subtrai um número de meses a partir de uma data
SubMonths(<data>, <número>)
SubSeconds
Subtrai um número de segundos a partir de uma data
SubSeconds(<data>, <número>)
SubYears
Subtrai um número de anos a partir de uma data
SubYears(<data>, <número>)
ToDate
Converte uma data + hora em uma data
ToDate(<data + hora>)
ToDateTime
Converte uma cadeia de caracteres em uma data + hora
ToDateTime(<string>)
TruncDate
Arredonda uma data e hora para o segundo mais próximo
TruncDate(@lastModified, <número de segundos>)
TruncDateTZ
Arredonda uma data e hora para uma determinada precisão expressa em segundos
TruncDateTZ(<data>, <número de segundos>, <fuso horário>)
TruncQuarter
Arredonda uma data para o trimestre
TruncQuarter(<data>)
TruncTime
Arredonda a parte de horário para cima até o próximo segundo
TruncTim(e<date>, <number of seconds>)
TruncWeek
Arredonda uma data para a semana
TruncWeek(<data>)
TruncYear
Arredonda uma data + hora para 1º de janeiro do ano
TruncYear(<date>)
TruncWeek
Retorna o número que representa o dia na semana da data
WeekDay(<data>)
Year
Retorna o número que representa o ano da data
Year(<data>)
YearAnd Month
Retorna o número que representa o ano e o mês da data.
YearAndMonth(<data>)
YearsDiff
Retorna o número de anos entre as duas datas
YearsDiff(<data final>, <data inicial>)
YearsOld
Retorna a idade em anos de uma data
YearsOld(<date>)
OBSERVAÇÃO

Observe que a função Dateonly considera o fuso horário do servidor e não do operador.

Numerical

Nome
Descrição
Sintaxe
Abs
Retorna o valor absoluto de um número
Abs(<número>)
Ceil
Retorna o número inteiro mais baixo maior ou igual a um número
Ceil(<número>)
Floor
Retorna o maior inteiro maior ou igual a um número
Floor(<number>)
Greatest
Retorna o maior número de dois números
Greatest(<número 1>, <número 2>)
Least
Retorna o menor de dois números
Least(<número 1>, <número 2>)
Mod
Retorna o restante da divisão inteira de n1 por n2
Mod(<number 1>, <number 2>)
Percent
Retorna a proporção de dois números expressos como uma porcentagem
Percent(<número 1>, <número 2>)
Random
Retorna o valor aleatório
Random()
Round
Arredonda um número para decimais n
Round(<número>, <número de decimais>)
Sign
Retorna o sinal do número
Sign(<número>)
ToDouble
Converte um inteiro em um flutuante
ToDouble(<número>)
ToInt64
Converte um flutuante em um inteiro de 64 bits
ToInt64(<número>)
ToInteger
Converte um flutuante em um inteiro
ToInteger(<número>)
Trunc
Corta o n1 para o decimal n2
Trunc(<n1>, <n2>)
  1. Currency
Nome
Descrição
Sintaxe
ConvertCurrency
Converte uma quantia na moeda de origem em uma quantia na moeda de destino
ConvertCurrency(<amount>, <source currency>, <target currency>, <conversion date>)
FormatCurrency
Formata a quantidade exibida com base nas configurações de moeda
FormatCurrency(<amount>, <currency>)

Geomarketing

Nome
Descrição
Sintaxe
Distance
Retorna a distância entre dois pontos definidos por sua longitude e latitude, expresso em graus.
Distance(<Longitude A>, <Latitude A>, <Longitude B>, <Latitude B>)

Outros

Nome
Descrição
Sintaxe
Case
Retorna o valor 1 se a condição for verdadeira. Caso contrário, retornará o valor 2.
Case(When(<condition>, <value 1>), Else(<value 2>))
ClearBit
Exclui o Sinalizador no valor
ClearBit(<identificador>, <sinalizador>)
Coalesce
Retorna o valor 2 se o valor 1 for zero ou nulo, caso contrário retorna o valor 1
Coalesce(<valor 1>, <valor 2>)
Decode
Retorna o valor 3 se o valor 1 for igual ao valor 2. Caso contrário, retorna o valor 4.
Decode(<value 1>, <value 2>, <value 3>, <value 4>)
Else
Retorna o valor 1 (só pode ser usado como parâmetro da função case)
Else(<value 1>, <value 2>)
GetEmailDomain
Extrai o domínio de um endereço de email
GetEmailDomain(<value>)
GetMirrorURL
Recupera o URL do servidor da mirror page
GetMirrorURL(<valor>)
Iif
Retorna o valor 1 se a expressão for verdadeira. Caso contrário, retorna o valor 2
Iif(<condition>, <value 1>, <value 2>)
IsBitSet
Indica se o Sinalizador está no valor
IsBitSet(<identificador>, <sinalizador>)
IsEmptyString
Retorna o valor 2 se a cadeira de caracteres 1 estiver vazia, caso contrário, retorna o valor 3.
IsEmptyString(<value 1>, <value 2>, <value 3>)
NoNull
Retorna a cadeia de caracteres vazia se o argumento for NULL.
NoNull(<valor>)
RowId
Retorna o número da linha.
RowId
SetBit
Força o Sinalizador no valor.
SetBit(<identificador>, <sinalizador>)
ToBoolean
Converte um número em um booleano
ToBoolean(<número>)
When
Retorna o valor 1 se a expressão for verdadeira. Se não, ele retorna o valor 2 (só pode ser usado como parâmetro da função case)
When(<condition>, <value 1>)

Funções janela

Nome
Descrição
Sintaxe
Desc
Aplica uma classificação decrescente
Desc(<valor 1>)
OrderBy
Classifica o resultado dentro da partição
OrderBy(<valor 1>)
PartitionBy
Partições do resultado de um query em uma tabela
PartitionBy(<valor 1>)
RowNum
Gera um número de linha com base na partição da tabela e em uma sequência de classificação.
RowNum(PartitionBy(<value 1>), OrderBy(<value 1>))

Nesta página