Traduzir consultas SQL no Commerce Intelligence
Você já se perguntou como as consultas SQL são traduzidas nas colunas calculadas, métricas e relatórios usados em Commerce Intelligence? Se você for um usuário de SQL pesado, entender como o SQL é traduzido no Commerce Intelligence permite que você trabalhe de forma mais inteligente no Data Warehouse Manager e aproveite ao máximo a plataforma Commerce Intelligence.
No final deste tópico, você encontrará uma matriz de tradução para cláusulas de consulta SQL e elementos Commerce Intelligence.
Comece observando uma consulta geral:
SELECTa,group bySUM(b)Aggregate function (coluna)FROM cSourceWHEREd IS NOT NULLFilterAND time < XAND time >= Ytime frameGROUP BY agroup byEsse exemplo abrange a maioria dos casos de tradução, mas há algumas exceções. Aprofunde-se, começando com a forma como a função aggregate é traduzida.
Funções agregadas
As funções agregadas (por exemplo, count, sum, average, max, min) nas consultas assumem a forma de agregações de métrica ou agregações de coluna em Commerce Intelligence. O fator de diferenciação é se uma junção é necessária para executar a agregação.
Veja um exemplo de cada uma das opções acima.
Agregações de métricas aggregate
Uma métrica é necessária ao agregar within a single table. Por exemplo, a função de agregação SUM(b) da consulta acima provavelmente seria representada por uma métrica que soma a coluna B.
Veja um exemplo específico de como uma métrica Total Revenue pode ser definida em Commerce Intelligence. Observe a consulta abaixo que você tenta traduzir:
SELECTSUM(order_total) as "Total Revenue"Metric operation (coluna)FROM ordersMetric sourceWHEREemail NOT LIKE '%@magento.com'filterAND created_at < XAND created_at >= Ytimestamp (e relatórios time range)Navegue até o construtor de métricas clicando em Manage Data > Métricas > Criar nova métrica, primeiro selecione a tabela source apropriada, que, nesse caso, é a tabela orders. Em seguida, a métrica será configurada conforme mostrado abaixo:
Agregações de colunas
Uma coluna calculada é necessária ao agregar uma coluna unida a partir de outra tabela. Por exemplo, você pode ter uma coluna incorporada na tabela customer chamada Customer LTV, que soma o valor total de todos os pedidos associados a esse cliente na tabela orders.
A consulta para essa agregação pode ser semelhante ao mostrado abaixo:
Selectc.customer_idSUM(o.order_total) as "Customer LTV"FROM customers cJOIN orders oON c.customer_id = o.customer_idWHERE o.status = 'success'A configuração no Commerce Intelligence requer o uso do gerenciador do Data Warehouse, no qual você cria um caminho entre a tabela orders e a tabela customers e, em seguida, cria uma coluna chamada Customer LTV na tabela do cliente.
Veja como estabelecer um novo caminho entre customers e orders. O objetivo final é criar uma nova coluna agregada na tabela customers, portanto, primeiro navegue até a tabela customers em sua Data Warehouse e clique em Create a Column > Selecionar uma definição > SOMA.
Em seguida, é necessário selecionar a tabela de origem. Se existir um caminho para a tabela orders, basta selecioná-lo na lista suspensa. No entanto, se você estiver criando um novo caminho, clique em Create new path e a tela abaixo será exibida para você:
Aqui, é necessário considerar cuidadosamente a relação entre as duas tabelas que você está tentando unir. Nesse caso, há potencialmente Many pedidos associados ao cliente One, portanto, a tabela orders está listada no lado Many, enquanto a tabela customers está selecionada no lado One.
path é equivalente a um Join no SQL.Depois que o caminho for salvo, você poderá criar a coluna Customer LTV! Consulte abaixo:
Agora que você criou a nova coluna Customer LTV na tabela customers, está pronto para criar uma agregação de métrica usando essa coluna (por exemplo, para encontrar o LTV médio por cliente). Você também pode group by ou filter pela coluna calculada em um relatório usando as métricas existentes criadas na tabela customers.
filter ou group by.Consulte criando colunas calculadas com seu Data Warehouse Manager.
Group By cláusulas
Group By funções em consultas geralmente são representadas em Commerce Intelligence como uma coluna usada para segmentar ou filtrar um relatório visual. Como exemplo, vamos rever a consulta Total Revenue explorada anteriormente, mas dessa vez segmentar a receita por coupon\_code para obter uma melhor compreensão de quais cupons estão gerando mais receita.
Comece com a consulta abaixo:
SELECT coupon_code,group bySUM(order_total) as "Total Revenue"Metric operation(coluna)FROM ordersMetric sourceWHEREemail NOT LIKE '%@magento.com'filterAND created_at < '2016-12-01'AND created_at >= '2016-09-01'timestamp (e relatórios time range)GROUP BY coupon_codegroup byUsando a mesma métrica Total Revenue criada anteriormente, você está pronto para criar seu relatório de receita segmentada por código de cupom! Observe o gif abaixo, que mostra como configurar este relatório visual analisando os dados de setembro a novembro:
Fórmulas
Às vezes, um query pode envolver várias agregações para calcular a relação entre colunas separadas. Por exemplo, você pode calcular o valor médio de pedido em um query de uma das duas formas a seguir:
AVG('order\_total')OUSUM('order\_total')/COUNT('order\_id')
O método anterior envolveria a criação de uma nova métrica que executa uma média na coluna order\_total. No entanto, o último método pode ser criado diretamente no construtor de relatórios, assumindo que você já tem métricas configuradas para calcular o Total Revenue e Number of orders.
Recue um passo e examine a consulta geral para Average order value:
SELECTSUM(order_total) as "Total Revenue"operation (coluna)COUNT(order_id) as "Number of orders"operation (coluna)SUM(order_total)/COUNT(order_id) as "Average order value"operation (coluna) / Operação de métrica (coluna)FROM orderssourceWHEREemail NOT LIKE '%@magento.com'filterAND created_at < '2016-12-01'AND created_at >= '2016-09-01'Agora suponha que você já tenha métricas configuradas para calcular o Total Revenue e o Number of orders. Como essas métricas existem, você pode simplesmente abrir o Report Builder e criar um cálculo sob demanda usando o recurso Formula:
Encapsulamento
Se você for um usuário de SQL pesado, pensar em como as consultas são traduzidas no Commerce Intelligence permite que você crie colunas calculadas, métricas e relatórios.
Para referência rápida, consulte a matriz abaixo. Isso mostra um elemento Commerce Intelligence equivalente da cláusula SQL e como ele pode mapear para mais de um elemento, dependendo de como ele é usado na consulta.
Elementos do Commerce Intelligence
SQL ClauseMetricFilterReport group byReport time framePathCalculated column inputsSource tableSELECTFROMWHEREWHERE (com elementos de tempo)JOIN...ONGROUP BY