Seja pela necessidade pessoal de entender seu padrão de gastos observando as transações bancárias, seja pela busca de melhorar o desempenho das vendas em sua organização observando as atividades de vendas, os insights reais só são visíveis com agregação e resumo adicionais dos dados de nível transacional. O RDBMS tradicional oferece esse recurso por meio do poder expressivo da agregação SQL. As funções de janela foram adicionadas ao padrão ANSI SQL para ampliar ainda mais a capacidade de expressar perguntas mais complexas com a construção SQL.

O Couchbase N1QL agora suporta as funções de janela e a expressão de tabela comum (CTE) em sua versão 6.5. Os desenvolvedores podem ampliar seus aplicativos para atender a casos de uso comercial mais complexos, além de capacitar os analistas de dados a obter as respostas de que precisam sem realizar pós-processamento adicional no Excel.

Neste artigo, vou me concentrar em alguns exemplos de como você pode aproveitar as funções do N1QL Window e o CTE para abordar duas questões comerciais muito comuns.

Duração das atividades de vendas pelos clientes

Neste primeiro exemplo de um sistema de gerenciamento de atividades de vendas, queremos fornecer um relatório que mostre o tempo que a equipe de vendas gastou trabalhando com seus clientes no período de janeiro a 2019. Dividirei a consulta em duas etapas:

1) Obtenha uma lista de reuniões e a duração da reunião que a equipe de vendas realizou com seus clientes. O tempo total gasto para todos os clientes "total_time_spent" é calculado pela soma da duração das reuniões com uma cláusula OVER () vazia, que realizará a soma para todo o conjunto de resultados. O tempo total gasto por cliente "account_time_spent" usa a mesma construção, mas com o "accid" para a cláusula PARTITION.

2) Em seguida, use as duas métricas para obter a porcentagem do tempo total que a equipe gastou com cada cliente.

Atividades de vendas mês a mês

Neste segundo exemplo, a consulta mostra como o número de tarefas relacionadas a vendas mudou mês a mês no ano de 2018. A consulta utiliza o recurso N1QL CTE para melhorar a legibilidade da consulta e também a função de janela LAG para obter a contagem de tarefas do período anterior.

  1. O primeiro CTE - "current_period_task" - define a consulta para recuperar uma contagem de todas as atividades do tipo Tarefa agrupadas pelo mês do calendário.
  2. O segundo CTE - 'last_period_task' lê o primeiro CTE e também aproveita a função de janela LAG para retornar o task_count do mês anterior. Observe que a cláusula ORDER BY é essencial para que a função LAG funcione.
  3. A consulta principal lê o segundo CTE - "last_period_task" e obtém o cálculo mês a mês.

 

Recursos

Gostaríamos muito de saber se você gostou dos recursos da versão 6.5 e como ela beneficiará sua empresa no futuro. Compartilhe seu feedback por meio dos comentários ou na seção fórum.

 

Autor

Postado por Binh Le

Binh Le é gerente de produto principal do serviço de consulta do Couchbase. Antes da Couchbase, ele trabalhou na Oracle e liderou a equipe de gerenciamento de produtos para Sales Clould Analytics e CRM OnDemand. Binh é bacharel em Ciência da Computação pela Universidade de Brighton, no Reino Unido.

Deixar uma resposta