Usar o editor de consulta do ShopifyQL
Use o ShopifyQL com as novas Análises da Shopify para explorar seu próprio banco de dados comercial e recuperar os dados que oferecem um entendimento mais profundo dos seus negócios.
O ShopifyQL, ou a linguagem de consulta da Shopify, foi criado para e-commerce. As linguagens de consulta são usadas para solicitar e recuperar dados do banco de dados. Os dados da sua loja são armazenados em tabelas de banco de dados, estruturadas em colunas e linhas definidas. As colunas definem o tipo de informação que contêm, como vendas, e as linhas especificam o valor real do tipo de dados, como US$ 2.450 em vendas.
Para recuperar seus dados em um formato significativo, uma consulta precisa ser enviada ao banco de dados. Uma consulta é uma pergunta que está pedindo dados específicos como resposta, feita de palavras-chave e seus respectivos parâmetros. A combinação de várias palavras-chave com parâmetros específicos cria a consulta. Depois de criar a consulta, você pode executá-la e receber um relatório.
Nesta página
Glossário de termos
Termo | Definição |
---|---|
Dimensão | Atributo que segmenta dados para classificação e apresentação mais clara. Alguns exemplos comuns: tempo, produtos e lugares. As dimensões são usadas como parâmetros na ShopifyQL. |
Palavra-chave | Sintaxe da ShopifyQL que funciona como um comando para direcionar a consulta. |
Métrica | Medida quantitativa para dados. Alguns exemplos comuns: total de vendas, número de pedidos e receita bruta. |
Parâmetro | Sintaxe da ShopifyQL que identifica os elementos ou informações do banco de dados a serem incluídos na consulta. |
Operador | Uma palavra ou caractere reservado usado como parte de uma consulta. Os exemplos incluem STARTS WITH , >= ou last_week . |
Sintaxe do ShopifyQL
Você precisa atender aos seguintes requisitos ao criar uma consulta de relatório válida usando o ShopifyQL:
- Você pode colocar uma consulta inteira em uma linha ou em linhas separadas.
- É preciso incluir pelo menos as palavras-chave
FROM
eSHOW
com os parâmetros adequados. Todas as outras palavras-chave e parâmetros são opcionais. - Todas as palavras-chave de uma consulta precisam estar incluídas na seguinte ordem:
-
FROM
-
SHOW
-
WHERE
-
GROUP BY
-
WITH
TOTALS
,GROUP_TOTALS
,PERCENT_CHANGE
-
TIMESERIES
-
HAVING
-
SINCE
eUNTIL
ouDURING
-
COMPARE TO
e (opcional)UNTIL
-
ORDER BY
-
LIMIT
-
VISUALIZE
eTYPE
-
Este é um exemplo de ShopifyQL, escrito como uma consulta usando a sintaxe correta. As palavras-chave estão em negrito, seus parâmetros correspondentes estão incluídos usando marcadores de posição genéricos, e os parâmetros opcionais estão entre colchetes:
Palavras-chave do ShopifyQL
Uma consulta que use a ShopifyQL pode ser básica (para insights de dados gerais) ou abrangente (para insights mais detalhados). Vale lembrar que cada palavra-chave tem uma função específica que compõe a consulta.
Palavra-chave | Descrição |
---|---|
FROM | Especifica a tabela de conjunto de dados que vai fornecer os dados. |
SHOW | Seleciona as colunas a serem extraídas da tabela de conjuntos de dados. |
WHERE | Define as condições que as linhas precisam cumprir para serem selecionadas. |
GROUP BY | Agrupa os dados extraídos por uma dimensão ou dimensões de tempo. |
WITH | Modifica o comportamento de determinadas palavras-chave do ShopifyQL. |
TIMESERIES | Distingue o agrupamento por dimensões do tempo e completa datas em uma consulta. |
HAVING | Filtra os resultados de uma consulta depois de agrupados. |
SINCE | Mostra os dados desde um tempo especificado no passado. Costuma ser emparelhado com UNTIL . |
UNTIL | Mostra os dados até determinado momento no passado. Costuma ser com SINCE ou COMPARE TO . |
DURING | Mostra dados durante um momento específico no passado. |
COMPARE TO | Mostra os dados para comparação com um tempo especificado no passado. |
ORDER BY | Especifica a coluna a ser usada para classificar os dados. |
LIMIT | Limita o número de linhas de dados exibidas. |
VISUALIZE | Exibe seus dados em uma visualização de linha ou barra. Você pode especificar qual visualização deseja usar com TYPE . |
AS | Uma palavra-chave opcional que renomeia uma coluna para um nome de sua escolha. |
FROM e SHOW
Você só precisa de duas palavras-chave para criar a consulta mais simples no ShopifyQL: FROM
e SHOW
, exatamente nessa ordem. FROM
, seguida por um ou mais parâmetros de nome de tabela, especifica quais tabelas você quer consultar. SHOW
, seguida de qualquer número de parâmetros de nome de coluna, especifica as colunas que você quer selecionar.
SHOW
pode ser usada para especificar a ordem em que as métricas e as dimensões são devolvidas no relatório.
Por exemplo, você pode devolver a soma do total de vendas escrevendo esta consulta:
WHERE
A palavra-chave WHERE
permite que você aplique um filtro dimensional a uma consulta inteira do ShopifyQL. O filtro pode ser modificado por operadores de comparação (maior que >
), operadores lógicos (como AND
ou NOT
), e correspondência parcial de string e matriz (como STARTS WITH
e CONTAINS
).
WHERE
: as condições da palavra-chave precisam atender aos seguintes requisitos:
- Os valores precisam ser envolvidos em aspas simples (') e não em aspas duplas (").
- As condições não podem conter aritmética.
- As condições só podem referenciar uma dimensão, não uma métrica.
Por exemplo, se você deseja devolver o total de vendas, mas filtrado com base no país de faturamento, sua consulta será:
Por exemplo, no exemplo acima, você pode filtrar o resultado definido com o parâmetro WHERE
mesmo quando esse parâmetro não estiver incluído na palavra-chave SHOW
. Nesse caso, o total de vendas é filtrado apenas para pedidos do Canadá, mesmo que billing_country
não seja incluído no conjunto de resultados.
Operadores de comparação
A palavra-chave WHERE
usa operadores de comparação para filtrar dados. No exemplo acima, =
foi usada para especificar que a consulta filtra um determinado valor. No entanto, há outros operadores disponíveis:
Operador de comparação | Descrição |
---|---|
= | igual a |
!= | diferente de |
< | menor que |
> | maior que |
<= | menor ou igual a |
>= | maior ou igual a |
Operadores lógicos
Para filtrar ainda mais os dados, use operadores lógicos na consulta. A ShopifyQL conta com algumas opções:
Operador lógico | Descrição |
---|---|
AND | O filtro inclui todas as linhas em que todas as condições separadas por AND são satisfeitas. |
OR | O filtro inclui todas as linhas em que pelo menos uma das condições separadas por OR é satisfeita. |
NOT | Filtra e mostra apenas as linhas em que as condições não são verdadeiras, como aquelas que não contêm o valor especificado. |
É possível usar diversos filtros com a palavra-chave WHERE
, basta adicionar operadores lógicos.
Com esse exemplo de consulta de conjunto de dados, para obter um agrupamento mensal das vendas líquidas para todos os pedidos com pêssegos secos em que o endereço de faturamento era no Canadá e houve um desconto aplicado, a consulta será:
GROUP BY
Para segmentar uma métrica por uma dimensão, como vendas de grupo por região, use a palavra-chave GROUP BY
. A palavra-chave GROUP BY
pode ser emparelhada com qualquer parâmetro de dimensão.
Por exemplo, uma consulta que agrupa o total de vendas por país e região de faturamento é escrita como:
Veja outro exemplo de consulta que usa uma dimensão de tempo para mostrar o total de vendas por mês:
A consulta acima não retorna meses em que não houve vendas. Se quiser uma que mostre o período completo, sem interrupções, use a palavra-chave TIMESERIES
.
Dimensões de tempo
Veja as dimensões de tempo que podem ser usadas para agrupar dados:
Operador | Descrição |
---|---|
second | Agrupar por segundo de hora. |
minute | Agrupar por minuto de hora. |
hour | Agrupa por hora do dia corrido. |
day | Agrupa por dia corrido. |
week | Agrupa por semana civil. |
month | Agrupa por mês civil. |
quarter | Agrupa por trimestre civil. |
year | Agrupa por ano civil. |
hour_of_day | Agrupa por 24 horas (1, 2,…, 24). |
day_of_week | Agrupa por dia da semana (S, T, Q,..., D). |
week_of_year | Agrupa por semana do ano (1, 2,…, 52). |
month_of_year | Agrupar por mês do ano (1, 2, ..., 12). |
TIMESERIES
Use a palavra-chave TIMESERIES
quando quiser distinguir o agrupamento por dimensões do tempo, ver métricas ao longo do tempo e completar datas em uma consulta para transformá-la em um gráfico de série temporal onde os dados não existem.
Neste exemplo, você está completando os dados do total de vendas ausentes nos últimos 15 dias:
TIMESERIES e a ordem das colunas
Dependendo de TIMESERIES
ser ou não dado e presente nos valores GROUP BY
ou SHOW
, a ordem das colunas poderá ser alterada.
TIMESERIES | SHOW | GROUP BY | Resultado |
---|---|---|---|
Dado | Não presente | Não presente | O TIMESERIES é a primeira dimensão. |
Dado | Não presente | Presente | A posição das dimensões de tempo é definida pela posição em GROUP BY . |
Dado | Presente | Presente | A posição das dimensões de tempo é definida pela posição em SHOW . |
Não dado | Não presente | Presente | A posição das dimensões de tempo é definida pela posição em GROUP BY . Os dados não estão completos. |
Não dado | Presente | Presente | A posição das dimensões de tempo é definida pela posição em SHOW . Os dados não estão completos. |
Não dado | Presente | Não presente | Aciona um erro de sintaxe porque SHOW só pode fazer referência a dimensões presentes em GROUP BY . |
HAVING
Semelhante a WHERE
, use a palavra-chave HAVING
para filtrar os resultados de uma consulta depois de agrupada. O filtro pode ter uma condição, mas a condição pode ser modificada por operadores de comparação (como maior que >
) e operadores lógicos (como AND
ou NOT
). Ao contrário da palavra-chave WHERE
, HAVING
pode referenciar aliases, funções agregadas e agrupar colunas.
HAVING
exige que sua consulta inclua uma cláusula GROUP BY
ou TIMESERIES
porque HAVING
filtra os resultados de uma consulta depois de ter sido agrupada por GROUP BY
ou TIMESERIES
.
Neste exemplo, você está filtrando o total de vendas de cada produto que tenha vendas totais maiores que 1.000 e menos de 5.000:
WITH
A palavra-chave WITH
modifica o comportamento de determinadas outras palavras-chave do ShopifyQL. Existem três modificações disponíveis:
-
TOTALS
: fornece um resumo de nível superior das métricas antes de ser dividido por qualquer dimensão. -
GROUP_TOTALS
: fornece um total para todos os subgrupos quando houver um grupo por agregação. -
PERCENT_CHANGE
: adiciona uma métrica de alteração percentual a cada coluna de comparação emCOMPARE TO
. Quando o modificador está presente, uma nova coluna é adicionada a cada coluna de métrica de comparação, contendo a alteração percentual.
TOTALS
O modificador TOTALS
fornece um resumo de nível superior das métricas antes de ser dividido por qualquer outra dimensão. Quando você usa WITH TOTALS
, a consulta retorna os totais como colunas extras nos resultados definidos com o nome métrico e "totals" como parte do nome da coluna. Cada linha contém todos os totais aplicáveis.
Por exemplo, esta consulta exibe os totais do total de vendas:
Esta consulta pode retornar um relatório semelhante a este:
Dia | Vendas brutas | Vendas líquidas | Total de vendas | Vendas brutas totais | Vendas líquidas totais | Total de vendas |
---|---|---|---|---|---|---|
01-01-2024 | 1 | 4 | 7 | 6 | 15 | 24 |
2024-01-02 | 2 | 5 | 8 | 6 | 15 | 24 |
03-01-2024 | 3 | 6 | 9 | 6 | 15 | 24 |
GROUP_TOTALS
O modificador GROUP_TOTALS
fornece um total para todos os subgrupos quando há um grupo por agregação. Quando você usa WITH GROUP_TOTALS
, a consulta retorna os totais como colunas extras nos resultados definidos com o nome da métrica, as dimensões sendo totalizadas e "totals" como parte do nome da coluna. Cada linha contém todos os totais aplicáveis.
Por exemplo, esta consulta exibe um total de vendas por país de faturamento:
Esta consulta pode retornar um relatório semelhante a este:
País | ID do cliente | Total de vendas | Total de vendas por país | Total de vendas |
---|---|---|---|---|
EUA | 1 | 1 | 0 | 1 |
EUA | null | -1 | 1 | 1 |
Canadá | 1 | 1 | 1 | 1 |
PERCENT_CHANGE
O modificador PERCENT_CHANGE
adiciona uma métrica de alteração percentual a cada coluna de comparação quando você usa COMPARE TO
. Já quando você usa WITH PERCENT_CHANGE
, a consulta retorna a alteração percentual de cada métrica de comparação como colunas extras nos resultados definidos com o nome métrica e "percent change" como parte do nome da coluna.
A fórmula usada para calcular a alteração percentual é: (base_column - comparison_column) * 100 / abs(comparison_column)
Por exemplo, essa consulta usa SINCE
e COMPARE TO
para comparar as vendas líquidas por dia do mês anterior com o mesmo mês do ano anterior, com uma coluna de alteração percentual:
As colunas do relatório resultante incluem dia, vendas líquidas, dia de comparação, comparação de vendas líquidas e porcentagem de alteração das vendas líquidas.
SINCE e UNTIL
Se você quiser filtrar sua consulta por uma data ou algum período, poderá usar as palavras-chave SINCE
e UNTIL
e seus parâmetros associados. Essas palavras-chave são exclusivas porque filtram apenas períodos. Se você usar SINCE
e não definir um valor de UNTIL
, o final do intervalo de tempo será definido como today
.
Por exemplo, temos aqui uma consulta para encontrar as vendas líquidas nos últimos 12 meses no Canadá, terminando ontem:
Operadores de compensação
É possível filtrar por datas específicas ou ajustes de data e hora. Os operadores de ajuste do ShopifyQL são:
Operador de compensação | Descrição |
---|---|
-{#}s | Número de segundos atrás a partir da data e hora em que a consulta é executada. |
-{#}min | Número de minutos atrás a partir da data e hora em que a consulta é executada. |
-{#}h | Número de horas atrás a partir da data e hora em que a consulta é executada. |
-{#}d | Número de dias atrás a partir da data e hora em que a consulta é executada. |
-{#}w | Número de semanas atrás a partir da data e hora em que a consulta é executada. |
-{#}m | Número de meses atrás a partir da data e hora em que a consulta é executada. |
-{#}q | Número de trimestres atrás, a partir da data e hora em que a consulta é executada. |
-{#}y | Número de anos atrás a partir da data e hora em que a consulta é executada. |
yyyy-MM-dd | Uma data específica. |
yyyy-MM-ddThh:mm:ss | Uma data e hora específicas. |
Funções de data
Use as seguintes funções combinadas com qualquer operador de intervalo de datas (com exceção de datas específicas) nas instruções SINCE
e UNTIL
. As funções "startOf...
" são truncadas para o início da unidade de tempo associada (minuto, hora, dia, semana, mês, trimestre e ano) quando usadas com SINCE
, e as funções "endOf...
" são truncadas para o final da unidade de tempo associada quando usadas com UNTIL
.
As unidades de função de data e as unidades de operador devem corresponder para retornar um resultado válido. Por exemplo, startOfMonth(-1m)
está correto, mas startOfMonth(-1d)
não está.
Função de data | Descrição |
---|---|
now | A data e a hora em que a consulta é executada. |
startOfMinute(-{#}min) | Trunca o operador do intervalo de datas para o início do minuto de destino. |
endOfMinute(-{#}min) | Trunca o operador de intervalo de data para o fim do minuto desejado. |
startOfHour(-{#}h) | Trunca o operador de intervalo de data para o começo da hora desejada. |
endOfHour(-{#}h) | Trunca o operador do intervalo de datas para o final da hora de destino. |
startOfDay(-{#}d) | Trunca o operador de intervalo de data para o começo do dia desejado. |
endOfDay(-{#}d) | Trunca o operador de intervalo de data para o fim do dia desejado. | startOfWeek(-{#}w) | Trunca o operador de intervalo de data para o começo da semana desejada. |
endOfWeek(-{#}w) | Trunca o operador de intervalo de data para o fim da semana desejada. |
startOfMonth(-{#}m) | Trunca o operador de intervalo de data para o começo do mês desejado. |
endOfMonth(-{#}m) | Trunca o operador de intervalo de data para o fim do mês desejado. |
startOfQuarter(-{#}q) | Trunca o operador de intervalo de data para o começo do trimestre desejado. |
endOfQuarter(-{#}q) | Trunca o operador de intervalo de data para o fim do trimestre desejado. |
startOfYear(-{#}y) | Trunca o operador de intervalo de data para o começo do ano desejado. |
endOfYear(-{#}y) | Trunca o operador de intervalo de data para o fim do ano desejado. |
Por exemplo, se hoje for 8 de novembro de 2022, você poderá usar a seguinte consulta para retornar as vendas brutas de 1º de janeiro de 2020 a 31 de outubro de 2022:
DURING
A palavra-chave DURING
simplifica a filtragem em intervalos de datas e substitui o uso de SINCE
e UNTIL
. É possível usar a palavra-chave DURING
para filtrar os resultados da consulta por um período de tempo conhecido, como um ano civil ou um mês específico, ou por eventos com datas que mudam todo ano, como a Black Friday Cyber Monday. Por exemplo:
Operadores de intervalo de datas denominados
DURING
aceita qualquer operador de intervalo de datas nomeadas a seguir:
Operador de intervalo de datas nomeadas | Descrição |
---|---|
today | A data em que a consulta é executada. |
yesterday | O período anterior de 24 horas a partir do momento em que a consulta é executada. |
this_week | A semana atual do ano civil. |
this_month | O mês atual do ano civil. |
this_quarter | O trimestre atual do ano civil. |
this_year | O ano civil atual. |
last_week | A semana anterior do ano civil. |
last_month | O mês anterior do ano civil. |
last_quarter | O trimestre anterior do ano civil. |
last_year | O ano civil anterior. |
bfcmYYYY | O intervalo da Black Friday Cyber Monday para o ano especificado. Por exemplo, bfcm2022 retorna os resultados de 25 a 28 de novembro de 2022. |
COMPARE TO
A palavra-chave COMPARE TO
permite que você compare dados entre o intervalo de datas em SINCE
e UNTIL
ou DURING
e aquele em COMPARE TO
.
Use a palavra-chave COMPARE TO
com os seguintes tipos de parâmetros:
- Datas absolutas, como
2023-01-01
: inclui as métricas do período especificado e as métricas de comparação do mesmo período na data absoluta. -
Datas nomeadas, como
last_week
: incluem as métricas do período específico e as de comparação do mesmo período na data nomeada.- O operador usado por
COMPARE TO
não precisa ter a mesma duração que o usado porDURING
. Se nenhum valorUNTIL
for fornecido, ele calculará o período para ser igual ao valor especificado emDURING
. Por exemplo,DURING this_week COMPARE TO last_month
compara os dados desta semana com um período de uma semana que começa no início do mês passado.
- O operador usado por
Datas de ajuste, como
-3q
: incluem as métricas do período especificado e as de comparação do mesmo período na data relativa.Comparações de várias datas, como
-1y, -2y
: compara os dados de um período específico com vários outros intervalos de datas. Isso pode ser útil quando você deseja acompanhar alterações em vários períodos.Se você usa uma dimensão de data em uma consulta com
COMPARE TO
, precisa usarTIMESERIES
para ela, em vez deGROUP BY
.
O exemplo a seguir compara as vendas líquidas do mês anterior com o mesmo mês do ano anterior:
Operadores de intervalo de data relativa
Os operadores relativos retornam o mesmo período que o intervalo de datas base, retrocedido pelo período especificado. Além dos operadores de intervalo de datas denominados, COMPARE TO
aceita os seguintes operadores relativos:
Operador do intervalo de datas relativo | Descrição |
---|---|
previous_period | Um período antes do intervalo de data base. |
previous_year | Um ano antes do intervalo de data base. |
previous_quarter | Um trimestre antes do intervalo de data base. |
previous_month | Um mês antes do intervalo de datas base. |
previous_week | Uma semana antes do intervalo de data base. |
previous_day | Um dia antes do intervalo de data base. |
previous_hour | Uma hora antes do intervalo de data base. |
previous_minute | Um minuto antes do intervalo de data base. |
previous_second | Um segundo antes do intervalo de data base. |
ORDER BY
É possível especificar como você quer classificar os dados retornados pela consulta com a palavra-chave ORDER BY
, e os parâmetros associados: ASC
, para ordem crescente, e DESC
, para ordem decrescente.
Você pode especificar qualquer métrica ou dimensão a ser incluída na consulta com a palavra-chave ORDER BY
, até mesmo vários campos.
Por exemplo, essa consulta retorna as vendas líquidas de todos os produtos e variantes no último ano. Os resultados são organizados em ordem alfabética por título do produto e, em seguida, em ordem alfabética inversa por tipo de produto:
A ordem na qual você escreve suas métricas ou dimensões é importante. Se você especificar vários valores para ORDER BY
, a classificação será aplicada a cada métrica ou dimensão em um período.
TIMESERIES e a ordem das colunas
Dependendo se a consulta incluir ou não TIMESERIES
e ORDER BY
, a ordem das colunas poderá ser alterada.
TIMESERIES | ORDER BY | Resultado |
---|---|---|
Presente | Não presente | Os resultados são solicitados pela dimensão TIMESERIES . |
Presente | Presente | Os resultados são solicitados pela dimensão de tempo TIMESERIES e, em seguida, pela dimensão ORDER BY . |
Não presente | Presente | Os resultados são solicitados pela dimensão ORDER BY . |
Não presente | Não presente | Os resultados são solicitados pela primeira coluna SHOW . |
LIMIT
A palavra-chave LIMIT
permite que você especifique o número máximo de linhas que a consulta retorna. Isso é útil quando você só deseja entender como os dados de cada coluna são exibidos ou para relatórios maiores nos quais as consultas podem levar mais tempo para retornar valores. Combine LIMIT
com ORDER BY
para criar listas superior e inferior.
Se você não especificar um valor LIMIT
, a consulta padrão será de 1.000 linhas.
Você também pode usar um parâmetro { OFFSET # }
opcional para pular um determinado número de linhas antes de começar a retornar os dados da linha. A frase resultante seria formatada semelhante a: LIMIT 15 { OFFSET 5 }
.
Este exemplo usa LIMIT
e ORDER BY
para criar uma lista dos 10 produtos mais vendidos nos últimos 3 meses:
VISUALIZE e TYPE
A palavra-chave VISUALIZE
permite que você escreva uma consulta do ShopifyQL que exibe dados em uma visualização gráfica. Os valores aceitos incluem os seguintes:
-
bar
-
stacked_bar
-
stacked_horizontal_bar
-
line
-
simple_bar
-
stacked_area
-
single_metric
-
donut
-
list
-
list_with_dimension_values
-
horizontal_bar
-
cohort
-
single_stacked_bar
-
funnel
-
grouped_bar
-
horizontal_grouped_bar
-
table
-
grid
A palavra-chave TYPE
é opcional e precisa ser acompanhada por um único tipo de visualização. Se TYPE
não estiver incluído em sua consulta, o ShopifyQL decidirá automaticamente a melhor opção para sua consulta. Se a consulta não puder ser visualizada como escrita, o ShopifyQL retornará os dados tabulares.
VISUALIZE
também aceita uma palavra-chave LIMIT
opcional em que o parâmetro é o número limitado de pontos de dados a processar.
Por exemplo, é possível visualizar a linha de tendência de vendas ao longo do ano passado por mês. Esta consulta retorna um gráfico de série temporal com essas informações, em que uma linha simples representa as vendas brutas, o eixo X indica o mês e o eixo Y indica as vendas brutas:
AS
A palavra-chave AS
é uma palavra-chave opcional que permite renomear (ou fornecer um alias para) uma coluna ou o valor de retorno de uma função agregada.
AS
aceita apenas um único parâmetro. Se o alias tiver um espaço no nome, você deverá cercar o alias com aspas duplas (").
Outras funções e operadores do ShopifyQL
O ShopifyQL inclui os seguintes operadores e funções adicionais:
-
Operadores matemáticos, como
+
ou/
-
Funções, como
round()
etrim()
- Junções implícitas
-
Correspondência de string parcial e matriz, como
STARTS WITH
eCONTAINS
- Comentários
Operadores matemáticos
Com a ShopifyQL, é possível fazer operações aritméticas com as métricas dos dados. Estes são os operadores matemáticos disponíveis:
Operador matemático | Descrição |
---|---|
+ | Soma de dois números. |
- | Subtração de dois números. |
* | Multiplicação de dois números. |
/ | Divisão de dois números. |
Por exemplo, a consulta calcula o valor do pedido para cada região no último ano. Ao usar operadores matemáticos com métricas, você pode incluir a palavra-chave AS
para atribuir um novo nome à nova métrica.
Funções
As funções do ShopifyQL permitem agregar colunas ou combiná-las para criar um novo valor, semelhante a tabelas dinâmicas no Microsoft Excel. Os seguintes operadores de função estão disponíveis na versão atual do ShopifyQL:
Operador de função | Descrição |
---|---|
TRIM(column_name) | Remove espaços em branco à esquerda e à direita de uma string. |
ROUND(column_name, decimal_places) | Rounds a numerical value to the nearest integer or specified decimal places. In this function, decimal_places is an integer value:
|
For example, this query uses the rounding function on the gross_sales
column, but omits the decimal_places
argument to round the value to the integer:
Implicit joins
A join allows you to view metrics from different domains together, side by side. Joins are done implicitly and intelligently in ShopifyQL.
ShopifyQL has the following join capabilities:
- ShopifyQL allows dimension field joins when there is a single
FROM
table in the query. - Automatic left join on dimension fields.
- ShopifyQL allows multi-fact joins (when there are multiple
FROM
tables in the queries). - Automatic full join on multi-fact joins, which support any number of tables or schemas and grouped by dimensions.
- Metrics in multi-fact joins can use functions and math.
Shopify QL has the following join restrictions:
- Join field must have the same name in all joined schemas.
- Join field must be in
GROUP BY
. - Join field can't use functions or math.
-
FROM
is necessary for multi-fact joins to work. - In a multi-fact join, every
GROUP BY
must be in all schemas and is considered a field on which to be joined.
For example, this query uses a multi-fact join:
Partial string and array matching
You can use the following operators for partial string and array matching:
Operator | Description |
---|---|
STARTS WITH | Return all rows where a column starts with a prefix. |
ENDS WITH | Return all rows where a column ends with a suffix. |
CONTAINS | Return all rows where a column contains a part of a string, or an element in an array. |
Some examples of partial string matching using operators include the following queries:
The CONTAINS
operator can be used to match elements within arrays, including integers, strings, and decimals. This matching isn't case-sensitive. Some examples of array matching using CONTAINS
include the following queries:
Comments
You can use comments to explain sections of ShopifyQL statements, or to prevent the execution of a ShopifyQL statement. Any text within a comment will be ignored during execution time.
Single line comments start with --
and end at the end of the line.
Multi-line comments start with /*
and end with */
.