Olá, Sense user!
No SenseAnalytics temos diferentes explores que são montados pela Equipe da SenseData, que combinam os dados da sua database da melhor maneira possível, usando relacionamentos definidos entre os campos e as tabelas, por isso, a melhor maneira de analisar os dados é utilizando apenas um explore.
Entretanto, em alguns momentos os relacionamentos previamente definidos não são os que você necessita. Nesses casos, é possível combinar os dados de diferentes explores para criar tabelas e visualizações.
Usando a ferramenta de “Merge Results” é possível criar uma consulta em um explore e depois adicionar outras queries para fundir os resultados em apenas uma tabela e criar um relacionamento entre essas queries que servirá apenas para essa tabela.
É importante ressaltar que os resultados da fusão tem um limite de 5000 linhas para cada query, se forem incluídas queries que retornem mais de 5000 linhas de dados, apenas as primeiras 5000 linhas serão incluídas na fusão.
Criando Merge queries
Vamos tomar como exemplo, uma consulta primária que utiliza os campos da tabela de atividades, usando os campos “responsável pela atividade”, “mês de criação da atividade” e a “quantidade de atividades criadas”, como na imagem a seguir:
Nesta imagem, vamos destacar o responsável Matheus Neves, que, para o mês de criação, 01/22 teve 95 atividades criadas.
Após executar a consulta, podemos adicionar outras informações: data de conclusão de atividade e quantidade de atividades concluídas:
Podemos ver que agora que existem várias linhas com data de conclusão 01/22, uma para cada mês de criação, mostrando vários valores de atividades concluídas e criadas, tornando a análise dos dados um pouco complicada.
Para melhorar a nossa análise podemos criar um “merge queries” juntando o mês de criação com o mês de conclusão. Dessa forma, voltamos à consulta inicial (data de criação, responsável e quantidade de atividades criadas), e seguimos os passos abaixo:
- Selecionar a engrenagem no canto superior direito da tela;
- Selecionar a opção “Merge results”.
Após isso, será aberta uma janela para escolher o Explorer, da mesma forma que ocorre quando criamos uma nova tile, onde neste caso é o “Dados dos Clientes” e assim abrimos um explore novo, onde selecionamos os campos que serão fundidos com a query anterior.
No nosso exemplo, serão os campos Mês de conclusão, Responsável e quantidade de atividades concluídas. Executamos a consulta clicando no botão “Run” (Executar) e em seguida clicamos em Save (Salvar).
Utilizando o mês de conclusão e atividades concluídas isoladamente, podemos identificar que o responsável Matheus Neves teve 60 atividades concluídas no mês 01/22.
Abrindo a tela de “Merged Results” (Resultados da fusão) onde vamos definir as regras da fusão, podemos criar calculations (ver mais no artigo: Table calculations) e escolher a visualização.
Na área de “Merge Rules”, é possível ver que o Sense Analytics identificou que é possível realizar a fusão usando como relacionamento os campos de Mês de criação e Mês de conclusão e pelo campo responsável. Após verificar se as regras são as que nós queremos, é só clicar em RUN para que a fusão ocorra, resultando na seguinte tabela:
Diferente do que aconteceu quando colocamos ambas as datas na mesma query, desta vez aparece apenas uma data (Apesar de manter o nome da coluna da consulta primária “Data de criação", ela agora representa tanto a data de criação quanto de conclusão) e os valores das atividades criadas e concluídas são iguais aos que tínhamos nas consultas individuais.
Voltando a observar o responsável Matheus Neves, podemos ver que os valores de atividades criadas e concluídas para o mês 01/22 estão iguais aos obtidos nas queries isoladas.
Obs: Este tipo de merge query onde unificamos diferentes datas (conclusão com criação, por exemplo) são de grande utilidade para facilitar o uso de medidas e filtros em tiles que tem medidas que se relacionam com datas diferentes. Por isso, essas consultas já foram criadas pelo time SenseData e podem ser encontradas nas tabelas que terminam com “(Eventos)”.
Entendendo os resultados da fusão
Quando realizamos uma fusão de queries, começamos criando uma única query de um explore, e depois combinamos outras queries com essa primeira query.
Por padrão, esta primeira query é considerada a query primária. Este é um conceito importante, pois quando o Analytics combina os dados para criar o resultado da fusão, ele combina os dados de cada query com a query primária. Então, sempre que é adicionado uma query, é preciso incluir uma dimensão que pode ser combinada com uma dimensão na query primária. É possível trocar a query que será utilizada como query primária, como descrito em TROCANDO A QUERY PRIMÁRIA.
A fusão é feita por meio de um left join da query primária com as outras, que consiste em uma união de tabelas a partir de um campo em comum. Para campos equivalentes (usados para realizar o relacionamento o relacionamento), o nome do campo na query primária será o nome do campo no resultado da fusão.
E se não existir um dado equivalente?
Outro motivo da importância da query primária é a forma como os valores nulos são tratados com as dimensões equivalentes.
Se uma linha existe na query primária, mas não existe na query adicional, então a query adicional terá valores nulos para aquela linha. Sendo assim, sempre que um valor aparecer em uma coluna na tabela primária, mas na dimensão equivalente a ela de outra query um desses valores não aparecer, os valores da linha associada a ele ficarão nulos.
Por outro lado, se a coluna equivalente tiver valores na query secundária que não existem na query primária, esses não serão levados para o resultado da fusão.
Usando como exemplo a merge queries que fizemos no tópico “Criando Merge queries”, podemos perceber que naquele caso, utilizamos a coluna de “Responsável” tanto na query primária quanto na secundária, pois como se trata de um “left join”, caso não tivéssemos incluído esse campo na query secundária, o join não conseguiria entender a granularidade que queremos para a consulta (por responsável e por mês) e acabaria trazendo apenas a granularidade por mês, trazendo o mesmo valor para todos os responsáveis, pois ela não estava preparada para dividir os valores das atividades concluídas por responsável, como mostra na imagem abaixo, onde a regra de fusão foi apenas os meses, sem incluir os responsáveis.
E se uma query tiver várias linhas para o mesmo valor?
Para o último caso, o que aconteceria se na query primária tivéssemos 1 linha para determinado valor, mas na secundária tivéssemos mais de 1 linha com o mesmo valor? Para responder isso vamos tomar como exemplo a seguinte query primária:
Começamos analisando a nossa query, temos as dimensões “Categoria” e “Tipo”, o filtro de categoria = “Ótimo” e a medida “Atividades”, que corresponde ao número de atividades criadas. Neste cenário vamos destacar nossa primeira linha, onde temos a categoria “Ótimo”, com o tipo “E-mail” e 18 atividades criadas.
Agora vamos adicionar a query secundária:
Escolhemos os campos de dimensão “Categoria”, “Status” e a medida “Atividades concluídas”, podemos ver que existem 2 linhas para categoria = “Ótimo”, uma com status atrasada e uma com status concluída e que para as concluídas temos 644 atividades concluídas, enquanto para as atrasadas temos 0. Também é bom observar que nesta query não adicionamos o filtro de categoria = “Ótimo”, como fizemos na query primária. Agora, abaixo veremos como fica nossa query resultante.
Primeiro olhamos para as regras de fusão, que foram somente “Categoria”, depois vemos as colunas que entraram na nossa query. Temos as dimensões “Categoria”, “Tipo” e “Status” e as medidas “Atividades” e “Concluídas”.
Voltando ao exemplo destacado quando montamos a query primária, vemos que agora não temos só 1 linha para categoria “Ótimo” e tipo “E-mail”, mas temos 2, uma para o status “Concluída” e outra para o Status “Atrasada”. Também podemos perceber que o número de atividades criadas nas 2 linhas é o mesmo, que é o mesmo obtido na query primária para a atividade categoria “Ótimo” e tipo “E-mail”, assim como o número de atividades concluídas se repete para todos os Tipos, na categoria “Ótimo”, variando apenas pelo Status, quando o Status é Concluído temos 644 Atividades concluídas e quando o Status é Atrasada, temos 0 Atividades concluídas, assim como vimos no resultado da query secundária.
Portanto, concluímos que, quando a nossa query secundária tem mais de 1 valor para a mesma linha da query primária (Na primária só tínhamos 1 linha para categoria para cada Linha de Tipo, enquanto na secundária tínhamos 2 linhas de status para cada categoria) A nossa query resultante adiciona linhas, duplicando as linhas da query primária. Então, quando realizamos a fusão, o resultado pode ter mais linhas do que a query primária, mas nunca terá menos.
Outro ponto a observar é que como Status e Tipo não foram relacionados, nossos resultados nas medidas não estão na granularidade para tipo e status, por isso todos acabam recebendo os mesmos valores das tabelas primárias e secundárias, assim como foi destacado em “Criando Merge queries”
O filtro de categoria aplicado na query primária se manteve para o resultado.
Editando o resultado da fusão
Uma vez que os resultados forem apresentados, existem várias opções possíveis de edição, usaremos como exemplo o resultado abaixo:
A:
- Clicando no nome da query podemos editá-la;
- Clicando em “Add Query” adicionamos novas queries à fusão;
- Clicando na Engrenagem ao lado do nome da query abrimos o menu 4;
- Neste menu podemos editar a query, renomea-la, torná-la primária ou deletá-la. É muito importante renomear as suas queries, pois isso facilitará na hora de aplicar filtros na dash.
B:
- Use o menu para trocar o campo usado para combinar os dados;
- Clique no X para remover o par das regras.
C:Assim como em uma tile normal, o campo de visualização pode ser editado normalmente na tela de resultado da fusão de queries e será ele que aparecerá na dashboard.
D:
Clicando em “Calculations” conseguimos criar uma “Table Calculation” (ver mais em “LINK TABLE CALCULATIONS'') para os resultados da fusão.
Ao ativar o campo de “Totals” o Analytics calcula o total em cada uma das queries que compõem a fusão e usa esses totais no resultado. Por isso, os totais podem ser resultados muito grandes, já que o que é mostrado são os totais calculados antes dos resultados estarem fundidos. Uma maneira de evitar isso é alinhar os filtros em cada uma das queries presentes.
Filtros em Merge Queries
Não é possível editar os filtros nos resultados da fusão, porém é possível adicioná-los nas queries que compõem a fusão individualmente.
Uma segunda opção de filtragem, está diretamente na tela de resultados utilizando cálculos de “Yes/No” como mostrado no artigo (Link para a parte de cálculos com yes/no no artigo de table calculations).
Também é possível filtrar merge queries diretamente em Dashboards, que funciona um pouco diferente de tiles normais.
No exemplo a seguir vamos colocar um filtro de Data na nossa query, porém ela tem datas de criação e de conclusão fundidas. Primeiro selecionamos uma das 2 datas e renomeamos para o nome que preferimos:
Depois, abrindo o campo “Tiles to Update”, podemos ver que para 1 merge query, temos opção de mudar o filtro de cada componente da query, assim, podendo trocar a data escolhida anteriormente (data de criação) para uma que realmente afeta a query secundária (data de conclusão). Também é possível filtrar apenas algumas queries presentes na fusão, sem precisar filtrar todas, por exemplo quando usamos queries com tabelas que não se relacionam, não faz sentido filtrar uma query por um campo que não tem nenhuma relação com ela, veja mais no artigo (link do artigo relacionamento de tabelas).
Adicionando a Merge query para uma Dashboard
Após concluir a fusão e conferir se os dados, regras e a visualização está correta, precisamos adicionar esse merge à dash, para isso clicamos na engrenagem ao lado de “Run” no canto superior direito e em seguida clicamos em “Save to Dashboard”.
Na Sequência abrirá uma janela onde você poderá escolher o título que a visualização terá, as pastas disponíveis, as dashs que podemos adicionar Para finalizar clicamos no botão “Save to DashBoard” como no exemplo abaixo:
- Escolher o Título da visualização;
- Verificar se está sendo salvo na pasta correta (os nomes em azul em embaixo do campo “Filter by title” são pastas que podemos entrar;
- Selecione a Dash para onde a Tile será salva;
- Clique no Botão de salvar para finalizar.
Conclusões
Sempre que possível, é recomendado utilizar dados em um único Explorer, pois o time de desenvolvimento cuidadosamente definiu como dados de diferentes tabelas deveriam ser combinados. Porém, quando necessário, utilizar merge queries é uma técnica poderosa que te permite combinar dados de diferentes explores.
Em caso de dúvidas, entre em contato com o suporte através do e-mail suporte@sensedata.com.br.
Comentários
0 comentário
Por favor, entre para comentar.