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:
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.
Selecione Add data.
Nas janelas que abrirem, selecione Data linked to the filtering dimension e depois Filtering dimension data.
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
Clique em Edit additional data e 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 marcada a opção Remove duplicate rows (DISTINCT).
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.
Defina a query de recipients como um conjunto principal.
Na guia Links, adicione um novo link e insira as informações na janela que aparece da seguinte maneira:
Portanto, o resultado de agregação é vinculado a cada recipient.
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.
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).
Na guia subsets, selecione Add a filtering condition on the inbound population e clique em Edit….
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:
toDate([target/@created])
.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.