Utilizzo dell'editor di query di ShopifyQL
Puoi utilizzare ShopifyQL con la nuova funzionalità Analisi di Shopify per esplorare il database del tuo negozio e recuperare i dati in grado di offrirti una conoscenza più approfondita della tua attività.
ShopifyQL, o Shopify Query Language, è il linguaggio di query di Shopify creato per il commercio. Le lingue di query vengono utilizzate per richiedere e recuperare dati dai database. I dati del tuo negozio sono memorizzati in tabelle di database, strutturate in colonne e righe definite. Le colonne definiscono il tipo di informazioni che contengono, ad esempio vendite e righe, che specificano il valore effettivo del tipo di dati, ad esempio 2.450 $ di vendite.
Per recuperare i dati in un formato utilizzabile, è necessario inviare una query al database. Una query è una domanda che richiede dati specifici come risposta, composta da parole chiave e dai relativi parametri. La combinazione di diverse parole chiave con parametri specifici crea la tua query. Dopo aver creato la query, puoi eseguirla e ricevere un report.
Su questa pagina
Glossario dei termini
Termine | Definizione |
---|---|
Dimensione | Attributo che segmenta i dati in modo che possano essere ordinati e presentati con maggiore chiarezza. Esempi comuni di dimensioni includono tempo, prodotti e luoghi. Le dimensioni vengono utilizzate come parametri di ShopifyQL. |
Parola chiave | Sintassi di ShopifyQL che agisce come comando per indirizzare la query. |
Metrica | Misurazione quantitativa dei dati. Esempi comuni di metriche includono le vendite totali, il numero di ordini e il profitto lordo. |
Parametro | Sintassi di ShopifyQL che identifica gli elementi o i dati del database da includere nella query. |
Operatore | Parola o carattere riservato utilizzato come parte di una query. Alcuni esempi includono STARTS WITH , >= o last_week . |
Sintassi di ShopifyQL
Quando si crea una query di report valida utilizzando ShopifyQL, devi soddisfare i seguenti requisiti:
- è possibile inserire un'intera query su una riga o su righe separate;
- devi includere almeno le parole chiave
FROM
eSHOW
, con i parametri appropriati; tutte le altre parole chiave e parametri sono facoltativi. - Tutte le parole chiave in una query devono essere incluse nell'ordine seguente:
-
FROM
-
SHOW
-
WHERE
-
GROUP BY
-
WITH
TOTALS
,GROUP_TOTALS
,PERCENT_CHANGE
-
TIMESERIES
-
HAVING
-
SINCE
&UNTIL
, oDURING
-
COMPARE TO
& facoltativoUNTIL
-
ORDER BY
-
LIMIT
-
VISUALIZE
&TYPE
-
Questo è un esempio di ShopifyQL, scritto come query utilizzando la sintassi corretta. Le parole chiave sono in grassetto, i parametri corrispondenti sono inclusi utilizzando segnaposto generici e i parametri facoltativi sono tra parentesi:
Parole chiave di ShopifyQL
Le query di ShopifyQL possono variare da quelle di base, per approfondimenti generici sui dati, a quelle complete, per approfondimenti dettagliati. Ogni parola chiave ha una funzione specifica che crea la tua query.
Parola chiave | Descrizione |
---|---|
FROM | Specifica la tabella di set di dati da cui selezionare i dati. |
SHOW | Seleziona le colonne che desideri estrarre dalla tabella di set di dati. |
WHERE | Definisce la condizione o le condizioni che le righe devono soddisfare per poter essere selezionate. |
GROUP BY | Raggruppa i dati estratti in base a una dimensione o a dimensioni di tempo. |
WITH | Modifica il comportamento di alcune parole chiave di ShopifyQL. |
TIMESERIES | Distingue il raggruppamento per dimensioni temporali e completa le date in una query. |
HAVING | Filtra i risultati di una query dopo che sono stati raggruppati. |
SINCE | Mostra i dati relativi a un periodo di tempo specificato nel passato. Spesso associato a UNTIL . |
UNTIL | Mostra i dati fino a un'ora specificata nel passato. Spesso associato a SINCE o COMPARE TO . |
DURING | Mostra i dati durante un momento specifico del passato. |
COMPARE TO | Mostra i dati da confrontare con un orario specificato nel passato. |
ORDER BY | Specifica la colonna in base a cui ordinare i dati. |
LIMIT | Limita il numero di righe di dati mostrate. |
VISUALIZE | Mostra i dati in una visualizzazione a linee o a barre. Puoi specificare quale visualizzazione desideri con TYPE . |
AS | Una parola chiave facoltativa che rinomina una colonna con un nome a tua scelta. |
FROM e SHOW
La creazione della query di ShopifyQL più semplice richiede solo due parole chiave: FROM
e SHOW
, scritte in questo ordine. FROM
seguito da uno o più parametri del nome di una tabella specifica le tabelle su cui desideri eseguire una query. SHOW
seguito da qualsiasi numero di parametri del nome di una colonna specifica le colonne che desideri selezionare.
SHOW
può essere utilizzato per specificare l'ordine in cui le metriche e le dimensioni vengono restituite nel report.
Ad esempio, puoi restituire la somma delle vendite totali scrivendo questa query:
WHERE
La parola chiave WHERE
ti consente di applicare un filtro dimensionale a un'intera query di ShopifyQL. Il filtro può essere modificato sia dagli operatori di confronto (ad esempio greater than >
), dagli operatori logici (ad esempio AND
o NOT
) che dalla corrispondenza parziale di stringa e matrice (ad esempio STARTS WITH
e CONTAINS
).
WHERE
: queste condizioni devono soddisfare i requisiti seguenti.
- I valori devono essere racchiusi tra virgolette singole ('), non tra virgolette doppie (").
- Le condizioni non possono contenere alcuna aritmetica.
- Le condizioni possono fare riferimento solo a una dimensione, non a una metrica.
Ad esempio, se desideri restituire le vendite totali, ma filtrate in base al paese di fatturazione, la tua query sarà:
Come nell'esempio sopra riportato, puoi filtrare il set di risultati con il parametro WHERE
anche quando quel parametro non è incluso nella parola chiave SHOW
. In questo caso, le vendite totali vengono filtrate solo per gli ordini provenienti dal Canada, anche se billing_country
non è incluso nel set di risultati.
Operatori di confronto
La parola chiave WHERE
utilizza operatori di confronto per filtrare i dati. Nell'esempio qui sopra =
è stato utilizzato per specificare che la query filtri un valore specifico, tuttavia sono disponibili anche altri operatori:
Operatore di confronto | Descrizione |
---|---|
= | uguale a |
!= | non uguale a |
< | minore di |
> | maggiore di |
<= | minore di o uguale a |
>= | maggiore di o uguale a |
Operatori logici
Per filtrare ulteriormente i dati, puoi aggiungere operatori logici alla query. Gli operatori logici di ShopifyQL sono:
Operatore logico | Descrizione |
---|---|
AND | Filtro per includere tutte le righe in cui le condizioni separate da AND sono soddisfatte. |
OR | Filtro per includere tutte le righe in cui una delle condizioni separate da OR è soddisfatta. |
NOT | Filtro per includere solo le righe in cui le condizioni non sono soddisfatte, ad esempio le righe che non contengono il valore specificato. |
Con la parola chiave WHERE
puoi utilizzare più filtri aggiungendo operatori logici.
Ampliando la query del set di dati di esempio in modo da ottenere un raggruppamento mensile del fatturato netto per tutti gli ordini con pesche essiccate con indirizzo di fatturazione in Canada e con uno sconto applicato, la query sarà:
GROUP BY
Per segmentare una metrica in base a una dimensione, ad esempio per raggruppare le vendite in base all'area geografica, utilizza la parola chiave GROUP BY
. La parola chiave GROUP BY
può essere associata a qualsiasi parametro di dimensione.
Ad esempio, una query che raggruppa le vendite totali per paese e area geografica di fatturazione sarà scritta come segue:
Ecco un'altra query di esempio che utilizza una dimensione temporale per mostrare le vendite totali per mese:
La query qui sopra non restituisce nessuno dei mesi in cui non sono presenti vendite. Se desideri una query che restituisca un periodo di tempo completo e ininterrotto, utilizza la parola chiave TIMESERIES
.
Dimensioni temporali
Di seguito sono elencate le dimensioni temporali che puoi utilizzare per raggruppare i dati:
Operatore | Descrizione |
---|---|
second | Raggruppamento per secondo. |
minute | Raggruppamento per minuto. |
hour | Raggruppamento per ora del giorno di calendario. |
day | Raggruppamento per giorno di calendario. |
week | Raggruppamento per settimana di calendario. |
month | Raggruppamento per mese di calendario. |
quarter | Raggruppamento per trimestre di calendario. |
year | Raggruppamento per anno di calendario. |
hour_of_day | Raggruppamento per 24 ore (1, 2, ..., 24). |
day_of_week | Raggruppamento per giorno della settimana (L, M, M, ..., D). |
week_of_year | Raggruppamento per settimana dell'anno (1, 2, ..., 52). |
month_of_year | Raggruppamento per mese dell'anno (1, 2, ..., 12). |
TIMESERIES
Puoi utilizzare la parola chiave TIMESERIES
per distinguere il raggruppamento in base alle dimensioni temporali, visualizzare le metriche nel tempo e completare le date in una query per trasformarle in un grafico di serie temporali in cui i dati non esistono.
In questo esempio, stai completando i dati delle vendite totali mancanti negli ultimi 15 giorni:
TIMESERIES e l'ordine delle colonne
A seconda che la parola chiave TIMESERIES
venga fornita e sia presente nei valori GROUP BY
o SHOW
, l'ordine delle colonne può cambiare.
TIMESERIES | SHOW | GROUP BY | Risultato |
---|---|---|---|
Fornita | Non presente | Non presente |
TIMESERIES è la prima dimensione. |
Fornita | Non presente | Presente | La posizione delle dimensioni temporali è definita dalla sua posizione in GROUP BY . |
Fornita | Presente | Presente | La posizione delle dimensioni temporali è definita dalla sua posizione in SHOW . |
Non fornita | Non presente | Presente | La posizione delle dimensioni temporali è definita dalla sua posizione in GROUP BY . I dati non sono completati. |
Non fornita | Presente | Presente | La posizione delle dimensioni temporali è definita dalla sua posizione in SHOW . I dati non sono completati. |
Non fornita | Presente | Non presente | Attiva un errore di sintassi perché SHOW può fare riferimento solo alle dimensioni presenti in GROUP BY . |
HAVING
Similmente a WHERE
, puoi utilizzare la parola chiave HAVING
per filtrare i risultati di una query dopo che questi sono stati raggruppati. Il filtro può avere una condizione, ma può essere modificata sia dagli operatori di confronto (ad esempio greater than >
) che dagli operatori logici (ad esempio AND
o NOT
). A differenza della parola chiave WHERE
, HAVING
può fare riferimento ad alias, funzioni aggregate e colonne di raggruppamento.
HAVING
richiede che la query includa GROUP BY
o TIMESERIES
perché HAVING
filtra i risultati di una query dopo che questi sono stati raggruppati in base a GROUP BY
o TIMESERIES
.
In questo esempio stai filtrando le vendite totali di ogni prodotto con vendite totali maggiori di 1000 e inferiori a 5000:
WITH
La parola chiave WITH
modifica il comportamento di altre parole chiave di ShopifyQL. Esistono 3 modifiche disponibili:
-
TOTALS
: fornisce un riepilogo di primo livello delle metriche prima che vengano suddivise in base a qualsiasi dimensione; -
GROUP_TOTALS
: fornisce un totale per tutti i sotto-raggruppamenti quando è presente un gruppo per aggregazione; -
PERCENT_CHANGE
: aggiunge una metrica della variazione percentuale a ogni colonna di confronto inCOMPARE TO
. Quando questo modificatore è presente, viene aggiunta una nuova colonna per ogni colonna della metrica di confronto, contenente la variazione percentuale.
TOTALS
Il modificatore TOTALS
fornisce un riepilogo di primo livello delle metriche prima che vengano suddivise in base a qualsiasi dimensione. Quando usi WITH TOTALS
, la query restituisce i totali come colonne aggiuntive nel set di risultati con il nome della metrica e "totali" come parte del nome della colonna. Ogni riga contiene tutti i totali applicabili.
Ad esempio, questa query mostra i totali delle vendite totali:
Questa query potrebbe restituire un report simile a questo:
Giorno | Fatturato lordo | Fatturato netto | Vendite totali | Totali del fatturato lordo | Totali del fatturato netto | Totali delle vendite totali |
---|---|---|---|---|---|---|
01-01-2024 | 1 | 4 | 7 | 6 | 15 | 24 |
01-02-2024 | 2 | 5 | 8 | 6 | 15 | 24 |
01-03-2024 | 3 | 6 | 9 | 6 | 15 | 24 |
GROUP_TOTALS
Il modificatore GROUP_TOTALS
fornisce un totale per tutti i sotto-raggruppamenti quando è presente un gruppo per aggregazione. Quando usi WITH GROUP_TOTALS
, la query restituisce i totali come colonne aggiuntive nel set di risultati con il nome della metrica, le dimensioni totalizzate e "totali" come parte del nome della colonna. Ogni riga contiene tutti i totali applicabili.
Ad esempio, questa query mostra un totale delle vendite totali in base al paese di fatturazione:
Questa query potrebbe restituire un report simile a questo:
Nazione | ID cliente | Vendite totali | Totali delle vendite totali per paese | Totali delle vendite totali |
---|---|---|---|---|
USA | 1 | 1 | 0 | 1 |
USA | zero | -1 | 1 | 1 |
Canada | 1 | 1 | 1 | 1 |
PERCENT_CHANGE
Il modificatore PERCENT_CHANGE
aggiunge una metrica della variazione percentuale a ogni colonna di confronto quando utilizzi COMPARE TO
. Quando utilizzi WITH PERCENT_CHANGE
, la query restituisce la variazione percentuale per ogni metrica di confronto come colonne aggiuntive nel set di risultati con il nome della metrica e "variazione percentuale" come parte del nome della colonna.
La formula utilizzata per calcolare la variazione percentuale è: (base_column - comparison_column) * 100 / abs(comparison_column)
Ad esempio, questa query utilizza SINCE
e COMPARE TO
per confrontare il fatturato netto giornaliero del mese precedente con lo stesso mese dell'anno precedente, con una colonna relativa alla variazione percentuale:
Le colonne del report risultante includono data, fatturato netto, data di confronto, fatturato netto di confronto e variazione percentuale del fatturato netto.
SINCE e UNTIL
Se desideri filtrare la query in base a una data o a un determinato periodo di tempo, puoi utilizzare le parole chiave SINCE
e UNTIL
e i relativi parametri associati. Queste parole chiave sono univoche perché filtrano solo i periodi di tempo. Se utilizzi SINCE
e non definisci un valore UNTIL
, allora per impostazione predefinita la fine dell'intervallo di tempo sarà today
.
Ad esempio, questa è una query per trovare il fatturato netto degli ultimi 12 mesi, in Canada, fino a ieri:
Operatori offset
Puoi filtrare in base a date specifiche o a offset di data e ora. Gli operatori offset di ShopifyQL sono:
Operatore offset | Descrizione |
---|---|
-{#}s | Numero di secondi trascorsi dalla data e ora in cui viene eseguita la query. |
-{#}min | Numero di minuti trascorsi dalla data e ora in cui viene eseguita la query. |
-{#}h | Numero di ore trascorse dalla data e ora in cui viene eseguita la query. |
-{#}d | Numero di giorni trascorsi dalla data e ora in cui viene eseguita la query. |
-{#}w | Numero di settimane trascorse dalla data e ora in cui viene eseguita la query. |
-{#}m | Numero di mesi trascorsi dalla data e ora in cui viene eseguita la query. |
-{#}q | Numero di trimestri trascorsi dalla data e ora in cui viene eseguita la query. |
-{#}y | Numero di anni trascorsi dalla data e ora in cui viene eseguita la query. |
yyyy-MM-dd | Una data specifica. |
yyyy-MM-ddThh:mm:ss | Una data e un'ora specifiche. |
Funzioni data
Puoi utilizzare le seguenti funzioni combinate con qualsiasi operatore di intervallo di date (ad eccezione di date specifiche) in SINCE
e UNTIL
. Le funzioni "startOf...
" vengono troncate all'inizio dell'unità di tempo associata (minuto, ora, giorno, settimana, mese, trimestre e anno) quando vengono utilizzate con SINCE
e le funzioni "endOf...
" vengono troncate alla fine dell'unità di tempo associata quando vengono utilizzate con UNTIL
.
Le unità di funzione data e le unità operatore devono corrispondere per poter restituire un risultato valido. Ad esempio, startOfMonth(-1m)
è corretto, ma startOfMonth(-1d)
non lo è.
Funzione data | Descrizione |
---|---|
now | La data e l'ora in cui viene eseguita la query. |
startOfMinute(-{#}min) | Tronca l'operatore dell'intervallo di date fino all'inizio del minuto di destinazione. |
endOfMinute(-{#}min) | Tronca l'operatore dell'intervallo di date fino alla fine del minuto di destinazione. |
startOfHour(-{#}h) | Tronca l'operatore dell'intervallo di date fino all'inizio dell'ora di destinazione. |
endOfHour(-{#}h) | Tronca l'operatore dell'intervallo di date fino alla fine dell'ora di destinazione. |
startOfDay(-{#}d) | Tronca l'operatore dell'intervallo di date fino all'inizio del giorno di destinazione. |
endOfDay(-{#}d) | Tronca l'operatore dell'intervallo di date fino alla fine del giorno di destinazione. | startOfWeek(-{#}w) | Tronca l'operatore dell'intervallo di date fino all'inizio della settimana di destinazione. |
endOfWeek(-{#}w) | Tronca l'operatore dell'intervallo di date fino alla fine della settimana di destinazione. |
startOfMonth(-{#}m) | Tronca l'operatore dell'intervallo di date fino all'inizio del mese di destinazione. |
endOfMonth(-{#}m) | Tronca l'operatore dell'intervallo di date fino alla fine del mese di destinazione. |
startOfQuarter(-{#}q) | Tronca l'operatore dell'intervallo di date fino all'inizio del trimestre di destinazione. |
endOfQuarter(-{#}q) | Tronca l'operatore dell'intervallo di date fino alla fine del trimestre di destinazione. |
startOfYear(-{#}y) | Tronca l'operatore dell'intervallo di date fino all'inizio dell'anno di destinazione. |
endOfYear(-{#}y) | Tronca l'operatore dell'intervallo di date fino alla fine dell'anno di destinazione. |
Ad esempio, se oggi è l'8 novembre 2022, puoi utilizzare la seguente query per restituire il fatturato lordo dal 1° gennaio 2020 al 31 ottobre 2022:
DURING
La parola chiave DURING
semplifica il filtro delle date a seconda degli intervalli di date e sostituisce l'uso di SINCE
e UNTIL
. Puoi utilizzare la parola chiave DURING
per filtrare i risultati della query in base a un periodo di tempo noto, ad esempio un anno di calendario o un mese specifico, o per intervalli di date con date diverse ogni anno, ad esempio Black Friday Cyber Monday. Per esempio:
Operatori dell'intervallo di date denominati
DURING
accetta uno dei seguenti operatori di intervallo di date denominati:
Operatore dell'intervallo di date denominato | Descrizione |
---|---|
today | La data in cui viene eseguita la query. |
yesterday | Le 24 ore che precedono il momento in cui viene eseguita la query. |
this_week | La settimana di calendario attuale. |
this_month | Il mese di calendario attuale. |
this_quarter | Il trimestre di calendario attuale. |
this_year | L'anno solare corrente. |
last_week | La settimana di calendario precedente. |
last_month | Il mese di calendario precedente. |
last_quarter | Il trimestre di calendario precedente. |
last_year | L'anno solare precedente. |
bfcmYYYY | L'intervallo di date del Black Friday Cyber Monday in base all'anno specificato. Ad esempio, i risultati bfcm2022 dal 25 al 28 novembre 2022. |
COMPARE TO
La parola chiave COMPARE TO
ti consente di confrontare i dati nell'intervallo di date in SINCE
e UNTIL
o DURING
e quello in COMPARE TO
.
Puoi utilizzare la parola chiave COMPARE TO
con i seguenti tipi di parametri:
- Date assolute, ad esempio
2023-01-01
: include le metriche per il periodo specificato e le metriche di confronto per lo stesso periodo nella data assoluta. -
Date definite, ad esempio
last_week
: include le metriche per il periodo specificato e le metriche di confronto per lo stesso periodo nella data definita.- L'operatore utilizzato da
COMPARE TO
non deve avere la stessa durata di quello utilizzato daDURING
. Se non viene fornito nessun valoreUNTIL
, calcola l'intervallo di tempo in modo che sia uguale al valore specificato inDURING
. Ad esempio,DURING this_week COMPARE TO last_month
confronta i dati di questa settimana con un periodo di una settimana che inizia all'inizio del mese scorso.
- L'operatore utilizzato da
Date di offset, ad esempio
-3q
: include le metriche per il periodo specificato e le metriche di confronto per lo stesso periodo nella data definita.Confronti con più date, ad esempio
-1y, -2y
: confronta i dati di un intervallo di date specifico con altri intervalli di date. Questa operazione può risultare utile se desideri monitorare le modifiche in più periodi.Se utilizzi una dimensione data in una query con
COMPARE TO
, devi utilizzareTIMESERIES
al suo posto, anzichéGROUP BY
.
L'esempio seguente confronta il fatturato netto del mese precedente con lo stesso mese dell'anno precedente:
Operatori dell'intervallo di date relativo
Gli operatori relativi restituiscono lo stesso periodo di tempo dell'intervallo di date di base, spostato indietro per il periodo specificato. Oltre agli operatori dell'intervallo di date denominati, COMPARE TO
accetta i seguenti operatori relativi:
Operatore dell'intervallo di date relativo | Descrizione |
---|---|
previous_period | Un periodo prima dell'intervallo di date di base. |
previous_year | Un anno prima dell'intervallo di date di base. |
previous_quarter | Un trimestre prima dell'intervallo di date di base. |
previous_month | Un mese prima dell'intervallo di date di base. |
previous_week | Una settimana prima dell'intervallo di date di base. |
previous_day | Un giorno prima dell'intervallo di date di base. |
previous_hour | Un'ora prima dell'intervallo di date di base. |
previous_minute | Un minuto prima dell'intervallo di date di base. |
previous_second | Un secondo prima dell'intervallo di date di base. |
ORDER BY
Puoi specificare come desideri ordinare i dati restituiti dalla query utilizzando la parola chiave ORDER BY
e i relativi parametri: ASC
, per l'ordine crescente e DESC
, per l'ordine decrescente.
Nella parola chiave ORDER BY
puoi specificare ogni metrica o dimensione inclusa nella query, anche specificando più campi.
Ad esempio, questa query restituisce il fatturato netto di tutti i prodotti e le varianti nel corso dell'ultimo anno. I risultati vengono prima ordinati in ordine alfabetico per titolo del prodotto e quindi in ordine alfabetico inverso per tipo di prodotto:
L'ordine in cui scrivi le metriche o le dimensioni è importante: se specifichi più valori per ORDER BY
, l'ordinamento viene applicato per ciascuna metrica o dimensione nell'ordine fornito.
TIMESERIES e l'ordine delle colonne
A seconda che la query includa o meno TIMESERIES
e ORDER BY
, l'ordine delle colonne può cambiare.
TIMESERIES | ORDER BY | Risultato |
---|---|---|
Presente | Non presente | I risultati sono ordinati in base alla dimensione TIMESERIES . |
Presente | Presente | I risultati sono ordinati in base alla dimensione temporale TIMESERIES , quindi in base alla dimensione ORDER BY . |
Non presente | Presente | I risultati sono ordinati in base alla dimensione ORDER BY . |
Non presente | Non presente | I risultati sono ordinati in base alla prima colonna SHOW . |
LIMIT
La parola chiave LIMIT
ti consente di specificare il numero massimo di righe restituite dalla query. Questa operazione risulta utile quando desideri solo capire l'aspetto dei dati di ogni colonna o per i report più grandi in cui le query possono restituire i valori impiegando più tempo del normale. Puoi combinare LIMIT
con ORDER BY
per creare elenchi con classifiche.
Se non si specifica un valore LIMIT
, per impostazione predefinita la query è di 1000 righe.
Puoi anche utilizzare un parametro { OFFSET # }
facoltativo per saltare un certo numero di righe prima di iniziare a restituire i dati delle righe. La formattazione della frase risultante potrebbe essere simile a questa: LIMIT 15 { OFFSET 5 }
.
Questo esempio utilizza LIMIT
e ORDER BY
per creare un elenco dei 10 prodotti più venduti negli ultimi 3 mesi:
VISUALIZE e TYPE
La parola chiave VISUALIZE
ti consente di scrivere una query di ShopifyQL che fornisce una visualizzazione grafica dei dati. Le visualizzazioni supportate includono i seguenti valori:
-
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 parola chiave TYPE
è facoltativa e deve essere accompagnata da un unico tipo di visualizzazione. Se TYPE
non è inclusa nella tua query, ShopifyQL sceglie automaticamente la visualizzazione più adatta alla query. Se la tua query non può essere visualizzata in forma scritta, ShopifyQL restituisce i dati in formato di tabella.
VISUALIZE
accetta anche una parola chiave LIMIT
facoltativa dove il parametro è il numero limitato di punti dati su cui eseguire il rendering.
Ad esempio, puoi visualizzare il trend di vendita dell'ultimo anno per mese tramite una linea del trend. Questa query restituisce un grafico della serie temporale che mostra il fatturato lordo mensile nell'ultimo anno. Il fatturato lordo è raffigurato da una singola linea, con l'asse X che rappresenta il mese e l'asse Y che rappresenta il fatturato lordo:
AS
AS
è una parola chiave facoltativa che ti consente di rinominare o fornire un alias a una colonna o il valore restituito di una funzione aggregata.
AS
accetta un solo parametro. Se nel nome c'è uno spazio, devi racchiudere l'alias tra virgolette doppie (").
Altre funzioni e operatori di ShopifyQL
ShopifyQL include i seguenti operatori e funzioni aggiuntivi:
-
Operatori matematici, ad esempio
+
o/
-
Funzioni, come
round()
etrim()
- Unioni implicite
-
Corrispondenza parziale di stringa e matrice, ad esempio
STARTS WITH
eCONTAINS
- Commenti
Operatori matematici
ShopifyQL consente di effettuare operazioni aritmetiche con le metriche dei tuoi dati. Sono disponibili i seguenti operatori aritmetici:
Operatori aritmetici | Descrizione |
---|---|
+ | Addizione di due numeri. |
- | Sottrazione di due numeri. |
* | Moltiplicazione di due numeri. |
/ | Divisione di due numeri. |
Ad esempio, questa query calcola il valore dell'ordine per ogni area geografica nel corso dell'ultimo anno. Quando utilizzi gli operatori matematici con le metriche, puoi utilizzare la parola chiave AS
per assegnare un nuovo nome alla nuova metrica.
Funzioni
Le funzioni di ShopifyQL ti permettono di aggregare colonne o combinarle per creare un nuovo valore, in modo simile alle tabelle pivot di Microsoft Excel. Nella versione attuale di ShopifyQL sono disponibili i seguenti operatori di funzione:
Operatore di funzione | Descrizione |
---|---|
TRIM(column_name) | Rimuove gli spazi vuoti iniziali e finali da una stringa. |
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 */
.