Conhecer os conceitos do SQL
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Usar termos e conceitos de SQL.
- Entender a estrutura SQL dos insights do Data Cloud.
Insights no Data Cloud
Seus dados são importados para o Salesforce Data Cloud de várias fontes. Os insights oferecem uma maneira de criar novas métricas e organizar, agrupar e manipular dados em sua conta. Há dois tipos de insights baseados em SQL (Structured Query Language): calculados e de streaming. Os insights calculados permitem cálculos complexos baseados em dados armazenados e os insights de streaming são criados com base nos dados em tempo real. Como indicado em Criar insights no Data Cloud, há várias maneiras de criar novos insights no Data Cloud. SQL é uma delas. Embora não seja necessário ser um especialista em SQL para criar insights, convém saber como o SQL é usado para criá-los. Este módulo aborda conceitos básicos de SQL e apresenta exemplos para ajudar você a criar insights na sua conta.
Termos para a criação de insights
Vamos começar abordando alguns termos comuns relacionados a insights.
-
Fluxos de dados: Os Fluxos de dados são origens de dados importadas para o Salesforce Data Cloud. Por exemplo, uma extensão de dados de um cliente do Marketing Cloud.
-
Objetos de modelo de dados (DMOs): Os Fluxos de dados são mapeados para um modelo de dados em conformidade com os DMOs. Os DMOs comuns incluem pedidos de vendas, parte, dados de engajamento, e assim por diante.
-
Atributos: Os atributos são campos de informações encontrados em um fluxo de dados. Por exemplo, um atributo pode ser o primeiro nome de uma pessoa ou a ID de um cliente.
-
Medidas: As medidas contêm valores agregados de atributos, como o valor total gasto ou o valor médio do pedido.
-
Dimensões: As dimensões contêm valores qualitativos que podem ser usados para categorizar uma medida. Por exemplo, se você quiser ver o valor total gasto de cada cliente, a ID do cliente pode ser uma dimensão associada à medida do valor total gasto.
-
Chave estrangeira: A chave estrangeira é uma coluna em um banco de dados relacional que oferece um vínculo entre origens de dados. Por exemplo, o número da ID de um cliente.
-
Chave totalmente qualificada: Uma chave totalmente qualificada (FQK) é uma chave composta que contém uma chave de origem, como a ID de um contato do CRM ou a ID do assinante do Marketing Cloud, e um qualificador de chave. Use chaves totalmente qualificadas para evitar conflitos de chave quando os dados de diferentes origens forem harmonizados no modelo de dados do Data Cloud.
-
Chave primária: Um identificador exclusivo selecionado pelo usuário de um registro. Por exemplo, o endereço de email de um cliente ou o SKU de um produto.
Estrutura de SQL
Agora que você está familiarizado com os termos, vamos observar as palavras-chave e a estrutura de SQL usadas para criar insights do Data Cloud. O SQL é escrito em forma de instrução ou expressão composta por palavras-chave.
Essas palavras-chave incluem:
SELECT
: Escolha o nome da API de campo do atributo e o cálculo que você deseja executar.
FROM
: Identifique o nome da API do objeto da origem de dados que você deseja pesquisar.
JOIN
(opcional): Use essa palavra-chave para também pesquisar dados de outra origem de dados usando critérios especificados como base. WHERE
(opcional): Use essa palavra-chave para incluir uma declaração condicional sobre os dados. GROUP BY
: Identifique como pretende organizar ou categorizar a medida selecionada.
Veja como a instrução SQL é escrita.
SELECT <Attributes>, <Aggregation[_Measures_]> FROM <Data Model Object> JOIN [Inner | Left | Right | Full] <Data Model Object> [Optional] WHERE <predicate on rows> [Optional] GROUP BY <columns[_Dimensions_]>
Exemplo
Veja um exemplo que consulta o valor total gasto de um cliente.
SELECT SUM(ssot__SalesOrder__dlm.ssot__GrandTotalAmount__c) AS customer_spend__c, ssot__Individual__dlm.ssot__Id__c AS customer_id__c, ssot_Individual__dlm.KQ_Id__c AS kq_customer_id__c FROM ssot__SalesOrder__dlm JOIN ssot__Individual__dlm ON (ssot__SalesOrder__dlm.ssot__SoldToCustomerId__c = ssot__Individual__dlm.ssot__Id__c) AND IFNULL(ssot__SalesOrder__dlm.KQ_SoldToCustomerId__c, ‘’) = IFNULL(ssot__Individual__dlm.KQ_Id__c, ‘’) WHERE (ssot__SalesOrder__dlm.ssot__CreatedDate__c <= date_add(current_date(), 365.0)) GROUP BY customer_id__c, kq_customer_id__c
Vamos analisar mais detalhadamente cada uma das seções.
Seção 1
SELECT SUM(ssot__SalesOrder__dlm.ssot__GrandTotalAmount__c) AS customer_spend__c, ssot__Individual__dlm.ssot__Id__c AS customer_id__c, ssot_Individual__dlm.KQ_Id__c AS kq_customer_id__c
O que faz: Define as informações que você está procurando (gasto do cliente) e como você deseja agregar essa medida (soma). Quando uma métrica (gasto do cliente) é calculada, ela é armazenada como uma medida customer_spend__c no sistema. E
Seção 2
FROM ssot__SalesOrder__dlm
O que faz: Identifica a fonte dos dados (um DMO de pedido de vendas).
Seção 3
JOIN ssot__Individual__dlm ON (ssot__SalesOrder__dlm.ssot__SoldToCustomerId__c = ssot__Individual__dlm.ssot__Id__c) AND IFNULL(ssot__SalesOrder__dlm.KQ_SoldToCustomerId__c, ‘’) = IFNULL(ssot__Individual__dlm.KQ_Id__c, ‘’)
O que faz: Combina os dados de outro DMO (um DMO individual) com o DMO do pedido de vendas. ON determina o ponto de conexão ou chave estrangeira entre seus DMOs. Neste exemplo, a chave estrangeira entre os dois DMOs inclui dois campos: a ID da parte e o campo do qualificador de chave do DMO SalesOrder, e a ID e o campo do qualificador de chave correspondente do DMO Individual. A inclusão dos atributos do qualificador de chave na junção de tabelas garante a exatidão dos dados. Use a função ISNULL() caso os qualificadores de chave não tenham sido configurados em todos os DLOs subjacentes. Pode haver uma mistura de espaços em branco e IFNULL() criará consistência para melhorar a exatidão de JOIN.
Seção 4
WHERE ssot__SalesOrder__dlm.ssot__CreatedDate__c <= date_add(current_date(), 365.0))
O que faz: Identifica quais dados você deseja ou não incluir. Neste exemplo, a consulta não deve incluir clientes que gastaram dinheiro em mais de 365 dias a partir da data atual.
Seção 5
GROUP BY customer_id__c, kq_customer_id__c
O que faz: Determina a dimensão ou a forma como você pretende agrupar seus dados (por ID de cliente e por atributo do qualificador chave da ID de cliente).
Objetos de modelo de dados
A primeira parte da expressão SQL se concentra na seleção de atributos e medidas baseada em um objeto de modelo de dados (DMO). Portanto, é fundamental conhecer seu modelo de dados. Vamos rever alguns DMOs comuns e os atributos mensuráveis associados.
DMO
|
Como ele é usado
|
Exemplo de atributo mensurável
|
---|---|---|
Parte |
Define com quem você tem relacionamentos, geralmente clientes. A parte inclui perfis individuais unificados, que são frequentemente usados em insights calculados. |
|
Produto |
Define tudo que você planeja vender ou qualquer parte de um produto que será rastreada para fins de assistência técnica. |
|
Pedido de vendas |
Define receita, oportunidades, compras e pedidos de vendas. |
|
Dados de engajamento |
Define as interações ou atividades dos clientes, normalmente relacionadas ao engajamento por email. |
|
Dados do caso |
Define problemas registrados ou tíquetes de suporte. |
|
Funções do SQL
Você aprendeu sobre termos, estrutura e dados do SQL. Chegou a hora de adicionar funções mais complexas para consultar e manipular ainda mais os dados. Vamos rever algumas funções disponíveis com mais detalhes.
Junções SQL
Para entender as junções SQL, vamos analisar quais dados seriam apresentados na sua consulta baseados no tipo de junção. Usamos dois exemplos de DMOs para descrever os quatro tipos de junção a seguir.
- DMO 1: Pedido de vendas
- DMO 2: Clientes individuais
JOIN ou INNER JOIN
|
LEFT JOIN
|
RIGHT JOIN
|
FULL JOIN
|
|
---|---|---|---|---|
Descrição
|
Retornar registos que tenham valores correspondentes nos dois DMOs. |
Excluir os registos que não queremos do DMO 2. |
Excluir os registos que não queremos do DMO 1. |
Devolver todos os registros correspondentes dos dois DMOs. |
Resultado
|
Pedidos de vendas específicos para clientes específicos. |
Todos os pedidos de vendas e pedidos de vendas para clientes específicos. |
Todos os clientes e alguns pedidos de vendas para clientes específicos. |
Todos os pedidos de vendas e todos os clientes, incluindo alguns registros correspondentes. |
Caso
Outra função SQL comum é a instrução CASE, que pode ser usada para criar novas dimensões. A instrução CASE pode ser usada para retornar um valor quando uma condição é atendida.
SELECT CASE WHEN SUM(SALESORDER__dlm.grand_total_amount__c) < 100 THEN 'Low Spender' End as Spend_Type__c
O que faz: Quando um cliente gasta menos de US$ 100, ele é identificado como um cliente que gasta pouco. Quando uma condição é verdadeira, a leitura é interrompida e o resultado é retornado. Se nenhuma condição for verdadeira, o valor da cláusula ELSE será retornada. Se não houver uma parte ELSE e nenhuma condição for verdadeira, NULL será retornado.
Funções de formatação
Às vezes, é necessário realizar algumas funções de limpeza antes de criar o insight calculado final. Você pode fazer isso com funções de formatação. Veja um exemplo de uso da função ROUND para arredondar um valor para uma casa decimal especificada.
Veja a sintaxe específica dessa função.
ROUND(expression, number of decimal places)
Veja um exemplo de uso dessa expressão para arredondar um pedido de vendas.
SELECT ROUND(Salesorder_dlm.total_amount, 2)
O que faz: Em vez de ter o total de gastos de um cliente exibido como US$ 143,5555. Essa função arredondaria o total para 2 casas decimais e o resultado seria US$ 143,55.
Mais funções
Há muitas outras funções que podem ser adicionadas às instruções SQL para refinar ainda mais os resultados. Convém identificar seu caso de uso e, em seguida, analisar as possíveis funções que poderão levar você aos dados desejados.
Analisar exemplos
Agora que você já entende os conceitos básicos de SQL e conhece a estrutura, vamos dar uma olhada em alguns exemplos na próxima unidade para ajudar você a resolver seus próprios casos de uso.
Recursos
- Ajuda do Salesforce: Insights calculados
- Ajuda do Salesforce: Como usar instruções ANSI SQL no Data Cloud
- Ajuda do Salesforce: Regras gerais de SQL nos insights calculados
- Ajuda do Salesforce: Objetos de link unificado e relacionamentos com objetos unificados
- Externo: Salesforce GitHub, insights calculados do Data Cloud
Voltar ao topo