Juntar dados
Você pode usar a interface de junção no Amazon QuickSight para juntar objetos de uma ou mais fontes de dados. Ao usar o Amazon QuickSight para juntar dados, você pode mesclar dados diferentes sem duplicar os dados de fontes diferentes.
Tipos de conjuntos de dados de junção
Uma junção é realizada entre duas tabelas lógicas do QuickSight, em que cada tabela lógica contém informações sobre como buscar dados. Ao editar um conjunto de dados no QuickSight, o diagrama de junção na metade superior da página mostra cada tabela lógica como um bloco retangular.
Há dois tipos diferentes de conjuntos de dados de junção no QuickSight: da mesma fonte e entre fontes. Um conjunto de dados é considerado da mesma fonte quando não tem qualquer junção ou quando todas as seguintes condições são atendidas:
-
Se alguma das tabelas lógicas se referir a uma fonte de dados do QuickSight:
-
Todas as tabelas lógicas nesse conjunto de dados devem se referir à mesma fonte de dados do QuickSight. Isso não se aplica se duas fontes de dados do QuickSight separadas se referem ao mesmo banco de dados subjacente. Deve ser exatamente a mesma fonte de dados do QuickSight. Para obter mais informações sobre o uso de uma única fonte de dados, consulte Como criar um conjunto de dados usando uma fonte de dados existente.
-
-
Se alguma das tabelas lógicas se referir a um conjunto de dados do QuickSight que seja um conjunto de dados pai:
-
O conjunto de dados pai deverá usar consulta direta.
-
O conjunto de dados pai deverá se referir à mesma fonte de dados do QuickSight.
-
Se as condições acima não forem atendidas, o conjunto de dados será considerado uma junção entre fontes.
Fatos sobre a junção de conjuntos de dados
As junções de conjuntos de dados da mesma fonte e entre fontes têm as limitações a seguir.
Qual é o número máximo de tabelas que um conjunto de dados de junção pode conter?
Todos os conjuntos de dados de junção podem conter até 32 tabelas.
Qual o tamanho que os dados de junção podem ter?
O tamanho máximo permitido de uma junção é determinado pelo modo de consulta e pelo mecanismo de consulta que é usado. A lista apresentada abaixo fornece informações sobre os diferentes limites de tamanho para as tabelas a serem unidas. O limite de tamanho se aplica a todas as tabelas secundárias combinadas. Não há limites de tamanho de junção para a tabela primária.
-
Tabelas com a mesma origem: quando as tabelas se originam de uma única fonte de dados de consulta, o QuickSight não impõe restrições ao tamanho de junção. Isso não substitui as limitações de tamanho de junção que podem estar impostas pelo mecanismo de consulta de origem.
-
Conjuntos de dados de fontes cruzadas: este tipo de junção contém tabelas de diferentes fontes de dados que não estão armazenadas no SPICE. Para esses tipos de junções, o QuickSight identifica automaticamente a tabela de maior tamanho no conjunto de dados. O tamanho combinado de todas as outras tabelas secundárias deve ser menor que 1 GB.
-
Conjuntos de dados armazenados no SPICE: este tipo de junção contém tabelas que são todas ingeridas no SPICE. O tamanho combinado de todas as tabelas secundárias nesta junção não pode exceder 20 GB.
Para obter mais informações sobre os cálculos de tamanho do conjunto de dados do SPICE, consulte Estimar o tamanho dos conjuntos de dados do SPICE.
Um conjunto de dados de junção pode usar consulta direta?
Os conjuntos de dados da mesma fonte são compatíveis com consulta direta, supondo que não haja outras restrições ao uso de consulta direta. Por exemplo, as fontes de dados do S3 não são compatíveis com consulta direta. Portanto, um conjunto de dados do S3 da mesma fonte ainda deve usar o SPICE.
Os conjuntos de dados entre fontes devem usar o SPICE.
Os campos calculados podem ser usados em uma junção?
Todos os conjuntos de dados de junção podem usar campos calculados, mas os campos calculados não podem ser usados em nenhuma cláusula.
Os dados geográficos podem ser usados em uma junção?
Os conjuntos de dados da mesma fonte são compatíveis com tipos de dados geográficos, mas os campos geográficos não podem ser usados em nenhuma cláusula.
Conjuntos de dados entre fontes não são compatíveis com dados geográficos em formato algum.
Para obter exemplos de como realizar a junção de tabelas entre diferentes fontes de dados, consulte a publicação Joining across data sources on Amazon QuickSight
Como criar uma junção
Use o procedimento a seguir para unir tabelas e usá-las em um conjunto de dados. Antes de começar, importe ou conecte seus dados. Você pode criar uma junção entre qualquer uma das fontes de dados compatíveis com o Amazon QuickSight, exceto dados da Internet das Coisas (IoT). Por exemplo, você pode adicionar arquivos de valores separados por vírgula (.csv), tabelas, visualizações, consultas SQL ou objetos JSON em um bucket do Amazon S3.
Adicionar uma ou mais junções
-
Abra o conjunto de dados com o qual deseja trabalhar.
-
(Opcional) Antes de começar, decida se você deseja desabilitar a visualização gerada automaticamente com base em uma amostra dos dados. Para desativar isso, escolha Visualização automática no canto superior direito. A opção está ativada por padrão.
-
Se você ainda não tiver escolhido um modo de consulta, escolha Modo de consulta.
Escolha SPICE para armazenar o conjunto de dados no SPICE ou escolha Consulta direta para sempre obter dados ativos. Se o conjunto de dados contiver um ou mais arquivos carregados manualmente, o conjunto de dados será automaticamente armazenado no SPICE.
Se você escolher SPICE, os dados serão ingeridos no QuickSight. Elementos visuais que usam o conjunto de dados executam consultas no SPICE e não no banco de dados.
Se você escolher Consulta direta, os dados não serão ingeridos no SPICE. Elementos visuais que usam o conjunto de dados executam consultas no banco de dados e não no SPICE.
Se você escolher Modo de consulta, certifique-se de definir chaves exclusivas na junção, se aplicável, para melhorar o desempenho quando carregar elementos visuais.
-
Na página de preparação de dados, escolha Adicionar dados.
-
Na página Adicionar dados que é aberta, escolha uma das opções a seguir e conclua as seguintes etapas:
-
Adicione dados de um conjunto de dados:
-
Escolha Conjunto de dados.
-
Selecione um conjunto de dados na lista.
-
Escolha Selecionar.
-
-
Adicione dados de uma fonte de dados:
-
Escolha Fonte de dados.
-
Selecione uma fonte de dados na lista.
-
Escolha Selecionar.
-
Selecione uma tabela na lista.
-
Escolha Selecionar.
-
-
Crie junções automáticas ao adicionar uma tabela várias vezes. Um contador é exibido após o nome. Por exemplo: Product, Product (2) e Product (3). Os nomes dos campos nas seções Campos ou Filtros incluem o mesmo contador para informar de qual instância da tabela um determinado campo veio.
-
Adicione um novo arquivo escolhendo Carregar um arquivo e selecione o arquivo que você deseja juntar.
-
-
(Opcional) Escolha Usar SQL personalizado para abrir o editor de consultas e escrever uma consulta para uma fonte de dados SQL.
-
(Opcional) Depois de adicionar dados, interaja com cada tabela ao escolher o ícone de menu da tabela. Reorganize as tabelas arrastando-as e soltando-as.
Um ícone com pontos vermelhos é exibido para indicar que você precisa configurar essa junção. Dois pontos vermelhos são exibidos em junções que ainda não estão configuradas. Para criar junções, escolha o primeiro ícone de configuração de junção.
-
(Opcional) Para alterar uma junção existente, reabra a Configuração de junção ao escolher o ícone de junção entre duas tabelas.
O painel Configuração de junção é aberto. Na interface da junção, especifique o tipo de junção e os campos a serem usados para juntar as tabelas.
-
Na parte inferior da tela, você pode ver opções para definir um campo em uma tabela igual a um campo em outra tabela.
-
Na seção Join clauses (Cláusulas de junção), selecione a coluna de junção para cada tabela.
(Opcional) Se as tabelas selecionadas tiverem junções em várias colunas, selecione Add a new join clause (Adicionar uma nova cláusula de junção). Essa opção adiciona outra linha às cláusulas de junção, para que você possa especificar o próximo conjunto de colunas para junção. Repita esse processo até identificar todas as colunas de junção para os dois objetos de dados.
-
-
No painel Configuração da junção, selecione o tipo de junção a ser aplicado. Se os campos de junção forem uma chave exclusiva para uma ou ambas as tabelas, habilite a configuração de chave exclusiva. As chaves exclusivas só se aplicam a consultas diretas, não a dados do SPICE.
Para obter mais informações sobre junções, consulte Tipos de junção.
-
Escolha Apply (Aplicar) para confirmar suas escolhas.
Para sair sem fazer alterações, escolha Cancelar.
-
O ícone de junção no espaço de trabalho muda para mostrar a nova relação.
-
(Opcional) Na seção Campos, você pode usar o menu de cada campo para executar uma ou mais das seguintes ações:
-
Adicione uma hierarquia a um campo geoespacial.
-
Inclua ou Exclua o campo.
-
Edite o nome e a descrição do campo.
-
Altere o tipo de dados.
-
Adicione um cálculo (um campo calculado).
-
Restrinja o acesso somente a mim, para que somente você possa ver. Isso poderá ser útil quando você estiver adicionando campos a um conjunto de dados que já esteja em uso.
-
-
(Opcional) Na seção Filtros, você pode adicionar ou editar filtros. Para ter mais informações, consulte Filtrar dados no Amazon QuickSight.
Tipos de junção
O Amazon QuickSight é compatível com os seguintes tipos de junções:
-
Junções internas
-
Junções externas à esquerda e à direita
-
Junções externas totais
Vamos ver o que esses tipos de junção fazem com seus dados. Nos nossos dados de exemplo, estamos usando as tabelas a seguir chamadas widget
e safety rating
.
SELECT * FROM safety-rating rating_id safety_rating 1 A+ 2 A 3 A- 4 B+ 5 B SELECT * FROM WIDGET widget_id widget safety_rating_id 1 WidgetA 3 2 WidgetB 1 3 WidgetC 1 4 WidgetD 2 5 WidgetE 6 WidgetF 5 7 WidgetG
Junções internas
Use uma junção interna ( ) quando quiser ver apenas os dados em que há correspondência entre duas tabelas. Por exemplo, suponha que você realize uma junção interna nas tabelas safety-rating e widget.
No conjunto de resultados a seguir, widgets sem classificações de segurança são removidos, e as classificações sem widgets associados são removidas. Somente as linhas que correspondem perfeitamente são incluídas.
SELECT * FROM safety-rating INNER JOIN widget ON safety_rating.rating_id = widget.safety_rating_id rating_id safety_rating widget_id widget safety_rating_id 3 A- 1 WidgetA 3 1 A+ 2 WidgetB 1 1 A+ 3 WidgetC 1 2 A 4 WidgetD 2 5 B 6 WidgetF 5
Junções externas à esquerda e à direita
Elas também são conhecidas como junções externas à esquerda ou à direita. Use uma junção externa à esquerda ( ) ou à direita ( ) quando quiser ver todos os dados de uma tabela e somente as linhas correspondentes da outra.
Em uma interface gráfica, você pode ver qual tabela está à direita ou à esquerda. Em uma instrução SQL, a primeira tabela é considerada à esquerda. Portanto, escolher uma junção externa esquerda em vez de uma junção externa direita depende somente de como as tabelas são apresentadas em sua ferramenta de consulta.
Por exemplo, suponha que você realize uma junção externa à esquerda (
) em safety-rating
(a tabela à esquerda) e em widgets
(a tabela à direita). Nesse caso, todas as linhas de safety-rating
são retornadas e apenas as linhas de widget
correspondentes são retornadas. Você verá espaços em branco no conjunto de resultados onde não há dados correspondentes.
SELECT * FROM safety-rating LEFT OUTER JOIN widget ON safety_rating.rating_id = widget.safety_rating_id rating_id safety_rating widget_id widget safety_rating_id 1 A+ 2 WidgetB 1 1 A+ 3 WidgetC 1 2 A 4 WidgetD 2 3 A- 1 WidgetA 3 4 B+ 5 B 6 WidgetF 5
Em vez disso, se você usar uma junção externa à direita (
), chame as tabelas na mesma ordem para que safety-rating
esteja à esquerda e widgets
à direita. Nesse caso, somente as linhas de safety-rating
correspondentes são retornadas e todas as linhas de widget
são retornadas. Você verá espaços em branco no conjunto de resultados onde não há dados correspondentes.
SELECT * FROM safety-rating RIGHT OUTER JOIN widget ON safety_rating.rating_id = widget.safety_rating_id rating_id safety_rating widget_id widget safety_rating_id 3 A- 1 WidgetA 3 1 A+ 2 WidgetB 1 1 A+ 3 WidgetC 1 2 A 4 WidgetD 2 5 WidgetE 5 B 6 WidgetF 5 7 WidgetG
Junções externas totais
Por vezes, elas são chamadas apenas junções externas, mas esse termo pode se referir a uma junção externa esquerda, direita externa ou externa total. Para definir o significado, usamos o nome completo: junção externa total.
Use uma junção externa total (
) para ver os dados correspondentes, além dos dados de ambas as tabelas que não são correspondentes. Esse tipo de junção inclui todas as linhas de ambas as tabelas. Por exemplo, se você executar uma junção externa total nas tabelas safety-rating
e widget
, todas as linhas serão retornadas. As linhas ficam alinhados onde há correspondência, e todos os dados extras são incluídos em linhas separadas. Você verá espaços em branco no conjunto de resultados onde não há dados correspondentes.
SELECT * FROM safety-rating FULL OUTER JOIN widget ON safety_rating.rating_id = widget.safety_rating_id rating_id safety_rating widget_id widget safety_rating_id 1 A+ 2 WidgetB 1 1 A+ 3 WidgetC 1 2 A 4 WidgetD 2 3 A- 1 WidgetA 3 4 B+ 5 B 6 WidgetF 5 5 WidgetE 7 WidgetG