Consultar dados com SQL
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Definir SQL e porque é usado.
- Usar SQL no Marketing Cloud Engagement.
- Identificar as melhores práticas para usar SQL.
O que é SQL?
Você migrou para o Marketing Cloud Engagement, desempacotou e até começou a organizar seu espaço. Vamos agora aos toques finais. Como mencionamos anteriormente, as extensões de dados do Marketing Cloud Engagement e o Contact Builder usam um banco de dados relacional. Portanto, você precisa de uma boa maneira de obter todos esses dados valiosos. Apresentamos: Structured Query Language (ou SQL), uma linguagem específica de domínio que pode fazer exatamente isso. No Marketing Cloud Engagement, uma atividade de consulta SQL é usada para executar consultas e recuperar dados para geração de relatórios ou segmentação de públicos.
Usar SQL no Marketing Cloud Engagement
Primeiro, vamos analisar como alguns comandos de SQL específicos são usados no Marketing Cloud Engagement.
-
SELECT: comando para localizar dados em um banco de dados
-
FROM (DE): local onde os dados residem no Marketing Cloud Engagement (geralmente uma extensão de dados)
-
JOIN: permite que a consulta pesquise várias tabelas e/ou extensões de dados
-
WHERE: usado para filtrar dados que você deseja/não deseja
Veja aqui um exemplo.
SELECT emailaddress as ‘Email_Address’, favoritecolor as ‘Favorite_Color’ FROM [MasterData Extension] m INNER JOIN JuneMarketingSend j ON
m .emailaddress = j .emailaddress WHERE
m .emailaddress is not NULL
Precisa de tradução? A execução dessa consulta recupera o email e a cor favorita da extensão de dados mestre e os une a quaisquer endereços de email correspondentes do envio de marketing de junho. Além disso, retorna apenas emails que não estão faltando. Note também o m e o j. Esses são aliases da SQL usados para fornecer um nome temporário a uma tabela ou a um campo de uma tabela. Eles são especialmente úteis quando você tem um nome de campo comum entre extensões de dados, como CustomerID ou EmailAddress. Você também poderá vê-los escritos como o seguinte.
SELECT o.OrderID, o.OrderDate, c.CustomerName FROM Customers AS c, Orders AS o WHERE c.CustomerID=o.CustomerID
Exibições de dados do SQL
As exibições de dados do sistema são consultas criadas pelo Salesforce que você pode usar para encontrar informações sobre seus assinantes. Lembre-se de que você não poderá fazer alterações nessas exibições de dados predefinidas. Veja alguns das exibições mais comumente usadas.
Exibição de dados |
Consulta |
Informações |
---|---|---|
_bounce |
Identifique e suprima endereços de email comumente devolvidos nos envios. |
|
_Click _Open |
Consulte essas visualizações de dados no Automation Studio para visualizar cliques e abrir dados para emails a partir da sua conta do Marketing Cloud Engagement. Ajuda a identificar outras oportunidades de envio de mensagens, indicando o engajamento do assinante em um JobID específico. |
|
_Complaint |
Consulte essa exibição de dados no Automation Studio para visualizar dados de reclamações relacionadas a emails de sua conta do Marketing Cloud Engagement. Use para limpar suas listas e garantir públicos mais precisos, além de melhorar a capacidade de entrega. |
|
_Journey |
Encontre o status de uma jornada, a data de criação e última modificação e outras informações gerais da jornada usando esta exibição de dados do Journey Builder. |
Então como você usa essas exibições de dados? Primeiro, crie uma extensão de dados para armazenar os dados necessários dessas exibições, em seguida, navegue até o Automation Studio para criar uma atividade de consulta com base na tabela de exibição de dados desejada. Depois de concluir e executar a automação, a saída será armazenada na extensão de dados criada.
Aqui está um exemplo de consulta que extrai dados da exibição de dados de devolução dos últimos 6 meses e fornece SubscriberKey, JobIDs e motivos da devolução.
SELECT SubscriberKey,JobID,SMTPBounceReason FROM _Bounce
Juntar dados com SQL
Além das exibições de dados, as consultas SQL também podem ser personalizadas para atender a diversas necessidades de negócios. Digamos que você queira enviar um email que contenha dados armazenados no log de envio e dados encontrados na extensão de dados do cliente. Para criar essas consultas, você vai querer entender o conceito de junções: pegar dados de uma fonte e juntá-los com dados de outra fonte.
As junções SQL podem ser complexas, então vamos analisar alguns cenários de junção usando um diagrama de Venn.
Vamos começar com a linha superior, conhecida como junções esquerda e direita.
Diagrama 1: junção externa esquerda
Você quer todos os registros da extensão de dados A, além dos registros correspondentes na extensão de dados B.
SELECT * FROM DataExtension A LEFT JOIN DataExtension B ON A.Field = B.Field
Resultado da amostra
Extensão de dados A |
Extensão de dados B |
||
---|---|---|---|
Name (Nome) |
Name (Nome) |
||
Joe |
joe@email.com |
Joe |
joe@email.com |
Jenn |
jenn@email.com |
null |
null |
Justin |
justin@email.com |
null |
null |
Diagrama 2: junção externa esquerda com exclusões
Nesta junção, excluímos os registros que não queremos da extensão de dados B.
SELECT * FROM DataExtension A LEFT JOIN DataExtension B ON A.Field = B.Field WHERE B.Field IS NULL
Resultado da amostra
Extensão de dados A |
Extensão de dados B |
||
---|---|---|---|
Name (Nome) |
Name (Nome) |
||
Joe |
joe@email.com |
null |
null |
Jenn |
jenn@email.com |
null |
null |
Justin |
justin@email.com |
null |
null |
Diagrama 3 e 4: junções direitas
Quanto às junções direitas, elas são o inverso dos cenários anteriores.
Diagrama |
Código |
---|---|
3 |
SELECT * FROM DataExtension A RIGHT JOIN DataExtension B ON A.Field = B.Field |
4 |
SELECT * FROM DataExtension A RIGHT JOIN DataExtension B ON A.Field = B.Field WHERE A.Field IS NULL |
Agora vamos dar uma olhada nas junções internas e externas.
Diagrama 5: junção interna
Esta consulta retorna registros que possuem valores correspondentes em ambas as extensões de dados.
SELECT * FROM DataExtension A INNER JOIN DataExtension B ON A.Field = B.Field
Resultado da amostra
Extensão de dados A |
Extensão de dados B |
||
---|---|---|---|
Name (Nome) |
Name (Nome) |
||
Joe |
joe@email.com |
Joe |
joe@email.com |
Jonathan |
jonathan@email.com |
Jonathan |
jonathan@email.com |
Diagrama 6: junção externa completa
As junções externas completas retornam todos os registros correspondentes de ambas as extensões de dados.
SELECT * FROM DataExtension A FULL OUTER JOIN DataExtension B ON A.Field = B.Field
Resultado da amostra
Extensão de dados A |
Extensão de dados B |
||
---|---|---|---|
Name (Nome) |
Name (Nome) |
||
Joe |
joe@email.com |
Joe |
joe@email.com |
Jenn |
jenn@email.com |
null |
null |
Justin |
justin@email.com |
null |
null |
null |
null |
Jennifer |
jennifer@email.com |
Jonathan |
jonathan@email.com |
Jonathan |
jonathan@email.com |
Diagrama 7: Junção externa
Retorna todos os registros correspondentes de ambas as extensões de dados, menos os registros que não queremos.
SELECT * FROM DataExtension A FULL OUTER JOIN DataExtension B ON A.Field = B.Field WHERE A.Field IS NULL OR B.Field IS NULL
Resultado da amostra
Extensão de dados A |
Extensão de dados B |
||
---|---|---|---|
Name (Nome) |
Name (Nome) |
||
Joe |
joe@email.com |
null |
null |
Jenn |
jenn@email.com |
null |
null |
Justin |
justin@email.com |
null |
null |
null |
null |
Jennifer |
jennifer@email.com |
null |
null |
Jonathan |
jonathan@email.com |
Veja a SQL em ação
A Cloud Kicks decidiu enviar uma oferta exclusiva aos clientes que abriram um email nos últimos 6 meses e fizeram uma compra nesse período. A arquiteta de soluções Maggie Quinn precisa concluir esta tarefa usando uma consulta SQL. Vamos acompanhar.
Maggie começa criando uma extensão de dados para armazenar as informações sobre os clientes que atendem a esses critérios. Ela então navega até o Automation Studio e segue estas etapas.
- Clique em New Automation (Nova automação).
- Selecione uma fonte inicial em Schedule (Agenda) ou File Drop (Explorador de arquivos).
- Arraste SQL Query (Consulta SQL) para o fluxo de trabalho e clique em Choose (Escolher). (Você pode selecionar uma consulta existente ou criar uma nova consulta.)
- Selecione Create New Query Activity (Criar nova atividade de consulta).
- Adicione propriedades de consulta: nome, chave externa, localização da pasta e descrição.
- Então, crie sua consulta SQL.
Maggie usa esta consulta.
SELECT c.EmailAddress, c.CustomerID, c.First_Name FROM Customers c INNER JOIN Purchases p ON c.CustomerID = p.CustomerID WHERE [Purchase Date] > DateAdd(month, -6, GetDate()) AND [Open Date] > DateAdd(month, -6, GetDate())
Depois de concluir, ela segue os passos restantes.
- Clique em Validate Syntax (Validar sintaxe).
- Escolha a extensão de dados criada para armazenar os resultados da consulta.
- Escolha a ação de dados que a atividade de consulta realiza: Append (Anexar), Update (Atualizar), ou Overwrite (Substituir).
- Clique em Save (Salvar).
Com tuto pronto, Maggie executa a automação.
Consultas SQL comuns
Contas pai
Você pode consultar extensões de dados na pasta Shared Data Extension (Extensão de dados compartilhada) da conta pai adicionando o prefixo ent. ao nome da extensão de dados na consulta.
SELECT EmailAddress FROM ent.MasterDataExtension
Todos os dados
Às vezes você quer tudo.
SELECT * FROM MasterDataExtension
Use SELECT *
(Selecionar) com muito cuidado pois isso pode causar lentidão no sistema por estar processando uma grande quantidade de dados. Quanto maior o conjunto de dados, maior tempo e esforço o sistema terá de usar para obter os dados. O tempo limite das consultas expira após 30 minutos e, quanto mais dados forem processados, maior será a probabilidade de a consulta atingir o tempo limite. Para ajudar com isso, é mais eficaz fornecer os campos exatos que você procura na consulta.
SELECT field1, field2, field3 FROM MasterDataExtension
SQL é algo que você pode passar anos aprimorando, mas por enquanto você sabe o básico. Esperamos que você (e seus dados) estejam bem confortáveis em sua nova casa. E mal podemos esperar para ver o que você conseguirá com o poder dos seus dados do Marketing Cloud Engagement.
Recursos
- Ajuda do Salesforce: Exibições de dados
- Ajuda do Salesforce: Referência de SQL
- Ajuda do Salesforce: Usar atividade de consulta SQL