Show Menu
TÓPICOS×

Definição de condições de filtro

Escolha do 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.

Uso de 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".

Priorização das 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) .
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.
  • 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 saber mais, consulte Criação de expressões .
  • 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.).

Criação de 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 .

Criação de 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 cadeira de caracteres Right(<string>)
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(<string>)
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 cadeira de caracteres em maiúsculas Upper(<string>)
VirtualLink Retorna a chave externa de um link passado como um parâmetro se os outros dois parâmetros forem iguais VirtualLink(<number>, <number>, <number>)
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(<date>, <number>)
AddHours Adiciona um número de horas a uma data AddHours(<date>, <number>)
AddMinutes Adiciona um número de minutos a uma data AddMinutes(<date>, <number>)
AddMonths Adiciona um número de meses a uma data AddMonths(<date>, <number>)
AddSeconds Adiciona um número de segundos a uma data AddSeconds(<date>, <number>)
AddYears Adiciona um número de anos a uma data AddYears(<date>, <number>)
DateOnly Retorna somente a data (com a hora 00:00)* DateOnly(<date>)
Day Retorna o número que representa o dia da data Day(<date>)
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(<end date>, <start date>)
DaysOld Retorna a idade em dias de uma data. DaysOld(<date>)
GetDate Retorna a data atual do sistema do servidor. GetDate()
Hour Retorna a hora da data. Hour(<date>)
HoursDiff Retorna o número de horas entre duas datas HoursDiff(<end date>, <start date>)
Minute Retorna os minutos da data Minute(<date>)
MinutesDiff Retorna o número de minutos entre duas datas MinutesDiff(<end date>, <start date>)
Month Retorna o número que representa o mês da data Month(<date>)
MonthsAgo Retorna a data correspondente à data atual menos n meses MonthsAgo(<number>)
MonthsDiff Retorna o número de meses entre duas datas MonthsDiff(<end date>, <start date>)
MonthsOld Retorna a idade em meses de uma data MonthsOld(<date>)
Second Retorna os segundos da data Second(<date>)
SecondsDiff Retorna o número de segundos entre duas datas SecondsDiff(<end date>, <start date>)
SubDays Subtrai um número de dias a partir de uma data SubDays(<date>, <number>)
SubHours Subtrai um número de horas a partir de uma data SubHours(<date>, <number>)
SubMinutes Subtrai um número de minutos de uma data SubMinutes(<date>, <number>)
SubMonths Subtrai um número de meses a partir de uma data SubMonths(<date>, <number>)
SubSeconds Subtrai um número de segundos a partir de uma data SubSeconds(<date>, <number>)
SubYears Subtrai um número de anos a partir de uma data SubYears(<date>, <number>)
ToDate Converte uma data + hora em uma data ToDate(<date + time>)
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, <number of seconds>)
TruncDateTZ Arredonda uma data e hora para uma determinada precisão expressa em segundos TruncDateTZ(<date>, <number of seconds>, <time zone>)
TruncQuarter Arredonda uma data para o trimestre TruncQuarter(<date>)
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(<date>)
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(<date>)
Year Retorna o número que representa o ano da data Year(<date>)
YearAnd Month Retorna o número que representa o ano e o mês da data. YearAndMonth(<date>)
YearsDiff Retorna o número de anos entre as duas datas YearsDiff(<end date>, <start date>)
YearsOld Retorna a idade em anos de uma data YearsOld(<date>)
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(<number>)
Ceil Retorna o número inteiro mais baixo maior ou igual a um número Ceil(<number>)
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(<number 1>, <number 2>)
Least Retorna o menor de dois números Least(<number 1>, <number 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(<number 1>, <number 2>)
Random Retorna o valor aleatório Random()
Round Arredonda um número para decimais n Round(<number>, <number of decimals>)
Sign Retorna o sinal do número Sign(<number>)
ToDouble Converte um inteiro em um flutuante ToDouble(<number>)
ToInt64 Converte um flutuante em um inteiro de 64 bits ToInt64(<number>)
ToInteger Converte um flutuante em um inteiro ToInteger(<number>)
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(<identifier>, <flag>)
Coalesce Retorna o valor 2 se o valor 1 for zero ou nulo, caso contrário retorna o valor 1 Coalesce(<value 1>, <value 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(<value>)
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(<identifier>, <flag>)
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 cadeira de caracteres vazia se o argumento for NULL. NoNull(<value>)
RowId Retorna o número da linha. RowId
SetBit Força o Sinalizador no valor. SetBit(<identifier>, <flag>)
ToBoolean Converte um número em um booleano ToBoolean(<number>)
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(<value 1>)
OrderBy Classifica o resultado dentro da partição OrderBy(<value 1>)
PartitionBy Partições do resultado de um query em uma tabela PartitionBy(<value 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>))