Junção de tabelas por consulta (query)

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:

  1. Da página inicial do conjunto de dados a ser trabalhado, clique em “Criar” no canto superior-esquerdo da tela.
  2. 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).

  1. 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:

  1. 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.
  2. 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.
  3. Clicando no nome da tabela de consulta (normalmente “Nova Tabela de Consulta”) é possível altera-la.
  4. 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.
  5. É possível colocar comentários no meio da consulta, inserindo “/*”no começo e “*/” no final de cada comentário.

Deixe uma resposta