Openflow Connector for Salesforce Bulk API: Campos de fórmula do Salesforce¶
Nota
O conector está sujeito aos Termos do conector Snowflake.
Este tópico descreve como o Openflow Connector for Salesforce Bulk API converte campos de fórmula do Salesforce em exibições do Snowflake SQL, incluindo funções e limitações compatíveis.
Como funcionam as exibições de fórmula¶
Quando Enable Views Creation está definido como true, o conector executa o seguinte para cada objeto que tem campos de fórmula:
Recupera as expressões de fórmula dos metadados do objeto Salesforce por meio da Describe API.
Analisa cada expressão de fórmula e a converte no Snowflake SQL equivalente.
Gera uma instrução
CREATE OR REPLACE VIEWque combina colunas que não são de fórmula da tabela base com as expressões de fórmula convertidas como colunas computadas.Executa DDL no Snowflake para criar ou atualizar a exibição.
A exibição resultante é chamada <Object Type>_FORMULA_VW. Por exemplo, o objeto Account produz uma exibição chamada ACCOUNT_FORMULA_VW. Você pode consultar essa exibição para obter valores de campos de fórmula junto com os dados replicados.
A exibição é atualizada automaticamente sempre que o conector detecta alterações de esquema no objeto de origem, garantindo que as definições da fórmula permaneçam sincronizadas com o Salesforce.
Campos de fórmula entre objetos¶
As fórmulas do Salesforce podem fazer referência a campos de objetos relacionados usando uma travessia de relacionamento (por exemplo, Account.Owner.Name). O conector oferece suporte a essas referências entre objetos gerando cláusulas LEFT JOIN na definição da exibição. Cada travessia de relacionamento produz uma junção com a tabela relacionada correspondente no Snowflake.
Para que as fórmulas entre objetos funcionem corretamente, os objetos relacionados também devem ser replicados pelo conector. O conector não verifica se as tabelas referenciadas existem no Snowflake no momento da conversão. Se um objeto relacionado não estiver sendo sincronizado, a instrução CREATE OR REPLACE VIEW gerada fará referência a uma tabela que não existe no Snowflake, e haverá falha na criação da exibição. Para resolver isso, certifique-se de que todos os objetos relacionados referenciados por campos de fórmula sejam incluídos no parâmetro Filter. A exibição é recriada automaticamente na próxima execução do conector após a existência das tabelas referenciadas.
Comentários de coluna da exibição de fórmula¶
Cada coluna de fórmula na exibição gerada inclui uma anotação SQL COMMENT:
Para fórmulas convertidas com sucesso, o comentário contém a expressão da fórmula original do Salesforce.
Para fórmulas que não puderam ser convertidas, o comentário contém o código de motivo da falha.
É possível inspecionar esses comentários executando DESCRIBE VIEW <view_name> no Snowflake.
Funções de fórmula compatíveis¶
As seguintes funções de fórmula do Salesforce são convertidas no Snowflake SQL equivalente:
Categoria |
Função do Salesforce |
Equivalente do Snowflake |
|---|---|---|
Lógico |
|
|
Lógico |
|
|
Lógico |
|
|
Tratamento de nulos |
|
|
Tratamento de nulos |
|
|
Tratamento de nulos |
|
|
Tratamento de nulos |
|
|
Texto |
|
|
Texto |
|
|
Texto |
|
|
Texto |
|
|
Texto |
|
|
Texto |
|
|
Texto |
|
|
Texto |
|
|
Texto |
|
|
Texto |
|
|
Texto |
|
|
Texto |
|
|
Texto |
|
|
Texto |
|
Literal de caractere de nova linha |
Conversão |
|
|
Conversão |
|
|
Matemática |
|
|
Matemática |
|
|
Matemática |
|
|
Matemática |
|
|
Matemática |
|
|
Matemática |
|
|
Matemática |
|
|
Matemática |
|
|
Matemática |
|
|
Matemática |
|
|
Matemática |
|
|
Data e hora |
|
|
Data e hora |
|
|
Data e hora |
|
|
Data e hora |
|
|
Data e hora |
|
|
Data e hora |
|
|
Data e hora |
|
|
Data e hora |
|
|
Lista de seleção |
|
|
Além das funções, os seguintes operadores são compatíveis:
Aritmética:
+,-,*,/,^(exponenciação, convertido emPOWER)Comparação:
=,==,!=,<>,<,<=,>,>=Lógica:
AND,OR,&&,||Concatenação de cadeia de caracteres:
&(convertido em||com tratamento de nulosCOALESCE)Unário:
-(negação),NOT
Constructos de fórmula incompatíveis¶
Os seguintes constructos de fórmula ainda não são compatíveis. O suporte para funções e constructos adicionais será incluído em versões futuras. Quando uma fórmula usa qualquer um deles, a coluna correspondente na exibição retorna NULL, e o comentário da coluna indicam o motivo da falha.
Motivo da falha |
Descrição |
|---|---|
|
A fórmula usa uma função que não tem equivalente no Snowflake ou que é específica da UI do Salesforce. Isso inclui: |
|
A fórmula faz referência a uma variável global do Salesforce, como |
|
A fórmula faz referência a outro campo de fórmula. Referências de fórmulas encadeadas (um campo de fórmula que depende de outro campo de fórmula) não são compatíveis. |
|
Trata-se de um campo de resumo acumulado em vez de um campo de fórmula. Os resumos acumulados agregam dados de registros filho e não podem ser expressos como uma simples exibição SQL. |
|
A fórmula faz referência a um relacionamento que não pode ser resolvido usando os metadados do objeto Salesforce. Geralmente, isso ocorre quando o nome do relacionamento na fórmula não corresponde a nenhum relacionamento conhecido no objeto. |
|
A fórmula contém um ID do Salesforce de 15 caracteres embutido em código. O Salesforce usa IDs de 15 caracteres internamente, mas a Bulk API retorna IDs de 18 caracteres. Não é possível converter fórmulas com IDs de 15 caracteres embutidos em código de maneira confiável. |
|
A fórmula faz referência a um campo composto (como |
|
A expressão de fórmula não pôde ser analisada. Isso pode indicar uma sintaxe que o conector ainda não reconhece. |
|
A fórmula usa um constructo de sintaxe que é reconhecido, mas não pode ser convertido (por exemplo, uma função |