- Antes de começar
- Introdução
- Integrações
- Como trabalhar com aplicativos de processo
- Como trabalhar com painéis e gráficos
- Como trabalhar com gráficos de processo
- Trabalhando com Descubra modelos de processo e Importar modelos BPMN
- Como mostrar ou ocultar o menu
- Informações de contexto
- Exportar
- Filtros
- Envio de ideias de automação ao UiPath® Automation Hub
- Tags
- Datas de conclusão
- Comparar
- Verificação de conformidade
- Análise de causa raiz
- Simulação de Potencial de Automação
- Como disparar uma automação a partir de um aplicativo de processo
- Exibição de dados do processo
- Criação de aplicativos
- Carregamento de dados
- Transforming data
- Estrutura das transformações
- Dicas para escrever SQL
- Exportando e importando transformações
- Visualização dos logs de execução de dados
- Mesclando logs de evento
- Configuração de tags
- Configuração de datas de vencimento
- Configuração de campos para Potencial de automação
- Disponibilização das transformações em painéis
- Personalização de painéis
- Publicação de painéis
- Modelos de apps
- Notificações
- Recursos adicionais
Diferenças de sintaxe SQL entre o Snowflake e o SQL Server no Process Mining no Automation Suite, relevantes ao desenvolver transformações em um ambiente local.
SQL Server vs. Snowflake
Em um ambiente de desenvolvimento local, as transformações são executadas no SQL Server, enquanto que o Snowflake é usado no Process Mining Automation Suite. Embora a maioria das instruções SQL funcione tanto no SQL Server quanto no Snowflake, pode haver pequenas diferenças na sintaxe, o que pode levar a resultados com retornos diferentes.
Para escrever instruções SQL que funcionem em ambos os sistemas de banco de dados:
- Escreva os nomes dos campos entre aspas duplas, por exemplo
Table."Field". - Evite o uso de funções SQL diferentes no Snowflake e no SQL Server, por exemplo
string_agg()elistagg().
O pacote pm_utils vem com um conjunto de funções que funcionam em ambos os tipos de banco de dados, consulte Vários bancos de dados. Por exemplo, em vez de usar string_agg() ou listagg(), pm_utils.string_agg() resultará no mesmo comportamento para ambos os bancos de dados. Se pm_utils não contiver a função desejada, uma instrução Jinja deverá ser criada para garantir que a função correta seja chamada em cada banco de dados.
Concatenação de strings
Para combinar strings, use a função pm_utils.concat() . Isso produzirá os mesmos resultados para SQL Server e Snowflake.
Exemplo: pm_utils.concat("This is a nice string", null) = "This is a nice string" A concatenação de strings não deve ser feita com operadores como + ou ||, pois são diferentes para ambos os bancos de dados (Snowflake usa || e SQL Server usa +). Além disso, a função concat() padrão tem comportamento diferente em ambos os sistemas:
| SQL Server | Snowflake |
|---|---|
null os valores serão ignorados e tratados como uma string vazia. | null os valores farão com que todo o resultado seja null. |
Ordenação
A classificação é tratada de forma diferente no Snowflake e no SQL Server.
Exemplo: ... order by "Attribute_1" desc, "Attribute_2" ...
Valores nulos
| SQL Server | Snowflake |
|---|---|
null o padrão será ordenado primeiro (crescente) | null o padrão será classificado por último (crescente) |
Manuseio de letras maiúsculas
| SQL Server | Snowflake |
|---|---|
| as maiúsculas são classificadas como esperado (AaBbCc) | primeiro classifica por maiúsculas, depois por não maiúsculas (ABCabc) |
Dashes
Exemplo: -Accountant-
| SQL Server | Snowflake |
|---|---|
| travessões são ignorados na classificação (portanto, '-Contador-' é tratado da mesma forma que 'Contador') | os traços serão classificados no topo |
Manuseio de espaço em branco
Quando você agrupa por valores “A“ e “ A“, isso é visto como um valor no SQL Server, mas como dois valores diferentes no Snowflake. Portanto, o corte é recomendado se seus dados puderem causar esse problema.
Diferenciação de maiúsculas e minúsculas
Por padrão, o SQL Server não diferencia maiúsculas de minúsculas, enquanto o Snowflake diferencia maiúsculas de minúsculas. Isso significa que Table."Field" = "Some_value" e Table."Field" = "SOME_VALUE" retornarão o mesmo conjunto de resultados no SQL Server, mas possivelmente dois conjuntos de resultados diferentes no Snowflake.
É recomendável alterar o comportamento do banco de dados local do SQL Server para corresponder ao comportamento do Snowflakes, a fim de evitar problemas. Isso pode ser feito definindo o agrupamento do banco de dados para um valor que diferencia maiúsculas de minúsculas.