Usar el editor de consultas ShopifyQL
Puedes usar ShopifyQL con la nueva sección Informes y estadísticas de Shopify para explorar la base de datos de tu negocio y recuperar los datos que te den una idea más detallada de tu negocio.
ShopifyQL, o el lenguaje de consulta de Shopify, es el lenguaje de consulta de Shopify creado para el comercio. Los lenguajes de consulta se usan para solicitar y recuperar datos de las bases de datos. Los datos de tu tienda se almacenan en tablas de bases de datos con una estructura de columnas y filas definidas. Las columnas determinan el tipo de información que contienen, como las ventas, y las filas especifican el valor real del tipo de datos, como USD 2.450 en ventas.
Para recuperar los datos en un formato comprensible, se debe enviar una consulta a la base de datos. Las consultas son preguntas que solicitan datos específicos como respuesta, formadas por palabras clave y sus parámetros correspondientes. La combinación de varias palabras clave con parámetros específicos crea la consulta. Después de crear la consulta, puedes ejecutarla y recibir un informe.
En esta página
Glosario de términos
Término | Definición |
---|---|
Dimensión | Un atributo que segmenta los datos para que puedan ordenarse y presentarse más claramente. Algunos ejemplos comunes de dimensiones son la hora, los productos y los lugares. Las dimensiones se usan como parámetros en ShopifyQL. |
Palabra clave | Sintaxis de ShopifyQL que actúa como un comando para dirigir tu consulta. |
Métrica | Una medición cuantitativa de datos. Algunos ejemplos comunes de métricas son las ventas totales, la cantidad de pedidos y las ganancias brutas. |
Parámetro | Sintaxis de ShopifyQL que identifica los elementos o detalles de la base de datos que se deben incluir en tu consulta. |
Operador | Palabra o caracter reservado que se utiliza como parte de una consulta. Por ejemplo, STARTS WITH , >= o last_week . |
Sintaxis de ShopifyQL
Debes cumplir con los siguientes requisitos al crear una consulta de informe válida con ShopifyQL:
- Puedes colocar una consulta entera en una línea o en líneas separadas.
- Debes incluir al menos las palabras clave
FROM
ySHOW
, con sus parámetros adecuados. Todas las demás palabras clave y parámetros son opcionales. - Todas las palabras clave en una consulta deben incluirse en el siguiente orden:
-
FROM
-
SHOW
-
WHERE
-
GROUP BY
-
WITH
TOTALS
,GROUP_TOTALS
,PERCENT_CHANGE
-
TIMESERIES
-
HAVING
-
SINCE
yUNTIL
oDURING
-
COMPARE TO
y opcionalUNTIL
-
ORDER BY
-
LIMIT
-
VISUALIZE
yTYPE
-
Este es un ejemplo de ShopifyQL, escrito como una consulta con la sintaxis correcta. Las palabras clave están en negrita, sus parámetros correspondientes se incluyen con marcadores de posición genéricos y los parámetros opcionales están entre paréntesis:
Palabras clave de ShopifyQL
Las consultas de ShopifyQL pueden requerir desde información útil sobre datos de alto nivel hasta información completa y detallada. Cada palabra clave tiene una función específica que sirve para crear tu consulta.
Palabra clave | Descripción |
---|---|
FROM | Especifica de qué tabla de datos deseas seleccionar la información. |
SHOW | Selecciona las columnas que deseas extraer de la tabla de datos. |
WHERE | Define la condición o las condiciones que deben cumplir las filas para que se seleccionen. |
GROUP BY | Agrupa los datos extraídos por una dimensión o por dimensiones de tiempo. |
WITH | Modifica el comportamiento de ciertas palabras clave de ShopifyQL. |
TIMESERIES | Distingue la agrupación por dimensiones de tiempo y completa datos de fechas en una consulta. |
HAVING | Filtra los resultados de una consulta después de que se han agrupado. |
SINCE | Muestra datos desde una hora especificada en el pasado. A menudo se empareja con UNTIL . |
UNTIL | Muestra datos hasta un momento concreto del pasado. A menudo se empareja con SINCE o COMPARE TO . |
DURING | Muestra los datos durante un tiempo especificado en el pasado. |
COMPARE TO | Muestra los datos para la comparación con un tiempo especificado en el pasado. |
ORDER BY | Especifica en función de qué columna ordenar los datos. |
LIMIT | Limita el número de filas de datos que se muestran. |
VISUALIZE | Muestra los datos en una visualización en forma de líneas o de barras. Puedes especificar qué visualización prefieres con TYPE . |
AS | Palabra clave opcional que cambia el nombre de una columna por otro de tu elección. |
FROM y SHOW
Para crear la consulta más sencilla con ShopifyQL, solo se requieren dos palabras clave: FROM
y SHOW
, escritas en ese orden. FROM
, seguido de uno o más parámetros de nombre de tabla, especifica qué tablas deseas consultar. SHOW
, seguido de cualquier número de parámetros de nombre de columna especifica las columnas que deseas seleccionar.
SHOW
se puede usar para especificar el orden en que se muestran las métricas y dimensiones en el informe.
Por ejemplo, puedes escribir esta consulta para obtener la suma de las ventas totales:
WHERE
La palabra clave WHERE
te permite aplicar un filtro dimensional a toda una consulta de ShopifyQL. El filtro puede modificarse por operadores relacionales (como mayor que >
), operadores lógicos (como AND
o NOT
) y la coincidencia parcial de cadenas y matrices (como STARTS WITH
y CONTAINS
).
WHERE
es un tipo de condiciones que debe cumplir con los siguientes requisitos:
- Los valores deben estar entre comillas simples ('), no comillas dobles (").
- Las condiciones no pueden contener aritmética.
- Las condiciones solo pueden hacer referencia a una dimensión, no a una métrica.
Por ejemplo, si deseas obtener las ventas totales pero filtradas en función del país de facturación, tu consulta debe ser así:
Como en el ejemplo anterior, puedes filtrar el conjunto de resultados con el parámetro WHERE
, incluso cuando ese parámetro no está incluido en la palabra clave SHOW
. En este caso, las ventas totales se filtrarán solo para los pedidos de Canadá, aunque billing_country
no esté incluido en el conjunto de resultados.
Operadores relacionales
La palabra clave WHERE
usa operadores relacionales para filtrar los datos. En el ejemplo anterior, se usó =
para especificar que la consulta se filtra en un valor determinado. Sin embargo, hay otros operadores disponibles:
Operador relacional | Descripción |
---|---|
= | igual a |
!= | no igual a |
< | menor que |
> | mayor que |
<= | menor que o igual a |
>= | mayor que o igual a |
Operadores lógicos
Para filtrar aún más la información, puedes agregar operadores lógicos a tu consulta. Los operadores lógicos de ShopifyQL son:
Operador lógico | Descripción |
---|---|
AND | Filtra para incluir todas las filas donde se cumplan las condiciones separadas por AND . |
OR | Filtra para incluir todas las filas donde se cumpla alguna de las condiciones separadas por OR . |
NOT | Filtra para incluir solo las filas donde no se cumplan las condiciones, como las filas que no contienen el valor especificado. |
Puedes usar varios filtros con la palabra clave WHERE
agregando operadores lógicos.
Siguiendo con el ejemplo de la consulta sobre el conjunto de datos, para obtener una agrupación por mes de las ventas netas para todos los pedidos que contengan melocotones secos en los que la dirección de facturación se encuentre en Canadá y se haya aplicado un descuento, la consulta es así:
GROUP BY
Para segmentar una métrica por dimensión, como ventas agrupadas por región, usa la palabra clave GROUP BY
. La palabra clave GROUP BY
se puede emparejar con cualquier parámetro de dimensión.
Por ejemplo, una consulta que agrupe las ventas totales por país y región de facturación se escribe del siguiente modo:
A continuación incluimos otro ejemplo de consulta que usa una dimensión de tiempo para mostrar las ventas totales por mes:
La consulta anterior no mostrará los meses en los que no hayas tenido ninguna venta. De modo que, si deseas formular una consulta que devuelva un período completo e ininterrumpido, usa la palabra clave TIMESERIES
.
Dimensiones de tiempo
Estas son las dimensiones de tiempo que puedes usar para agrupar tus datos:
Operador | Descripción |
---|---|
second | Agrupar por segundos de hora. |
minute | Agrupar por minutos de hora. |
hour | Agrupar por hora de día calendario. |
day | Agrupar por día calendario. |
week | Agrupar por semana calendario. |
month | Agrupar por mes calendario. |
quarter | Agrupar por trimestre calendario. |
year | Agrupar por año natural. |
hour_of_day | Agrupar por 24 horas (1, 2, …, 24). |
day_of_week | Agrupar por día de la semana (Lu, Ma, Mi, …, Do). |
week_of_year | Agrupar por semana del año (1, 2, …, 52). |
month_of_year | Agrupar por mes del año (1, 2, …, 12). |
TIMESERIES
Puedes usar la palabra clave TIMESERIES
cuando desees distinguir la agrupación por dimensiones de tiempo, ver métricas a lo largo del tiempo y completar datos de fechas en una consulta para convertirla en un gráfico de series temporales donde los datos no existen.
En este ejemplo, se completan los datos de ventas totales que faltan en los últimos 15 días:
TIMESERIES y el orden de las columnas
Dependiendo de si la palabra clave TIMESERIES
se indica o está presente en los valores de GROUP BY
o SHOW
, el orden de las columnas puede cambiar.
TIMESERIES | SHOW | GROUP BY | Resultado |
---|---|---|---|
Indicada | No presente | No presente |
TIMESERIES es la primera dimensión. |
Indicada | No presente | Presentar | La posición de las dimensiones de tiempo se define por su posición en GROUP BY . |
Indicada | Presentar | Presentar | La posición de las dimensiones de tiempo se define por su posición en SHOW . |
No indicada | No presente | Presentar | La posición de las dimensiones de tiempo se define por su posición en GROUP BY . Los datos no se completan. |
No indicada | Presentar | Presentar | La posición de las dimensiones de tiempo se define por su posición en SHOW . Los datos no se completan. |
No indicada | Presentar | No presente | Activa un error de sintaxis porque SHOW solo puede hacer referencia a las dimensiones presentes en GROUP BY . |
HAVING
De forma similar a WHERE
, puedes usar la palabra clave HAVING
para filtrar los resultados de una consulta después de que se hayan agrupado. El filtro puede tener una condición, pero la condición puede modificarse tanto por los operadores relacionales (como mayor que >
) como por los operadores lógicos (como AND
o NOT
). A diferencia de la palabra clave WHERE
, HAVING
puede hacer referencia a alias, funciones agregadas y columnas de agrupación.
HAVING
requiere que tu consulta incluya una cláusula de GROUP BY
o TIMESERIES
porque HAVING
filtra los resultados de una consulta después de que se hayan agrupado por GROUP BY
o TIMESERIES
.
En este ejemplo, se filtran los ingresos totales para cada producto que tenga ventas totales mayores que 1.000 y menores que 5.000:
WITH
La palabra clave WITH
modifica el comportamiento de algunas otras palabras clave de ShopifyQL. Hay tres modificaciones disponibles:
-
TOTALS
: proporciona un resumen general de las métricas antes de que se desglosen por alguna dimensión. -
GROUP_TOTALS
: Proporciona un total para todas las subagrupaciones cuando existe una agrupación por agregado. -
PERCENT_CHANGE
: agrega una métrica de cambio porcentual a cada columna de comparación enCOMPARE TO
. Cuando este modificador está presente, se agrega una nueva columna para cada columna de métrica de comparación con el cambio porcentual correspondiente.
TOTALS
El modificador TOTALS
proporciona un resumen general de las métricas antes de desglosarlas por cualquier otra dimensión. Cuando usas WITH TOTALS
, la consulta devuelve los totales como columnas adicionales en los resultados establecidos con el nombre de la métrica y los "totales" como parte del nombre de la columna. Cada fila contiene todos los totales aplicables.
Por ejemplo, esta consulta muestra los totales de las ventas totales:
Esta consulta podría devolver un informe similar a este:
Día | Ventas brutas | Ventas netas | Total de ventas | Ventas brutas totales | Ventas netas totales | Total de ventas totales |
---|---|---|---|---|---|---|
01/01/2024 | 1 | 4 | 7 | 6 | 15 | 24 |
02/01/2024 | 2 | 5 | 8 | 6 | 15 | 24 |
03/01/2024 | 3 | 6 | 9 | 6 | 15 | 24 |
GROUP_TOTALS
El modificador GROUP_TOTALS
proporciona un total para todas las subagrupaciones cuando hay una agrupación por agregación. Cuando usas WITH GROUP_TOTALS
, la consulta devuelve los totales como columnas adicionales en los resultados establecidos con el nombre de la métrica y los "totales" como parte del nombre de la columna. Cada fila contiene todos los totales aplicables.
Por ejemplo, esta consulta muestra un total de ventas totales por país de facturación:
Esta consulta podría devolver un informe similar a este:
País | Identificación del cliente | Total de ventas | Total de ventas totales por país | Total de ventas totales |
---|---|---|---|---|
EE.UU. | 1 | 1 | 0 | 1 |
EE.UU. | nulo | -1 | 1 | 1 |
Canadá | 1 | 1 | 1 | 1 |
PERCENT_CHANGE
El modificador PERCENT_CHANGE
agrega una métrica de cambio porcentual a cada columna de comparación cuando usas COMPARE TO
. Cuando usas WITH PERCENT_CHANGE
, la consulta devuelve el cambio porcentual para cada métrica de comparación como columnas adicionales en los resultados establecidos con el nombre de la métrica y el "cambio porcentual" como parte del nombre de la columna.
La fórmula que se utiliza para calcular el cambio porcentual es (base_column - comparison_column) * 100 / abs(comparison_column)
Por ejemplo, esta consulta usa SINCE
y COMPARE TO
para comparar las ventas netas por día del mes anterior a las del mismo mes del año anterior, con una columna de cambio porcentual:
Las columnas en el informe resultante incluyen el día, las ventas netas, el día de comparación, las ventas netas de comparación y el cambio porcentual de las ventas netas.
SINCE y UNTIL
Si deseas filtrar tu consulta por una fecha o algún período de tiempo, puedes usar las palabras clave SINCE
y UNTIL
y sus parámetros asociados. Estas palabras clave son únicas porque solo filtran períodos. Si usas SINCE
y no defines un valor de UNTIL
, el final de tu intervalo de tiempo se establecerá por defecto en today
.
Por ejemplo, veamos una consulta para encontrar las ventas netas durante los últimos 12 meses en Canadá, hasta ayer:
Operadores de intervalos de tiempo
Puedes filtrar por fechas específicas o por intervalos de fecha y hora. Los operadores de intervalos de tiempo de ShopifyQL son los siguientes:
Operador de intervalos de tiempo | Descripción |
---|---|
-{#}s | Número de segundos transcurridos desde la fecha y hora en que se ejecuta la consulta. |
-{#}min | Número de minutos transcurridos desde la fecha y hora en que se ejecuta la consulta. |
-{#}h | Número de horas transcurridos desde la fecha y hora en que se ejecuta la consulta. |
-{#}d | Número de días transcurridos desde la fecha y hora en que se ejecuta la consulta. |
-{#}w | Número de semanas transcurridos desde la fecha y hora en que se ejecuta la consulta. |
-{#}m | Número de meses transcurridos desde la fecha y hora en que se ejecuta la consulta. |
-{#}q | Número de trimestres transcurridos desde la fecha y hora en que se ejecuta la consulta. |
-{#}y | Número de años transcurridos desde la fecha y hora en que se ejecuta la consulta. |
yyyy-MM-dd | Una fecha específica. |
yyyy-MM-ddThh:mm:ss | Una fecha y hora específicas. |
Funciones de fecha
Puedes usar las siguientes funciones combinadas con cualquier operador de intervalo de fechas (con excepción de fechas específicas) en las instrucciones SINCE
y UNTIL
. Las funciones de "startOf...
" se reducen al inicio de la unidad de tiempo asociada (minuto, hora, día, semana, mes, trimestre y año) cuando se usan con SINCE
, y las funciones de "endOf...
" se reducen al final de la unidad de tiempo asociada cuando se usan con UNTIL
.
Las unidades de funciones de fecha y las unidades de operadores deben coincidir para devolver un resultado válido. Por ejemplo, startOfMonth(-1m)
es correcta, pero startOfMonth(-1d)
no.
Función de fecha | Descripción |
---|---|
now | La fecha y hora en que se ejecuta la consulta. |
startOfMinute(-{#}min) | Reduce el operador de intervalo de fechas hasta el principio del minuto objetivo. |
endOfMinute(-{#}min) | Reduce el operador de intervalo de fechas hasta el final del minuto objetivo. |
startOfHour(-{#}h) | Reduce el operador de intervalo de fechas hasta el principio de la hora objetivo. |
endOfHour(-{#}h) | Reduce el operador de intervalo de fechas hasta el final de la hora objetivo. |
startOfDay(-{#}d) | Reduce el operador de intervalo de fechas hasta el principio del día objetivo. |
endOfDay(-{#}d) | Reduce el operador de intervalo de fechas hasta el final del día objetivo. | startOfWeek(-{#}w) | Reduce el operador de intervalo de fechas hasta el principio de la semana objetivo. |
endOfWeek(-{#}w) | Reduce el operador de intervalo de fechas hasta el final de la semana objetivo. |
startOfMonth(-{#}m) | Reduce el operador de intervalo de fechas hasta el principio del mes objetivo. |
endOfMonth(-{#}m) | Reduce el operador de intervalo de fechas hasta el final del mes objetivo. |
startOfQuarter(-{#}q) | Reduce el operador de intervalo de fechas hasta el principio del trimestre objetivo. |
endOfQuarter(-{#}q) | Reduce el operador de intervalo de fechas hasta el final del trimestre objetivo. |
startOfYear(-{#}y) | Reduce el operador de intervalo de fechas hasta el principio del año objetivo. |
endOfYear(-{#}y) | Reduce el operador de intervalo de fechas hasta el final del año objetivo. |
Por ejemplo, si hoy es el 8 de noviembre de 2022, puedes usar la siguiente consulta para devolver las ventas brutas desde el 1 de enero de 2020 hasta el 31 de octubre de 2022:
DURING
La palabra clave DURING
simplifica el filtrado de fechas para los intervalos de fechas y sustituye el uso de SINCE
y UNTIL
. Puedes usar la palabra clave DURING
para filtrar los resultados de la consulta por un período conocido, como un año natural o un mes específico, o para los intervalos de fechas que tienen fechas diferentes cada año, como Black Friday y Cyber Monday. Por ejemplo:
Operadores de intervalo de fechas con nombre
DURING
acepta cualquiera de los siguientes operadores de intervalo de fechas:
Operador de intervalo de fechas con nombre | Descripción |
---|---|
today | La fecha en que se ejecuta la consulta. |
yesterday | El período previo de 24 horas que transcurre desde el momento en que se ejecuta la consulta. |
this_week | La semana calendario actual. |
this_month | El mes calendario actual. |
this_quarter | El trimestre calendario actual. |
this_year | El año natural previo o actual. |
last_week | La semana calendario anterior. |
last_month | El mes calendario anterior. |
last_quarter | El trimestre calendario anterior. |
last_year | Los años calendario previos. |
bfcmYYYY | El rango de Black Friday y Cyber Monday para el año específico. Por ejemplo, bfcm2022 devuelve resultados del 25 al 28 de noviembre de 2022. |
COMPARE TO
La palabra clave COMPARE TO
te permite comparar datos en el intervalo de fechas en SINCE
y UNTIL
o DURING
, y en el de COMPARE TO
.
Puedes usar la palabra clave COMPARE TO
con los siguientes tipos de parámetros:
- Fechas absolutas, como
2023-01-01
: incluye las métricas para el período especificado y las métricas de comparación del mismo período en la fecha absoluta. -
Fechas con nombre, como
last_week
: incluye las métricas para el período especificado y las métricas de comparación para el mismo período en la fecha con nombre.- El operador que usa
COMPARE TO
no debe tener la misma duración que la que usóDURING
. Si no se proporciona el valorUNTIL
, calcula el intervalo de tiempo para que sea igual al valor especificado enDURING
. Por ejemplo,DURING this_week COMPARE TO last_month
compara los datos de esta semana con un período de una semana que comienza al principio del mes pasado.
- El operador que usa
Desfase de fecha, como
-3q
: incluye las métricas para el período especificado y las métricas de comparación para el mismo período en la fecha relativa.Comparaciones de fechas múltiples, como
-1y, -2y
: compara tus datos de un intervalo de fechas específico con otros múltiples intervalos de fechas. Esto puede ser útil cuando deseas hacer seguimiento de los cambios durante varios períodos.Si usas una dimensión de fecha en una consulta con
COMPARE TO
, debes usarTIMESERIES
en lugar deGROUP BY
.
En el siguiente ejemplo, se comparan las ventas netas del mes anterior con las del mismo mes del año anterior:
Operadores de intervalo de fechas relativas
Los operadores relativos devuelven la misma duración que el intervalo de fechas base, cambiado por el período especificado. Además de los operadores de intervalo de fechas con nombre, COMPARE TO
acepta los siguientes operadores relativos:
Operador de intervalo de fechas relativas | Descripción |
---|---|
previous_period | Un período antes del intervalo de fechas base. |
previous_year | Un año antes del intervalo de fechas base. |
previous_quarter | Un trimestre antes del intervalo de fechas base. |
previous_month | Un mes antes del intervalo de fechas base. |
previous_week | Una semana antes del intervalo de fechas base. |
previous_day | Un día antes del intervalo de fechas base. |
previous_hour | Una hora antes del intervalo de fechas base. |
previous_minute | Un minuto antes del intervalo de fechas base. |
previous_second | Un segundo antes del intervalo de fechas base. |
ORDER BY
Puedes especificar cómo deseas ordenar los datos que obtengas con tu consulta usando la palabra clave ORDER BY
y sus parámetros: ASC
para el orden ascendente y DESC
para el orden descendente.
En la palabra clave ORDER BY
, puedes especificar cualquier métrica o dimensión que incluyas en tu consulta, incluidos varios campos.
Por ejemplo, esta consulta devuelve las ventas netas de todos los productos y variantes durante el último año. Los resultados se ordenan primero en orden alfabético por título del producto y luego en orden alfabético inverso por tipo de producto:
El orden en el que escribes tus métricas o dimensiones es importante. Si especificas varios valores para ORDER BY
, la clasificación se aplicará a cada métrica o dimensión en el pedido dado.
TIMESERIES y el orden de las columnas
Dependiendo de si la consulta incluye TIMESERIES
y ORDER BY
, el orden de las columnas puede cambiar.
TIMESERIES | ORDER BY | Resultado |
---|---|---|
Presentar | No presente | Los resultados se ordenan por la dimensión TIMESERIES . |
Presentar | Presentar | Los resultados se ordenan por la dimensión de tiempo TIMESERIES y luego la dimensión ORDER BY . |
No presente | Presentar | Los resultados se ordenan por la dimensión ORDER BY . |
No presente | No presente | Los resultados se ordenan por la primera columna de resultados SHOW . |
LIMIT
La palabra clave LIMIT
te permite especificar una cantidad máxima de filas que devuelve la consulta. Esto es útil cuando simplemente quieres entender cómo se muestran los datos en cada columna o para informes más grandes donde las consultas pueden tardar más en devolver los valores. Puedes combinar LIMIT
con ORDER BY
para crear listas superiores e inferiores.
Si no especificas un valor para LIMIT
, la consulta se establecerá de manera predeterminada en 1.000 filas.
También puedes usar un parámetro opcional { OFFSET # }
para omitir cierta cantidad de filas antes de comenzar la devolución de datos de las filas. La frase resultante tendría un formato similar a: LIMIT 15 { OFFSET 5 }
.
En este ejemplo se usa LIMIT
y ORDER BY
para crear una lista con los diez productos más vendidos de los últimos tres meses:
VISUALIZE y TYPE
La palabra clave VISUALIZE
te permite escribir una consulta de ShopifyQL que muestre los datos en una visualización gráfica. Las visualizaciones admitidas incluyen los siguientes valores:
-
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
La palabra clave TYPE
es opcional y debe ir acompañada de un único tipo de visualización. Si TYPE
no está incluida en tu consulta, ShopifyQL automáticamente decide cuál es la mejor opción para tu consulta. Si tu consulta no puede visualizarse como texto escrito, ShopifyQL mostrará datos tabulares.
VISUALIZE
también acepta una palabra clave opcional LIMIT
donde el parámetro es el número limitado de puntos de datos que se renderizarán.
Por ejemplo, puedes visualizar la tendencia que han experimentado tus ventas por mes en el último año con una línea de tendencia. La consulta siguiente dará como resultado un gráfico de serie cronológica con las ventas brutas por mes en el último año. Las ventas brutas se representarán en una sola línea, con el eje "X" etiquetado como mes y el "Y" etiquetado como ventas totales:
AS
La palabra clave AS
es una palabra clave opcional que te permite cambiar el nombre de una columna (o proporcionarle un alias) o el valor devuelto de una función agregada.
AS
solo acepta un parámetro único. Si el alias tiene un espacio en el nombre, debes encerrarlo entre comillas dobles (").
Otras funciones y operadores de ShopifyQL
ShopifyQL incluye los siguientes operadores y funciones adicionales:
-
Operadores matemáticos, como
+
o/
-
Funciones, como
round()
ytrim()
- Uniones implícitas
-
Coincidencias parciales de cadenas y matrices, como
STARTS WITH
yCONTAINS
- Comentarios
Operadores matemáticos
ShopifyQL permite realizar operaciones aritméticas con las métricas de tus datos. Los siguientes operadores matemáticos están disponibles:
Operadores matemáticos | Descripción |
---|---|
+ | Suma de dos números. |
- | Resta de dos números. |
* | Multiplicación de dos números. |
/ | División de dos números. |
Por ejemplo, la siguiente consulta calcula el valor de los pedidos en cada región durante el último año. Cuando usas operadores matemáticos con métricas, puedes emplear la palabra clave AS
para asignar un nombre nuevo a la métrica nueva.
Funciones
Las funciones de ShopifyQL te permiten agregar columnas o combinarlas para crear un nuevo valor, similar a las tablas dinámicas en Microsoft Excel. Los siguientes operadores de funciones están disponibles en la versión actual de ShopifyQL:
Operador de funciones | Descripción |
---|---|
TRIM(column_name) | Elimina los espacios en blanco iniciales y finales de una cadena. |
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 */
.