Quando se tem dois conjuntos de dados com algum tipo de relação entre eles, é interessante se realizar uma junção desses dados. No Zoho Analytics, esse tipo de união pode ser feita de duas formas: com auto-junção(auto-join) ou com consulta (query). Nesse tutorial, iremos explicar como funciona a junção por tabela de consulta (query).
Uma consulta, no contexto das tabelas e dados, nada mais é que uma requisição por dados ou informações daquele conjunto. Essa requisição, normalmente feita através de um texto SQL (Structured Qery Language), pode ser utilizada para:
- se obter informações estatísticas sobre os dados (como média, soma, contagem e etc);
- filtrar os dados com base em alguma característica das colunas;
- unir ou juntar os dados a partir de alguma regra;
Nesse tutorial, focaremos na parte de junção de dados para o Zoho Analytics.
Criando uma consulta
O primeiro passo para fazer uma junção por consulta é criar a consulta em sí. Isso é um procedimento simples, e pode ser fito com apenas alguns cliques em seu Zoho Analytics:
- Da página inicial do conjunto de dados a ser trabalhado, clique em “Criar” no canto superior-esquerdo da tela.
- Clique em “Tabelas de Consulta”.
E pronto! a pagina para escrever a consulta será aberta logo em seguida. É provável que o Analytics exiba um modelo de consulta pronto, que pode ser apagado sem nenhum dano aos dados.
Escrevendo uma consulta
Com a consulta criada, é necessário escrever o query que gerará a tabela propriamente. Essa consulta é escrita em SQL, uma linguagem muito simples mas muito versátil para a modelagem de dados. Existem inúmeros cursos, tutoriais, artigos e vídeos sobre SQL, nessa etapa desse tutorial explicaremos apenas o básico para uma junção usando consulta (query).
- Existem 3 palavras essenciais para realizar uma junção em SQL: SELECT, FROM e ON. Essas 3 expressões compõem a estrutura da junção, e portando é interessante começar a escrita da consulta colocando essas 3, separadas por algumas linhas
SELECT
FROM
ON
2. Escreva o nome das colunas que serão utilizadas nessa consulta, logo após o SELECT , seguindo as seguintes regras:
- É necessário escrever o nome das colunas exatamente como estão nas tabelas. Caso haja espaço no nome da coluna, é necessário colocar o nome entre aspas duplas (Ex.: “Faturamento liquido”, Lucro, “Quantidade de vendas”)
- Caso as colunas tenham o nome repetido, é necessário informar a tabela de onde ela vem, seguindo a regra acima. Essa informação é escrita antes do nome da coluna, seguida por um ponto( Ex.: Loja.”Faturamento liquido”, Caixa4.Lucro, “Ribeirinha”.”Quantidade de vendas”). Como uma boa prática, é interessante sembre escrever a tabela de referência antes da coluna, para evitar eventuais bugs.
SELECT "Contas"."Id",
"Contas"."Conta Nome",
"Usuários"."Primeiro Nome"
FROM
ON
3. Escreva o nome das tabelas utilizadas nessa consulta, logo após o FROM, seguindo a estrutura TABELA_A TIPO_DE_JUNÇÃO TABELA_B. Nesse passo, é importante definir o tipo de junção, que varia de acordo com quais dados serão importados em caso de falta. Existem 4 tipos principais de junção em SQL:
- INNER JOIN: É uma junção em que só se conservam os dados presentes em ambas as tabelas. É o tipo de junção utilizada quando tanto os dados da primeira tabela quanto da segunda tabela são essenciais para a consulta. Por exemplo,
- A tabela A contem as vendas para cada um dos estados com os quais a empresa trabalha, enquanto a tabela B contem os PIBs de cada estado naquele ano.Se a consulta vai ser utilizada para fazer uma análise sobre as vendas em relação ao PIB de cada estado, é importante se ter apenas os dados completos, sem importar o PIB dos estados com que a empresa não trabalha.
- LEFT JOIN: É a junção em que serão importados todos os dados tabela da esquerda, enquanto da tabela direita serão importados apenas os dados que tem alguma equivalência com os da esquerda. É o principal tipo de junção quando se trata de uma relação muitos para um, ou quando se deseja obter um complemento presente na tabela da direita para o conjunto de dados da tabela da esquerda. Por exemplo:
- Na tabela A se tem o nome e telefone fixo de cada um dos clientes, enquanto na tabela B se tem o celular de alguns clientes. Caso essa tabela seja usada para telefonar para todos os clientes, é necessário conservar todos os dados da tabela A por isso se ultilizaria LEFT JOIN.
- Na tabela A se tem o nome e a empresa onde cada candidato trabalha. Na tabela B se tem o salário médio de todas as empresas da região. Como dois candidatos podem ser da mesma empresa, essa relação é de muitos para um, por isso é interessante se utilizar um LEFT JOIN,
- RIGHT JOIN: É a mesma junção que LEFT JOIN, mas a ordem que as tabelas aparecem na sintaxe é trocada. Assim, TABELA_A LEFT JOIN TABELA_B produz o mesmo resultado que TABELA_B RIGHT JOIN TABELA_A. Normalmente utiliza-se LEFT JOIN.
- OUTER JOIN: É a junção que importa todas as linhas de ambas as tabelas, fazendo a junção nas linhas em que existe uma equivalência nos dados. É usado principalmente quando as tabelas contem um tipo parecido de dados, e a intensão da consulta é adquirir o máximo de dados possível. Por exemplo:
- Os dados da tabela A contem todos os produtos vendidos e seus preços pela loja A, enquanto os da tabela B contem todos os produtos vendidos e seus preços da loja B. Caso a consulta seja para organizar todos os produtos compráveis nas lojas A e B, é; interessante se utilizar um OUTER JOIN.
SELECT "Contas"."Id",
"Contas"."Conta Nome",
"Usuários"."Primeiro Nome"
FROM "Usuários"
LEFT JOIN
"Contas"
ON
4. Por fim, escreva a condição onde os dados são equivalentes, logo após o ON. Essa condição pode ser qualquer expressão que indique a equivalência entre as colunas, podendo incluir funções, operações e até sub-consultas. Alguns exemplos:
- A tabela A e a tabela B contêm o id do usuário, assim as duas tabelas podem ser ligadas usando ON “tabela A”.”id” = “tabela B”.”id”
- A tabela A contem o número identificador completo, enquanto na tabela B esse numero está dividido em duas colunas. Esse conjunto pode ser ligado usando “tabela A”.”id_completo” = “tabela B”.”id_parte1″+”tabela B”.”id_parte2″.
SELECT "Contas"."Id",
"Contas"."Conta Nome",
"Usuários"."Primeiro Nome"
FROM "Usuários"
LEFT JOIN
"Contas"
ON
"Usuários". "Id" = "Contas"."Id"
E assim se constrói uma consulta para a junção de duas tabelas de dados. Clicando em “Executar consulta” o Analytics gera a tabela que é a união das das duas tabelas utilizadas. Essa tabela gerada pode ser visualizada de forma completa clicando em “Modo exibição”. Para salva-la e utiliza-la em relatórios, clique em “Salvar” ao lado no nome da tabela.
Dicas
O editor de consultas do Zoho Analytics conta com algumas funcionalidades que podem facilitar a escrita da consulta. Algumas dicas de como usar o editor são:
- Clicando em “Inserir colunas” se encontra uma lista com todas as colunas e tabelas daquele espaço de trabalho. ao clicar no nome de uma coluna ela aparece automaticamente no texto da consulta, já com as aspas. Clicando duas vezes, aparece tambem o nome da tabela, entre aspas, seguindo a sintaxe tabela.coluna.
- Clicando em “Inserir funções SQL” o Zoho Analytics exibe uma lista com todas as palavras chave, operadores e funções da linguagem. Passando o mouse por cima delas é possível ver os parâmetros e sintaxe da função, e ao clicar em uma delas ela automaticamente aparece no query.
- Clicando no nome da tabela de consulta (normalmente “Nova Tabela de Consulta”) é possível altera-la.
- Para mudar o nome de uma coluna da consulta, basta adicionar o nome desejado logo depois dela no SELECT. Por exemplo “Contas”.”Conta Nome” “Nome da conta” para colocar essa coluna como Nome da conta.
- É possível colocar comentários no meio da consulta, inserindo “/*”no começo e “*/” no final de cada comentário.