Loading
About Salesforce Data 360
Regras SQL para Insights

Regras SQL para Insights

Quando você escreve SQL para insights calculados ou de streaming no Data 360, as regras regem como cada cláusula é interpretada e quais restrições se aplicam. Você também pode integrar uma subconsulta aninhada a uma cláusula WHERE ou JOIN para restringir quais linhas a consulta externa retorna.

Edições obrigatórias

Disponível em: Todas as edições suportadas pelo Data 360. Consulte Disponibilidade da edição do Data 360.

Consultar regras por cláusula

Cláusula Regra
Geral Os nomes de DMO diferenciam maiúsculas de minúsculas. Verifique se as referências de DMO em seu SQL correspondem ao maiúsculas e minúsculas mostrado na coluna Nome da API do objeto na guia Modelo de dados.
Uma consulta deve conter pelo menos uma medida. Uma medida é qualquer campo agrupado em uma função de agregação.
Qualquer atributo na cláusula SELECT que não esteja dentro de uma função de agregação é tratado como uma dimensão e deve aparecer na cláusula GROUP BY.
Não é possível agregar dentro de uma agregação.
Não é possível usar DISTINCT em uma consulta de nível superior.
Você pode usar comentários multilinha (/* */).
SELECT O alias de uma dimensão não pode corresponder ao nome original do campo. Por exemplo, UnifiedIndividual__dlm.Id__c as customer_id__c é válido, mas UnifiedIndividual__dlm.Id__c as Id__c causa erro.
Você deve usar TRY_CONVERT_CURRENCY na cláusula SELECT quando sua percepção incluir um campo de moeda.
WHERE A cláusula WHERE não pode conter uma expressão agregada.
A cláusula WHERE não pode fazer referência a um alias de dimensão ou medida.
GROUP BY A cláusula GROUP BY deve ser uma expressão não agregada que use aliases.
A cláusula GROUP BY pode fazer referência a um alias de dimensão, mas o alias não pode fazer parte de uma expressão.
A cláusula GROUP BY não pode incluir um alias de medida ou uma função agregada.
ORDER BY ORDER BY não é permitido em uma instrução SELECT de nível superior.
RANK PARTION BY e ORDER BY dentro de uma função RANK podem ser expressões agregadas ou não agregadas.
Uma cláusula RANK que contém uma expressão agregada é tratada como uma medida.
As medidas produzidas pela RANK não são agregáveis. Você deve fornecer todas as dimensões definidas ao consultá-las.
CASE Uma expressão CASE que contém uma função agregada é tratada como uma medida.
As medidas produzidas pela CASE(WHEN <aggregate>) não são agregáveis. Você deve fornecer todas as dimensões definidas ao consultá-las.
Para comparar os resultados de funções agregadas, use uma instrução CASE WHEN. A comparação booleana não oferece suporte a funções agregadas. Por exemplo, em vez de WHEN SUM(amount) > 100, use CASE WHEN SUM(amount) > 100 THEN ... END.
Campos de data Ao filtrar uma string vazia em um campo de data, use um valor nulo.

Subconsultas aninhadas

Uma subconsulta é uma consulta integrada dentro de outra consulta, geralmente em uma cláusula WHERE ou JOIN. Use uma subconsulta para retornar dados que restrinjam quais linhas a consulta externa recupera.

Por exemplo, essa consulta calcula a média dos totais do pedido de vendas para clientes nascidos após 1980.

SELECT
  avg(SalesOrder__dlm.GrandTotalAmount__c) as avg__c,
  SubQuery1.Id as customer_id__c
FROM SalesOrder__dlm
JOIN (
  SELECT Individual__dlm.Id__c as Id
  FROM Individual__dlm
  WHERE year(Individual__dlm.BirthDate__c) > 1980
) as SubQuery1
ON SalesOrder__dlm.SoldToCustomerId__c = SubQuery1.Id
GROUP BY customer_id__c;
 
Carregando
Salesforce Help | Article