Show Menu
TÓPICOS×

Uso de agregações

Esse caso de uso detalha como identificar automaticamente os últimos recipients adicionados ao banco de dados.
Usando o processo a seguir, a data de criação dos recipients no banco de dados é comparada com a última data conhecida em que um recipient foi criado usando um agregado. Todos os recipients criados no mesmo dia também serão selecionados.
Para executar um filtro de tipo Creation date = max (Creation date) nos recipients, execute um workflow para seguir estas etapas:
  1. Colete recipients do banco de dados usando uma query básica. Para obter mais informações, consulte Criação de query .
  2. Calcule a última data conhecida que um recipient foi criado usando o resultado gerado pela função de agregação max (Creation date) .
  3. Vincule cada recipient ao resultado da função de agregação no mesmo schema.
  4. Filtre recipients usando o agregado através do esquema editado.

Etapa 1: Cálculo do resultado agregado

  1. Criação de queries Aqui, o objetivo é calcular a última data de criação conhecida de todos os recipients no banco de dados. A query portanto não contém um filtro.
  2. Selecione Add data .
  3. Nas janelas abertas, selecione Data linked to the filtering dimension e então, Filtering dimension data .
  4. Na janela Data to add , adicione uma coluna que calcula o valor máximo do campo Creation date na tabela de recipients. É possível usar o editor de expressão ou inserir max(@created) diretamente em um campo na coluna Expression . Clique no botão Finish .
  5. Clique em Edit additional data e depois em Advanced parameters... . Marque a opção Disable automatic adding of the primary keys of the targeting dimension .
    Essa opção garante que todos os recipients não sejam exibidos como resultado e que os dados adicionados explicitamente não sejam mantidos. Nesse caso, ele se refere à última data em que um recipient foi criado.
    Deixe a opção Remove duplicate rows (DISTINCT) selecionada.

Etapa 2: Vincular os recipients e o resultado da função de agregação

Para vincular a query com os recipients à query que realiza o cálculo da função de agregação, é necessário usar uma atividade de edição de schema.
  1. Defina a query de recipients como um conjunto principal.
  2. Na guia Links , adicione um novo link e insira as informações na janela que aparece da seguinte maneira:
    • Selecione o schema temporário relacionado ao agregado. Os dados desse schema serão adicionados aos membros do conjunto principal.
    • Selecione Use a simple join para vincular o resultado agregado a cada recipient do conjunto principal.
    • Finalmente, especifique que o link é um Type 11 simple link .
Portanto, o resultado de agregação é vinculado a cada recipient.

Etapa 3: Filtrar recipients usando o agregado.

Depois que o link tiver sido estabelecido, o resultado agregado e os recipients farão parte do mesmo schema temporário. Portanto, é possível criar um filtro no schema para comparar a data de criação dos recipients e a última data de criação conhecida, representada pela função de agregação. Esse filtro é realizado usando uma atividade Split.
  1. Na guia General , selecione Recipients como a dimensão do target e Edit schema como a dimensão do filtro (para filtrar na atividade de schema de transição de entrada).
  2. Na guia subsets , selecione Add a filtering condition on the inbound population e clique em Edit... .
  3. Usando o editor de expressão, adicione um critério de igualdade entre a data de criação dos recipients e a data de criação calculada pelo agregado.
    Os campos de tipo de data no banco de dados geralmente são salvos em milissegundos. Portanto, é necessário estender esses itens para um dia inteiro para evitar a recuperação dos recipients criados apenas com os mesmos milissegundos.
    Para fazer isso, use a função ToDate , disponível no editor de expressão, que converte datas e horas em datas simples.
    As expressões a serem usadas para os critérios são:
    • Expressão : toDate([target/@created]) .
    • Value : toDate([datemax/expr####]) onde expr#### está relacionado ao agregado especificado na query de função de agregação.
O resultado da atividade split refere-se aos recipients criados no mesmo dia da última data de criação conhecida.
É possível então adicionar outras atividades, como uma atualização de lista ou uma delivery para enriquecer seu workflow.