Criar uma Coluna Calculada de SQL
Este tópico descreve a finalidade e os usos do tipo de coluna Calculation, que pode ser adicionado às tabelas usando o Data Warehouse Manager. Abaixo, explica o que os cálculos SQL fazem, por que eles são usados, o processo para criar um cálculo SQL e inclui dois exemplos.
Explicação
Antigamente, as colunas consideradas advanced só podiam ser feitas por um analista da equipe de Sucesso do cliente aqui em Adobe Commerce Intelligence. Agora todo o poder está nas mãos do usuário final, e colunas avançadas podem ser criadas no formato de SQL Calculation colunas na nova arquitetura Commerce Intelligence.
O tipo de coluna Calculation, agora disponível como uma opção no Data Warehouse Manager, é uma mesma operação de tabela que permite transformar as colunas em uma tabela usando a lógica PostgreSQL. A documentação sobre as funções e operadores que podem ser usados no tipo de coluna Calculation pode ser encontrada no site PostgreSQL aqui.
As diferentes colunas que podem ser criadas com a coluna Calculation são quase ilimitadas, mas a maioria das colunas pode ser criada usando instruções IF-THEN e aritmética básica, que é usada nos exemplos abaixo.
Exemplo 1: é o último pedido do cliente?
A maioria das contas tem uma coluna chamada Is customer's last order? na tabela orders para executar análises em taxas de compra repetidas e clientes com churn. Se sua conta estiver na nova arquitetura, essa coluna será criada usando uma coluna Calculation e poderá ser vista na captura de tela abaixo:
A coluna Is customer's last order? usa as entradas Customer's lifetime number of orders e Customer's order number com alias como A e B, respectivamente.
Linha por linha, o significado do PostgreSQL é:
- case: inicia uma série de instruções If - Then
- quando
Aé nulo ouBé nulo então nulo: Se qualquer entrada estiver vazia, então a saída também deve estar vazia. Isso é para evitar erros de SQL - quando
A=BentãoYes: seCustomer's lifetime number of ordersfor igual aCustomer's order numberpara esta linha, então retorneYes. Portanto, se um cliente tiver feito quatro pedidos, a linha referente à quarta ordem retornaráYesparaIs customer's last order? - else
No: Se nenhuma das outras instruções when for atendida, retornarNo - end: Isso encerra as instruções If - Then
Os valores possíveis que podem ser retornados por esta coluna (NULL, Yes, No) contêm caracteres não numéricos, portanto, o tipo de dados aqui é String.
Exemplo 2: valor total do item da ordem (quantidade * preço)
Muitos clientes gostam de analisar a receita no nível do item, fatiando-a por campos como product name ou category. A maioria dos bancos de dados não fornece a receita de um produto em um pedido; em vez disso, eles fornecem a quantidade vendida no pedido e o preço do item.
Para habilitar análises de receita de produtos, a maioria das contas tem uma coluna chamada Order item total value (quantity * price) na tabela Orders Items. Se sua conta estiver na nova arquitetura, essa coluna também será criada usando uma coluna Calculation e poderá ser vista na captura de tela abaixo:
No esquema Commerce, a coluna Order item total value (quantity * price) usa as entradas qty ordered e base price com alias como A e B, respectivamente.
Os valores retornados por esta nova coluna estão em dólares e centavos, portanto, o tipo de dados correto é Decimal(10,2).
Mecânica
Uma nova coluna Calculation pode ser adicionada a uma tabela navegando até Manage Data > Data Warehouse como mostrado abaixo:
Aqui, você pode criar uma coluna Calculation seguindo as etapas abaixo:
-
Selecione a tabela na qual você deseja adicionar a coluna
Calculation. -
Enquanto estiver na tabela correta, clique em Create New Column na parte superior direita da tela.
-
Na lista suspensa
Select a definition, selecioneSame Table. -
Selecione
Calculationcomocolumn definition equation. -
Insira o nome da coluna.
-
Escolha as
inputcolunas da tabela que são usadas na lógica da nova coluna. Cada coluna adicionada recebe um alias de letra, de modo que a primeira coluna éA, a segunda éBe assim por diante. -
Na janela, digite a lógica do PostgreSQL para a nova coluna usando os aliases de letra das entradas. O cálculo SQL deve ser limitado a uma única definição de coluna, incluindo toda a lógica entre as instruções SELECT e FROM de uma consulta SQL. As palavras-chave SQL que usam qualquer uma das letras de entrada devem estar em minúsculas. Por exemplo, ao usar a instrução
CASE, ela deve ser gravada em minúsculas -case. O sistema presume que umAmaiúsculo se refere a uma das entradas. -
Escolha o tipo de dados apropriado.
Integer- Número inteiroDecimal(10,2)- um número decimal com 10 dígitos totais, dos quais 2 estão à direita do ponto decimalString- Qualquer tipo de texto ou série de caracteres que use números não numéricosDatetime- Formatoyyyy-MM-dd hh:mm:ss
-
Clique em test column. Isso gera uma lista de cinco valores de teste para cada uma de suas entradas e mostra o resultado da lógica da etapa 6 para cada conjunto de valores de teste. Se qualquer parte do SQL gerar um erro, a mensagem de erro apropriada será retornada. Os resultados de amostra só podem ser gerados se todas as colunas de entrada forem campos nativos. Se qualquer uma das colunas de entrada for calculada, você deverá validar os resultados adicionando a coluna a uma métrica e exibindo no Visual Report Builder
-
Quando estiver satisfeito com os resultados, clique em Save. A coluna ativa para uso.