Utilizzo dell'editor di query di ShopifyQL

<<<<<<< HEAD:content/it/manual/reports-and-analytics/shopify-reports/new-analytics/shopifyql-editor.md

======= >>>>>>> a8772b4ba2f5 (Relocated all the pages from /new-analytics/ to existing folders.):content/it/manual/reports-and-analytics/shopify-reports/report-types/shopifyql-editor.md

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.

Glossario dei termini

Definizioni dei termini di ShopifyQL, come la dimensione, la parola chiave e l'operatore.
TermineDefinizione
DimensioneAttributo 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 chiaveSintassi di ShopifyQL che agisce come comando per indirizzare la query.
MetricaMisurazione quantitativa dei dati. Esempi comuni di metriche includono le vendite totali, il numero di ordini e il profitto lordo.
ParametroSintassi di ShopifyQL che identifica gli elementi o i dati del database da includere nella query.
OperatoreParola 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 e SHOW, 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: 1. FROM 2. SHOW 3. WHERE 4. GROUP BY 5. TIMESERIES 6. WITH TOTALS, GROUP_TOTALS, PERCENT_CHANGE 7. HAVING 8. SINCE & UNTIL, o DURING 9. COMPARE TO & facoltativo UNTIL 10. ORDER BY 11. LIMIT 12. 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:

FROM table_name1, table_name2, ...
SHOW column1 { AS alias }, column2 { AS alias }, ...
WHERE condition
GROUP BY dimension
TIMESERIES time_dimension
WITH TOTALS, GROUP_TOTALS, PERCENT_CHANGE
HAVING condition
SINCE date_offset
UNTIL date_offset
DURING named_date_range
COMPARE TO [date_offset, ...]
ORDER BY column { ASC | DESC }
LIMIT number { OFFSET number }
VISUALIZE [alias1, alias2, ...]
  TYPE { visualization_type }
  LIMIT number

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.

Elenco delle parole chiave di ShopifyQL e delle relative descrizioni.
Parola chiaveDescrizione
FROMSpecifica la tabella di set di dati da cui selezionare i dati.
SHOWSeleziona le colonne che desideri estrarre dalla tabella di set di dati.
WHEREDefinisce la condizione o le condizioni che le righe devono soddisfare per poter essere selezionate.
GROUP BYRaggruppa i dati estratti in base a una dimensione o a dimensioni di tempo.
TIMESERIESDistingue il raggruppamento per dimensioni temporali e completa le date in una query.
WITHModifica il comportamento di alcune parole chiave di ShopifyQL.
HAVINGFiltra i risultati di una query dopo che sono stati raggruppati.
SINCEMostra i dati relativi a un periodo di tempo specificato nel passato. Spesso associato a UNTIL.
UNTILMostra i dati fino a un'ora specificata nel passato. Spesso associato a SINCE o COMPARE TO.
DURINGMostra i dati durante un momento specifico del passato.
COMPARE TOMostra i dati da confrontare con un orario specificato nel passato.
ORDER BYSpecifica la colonna in base a cui ordinare i dati.
LIMITLimita il numero di righe di dati mostrate.
VISUALIZEMostra i dati in una visualizzazione a linee o a barre. Puoi specificare quale visualizzazione desideri con TYPE.
ASUna parola chiave facoltativa che rinomina una colonna con un nome a tua scelta.
### FROM e SHOW {#from-and-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:

FROM sales
SHOW total_sales

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à:

FROM sales
SHOW total_sales, product_title, product_type, product_vendor
WHERE billing_country='Canada'
GROUP BY product_title, product_type, product_vendor

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:

Elenco degli operatori di confronto di ShopifyQL, come greater than o equal to.
Operatore di confrontoDescrizione
=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:

Elenco degli operatori logici di ShopifyQL, come AND, OR e NOT.
Operatore logicoDescrizione
ANDFiltro per includere tutte le righe in cui le condizioni separate da AND sono soddisfatte.
ORFiltro per includere tutte le righe in cui una delle condizioni separate da OR è soddisfatta.
NOTFiltro 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à:

FROM sales
SHOW total_sales, product_title, product_type, product_vendor
WHERE billing_country = 'Canada' AND product_title = 'Dried Peaches' AND is_discounted_sale = true
GROUP BY product_title, product_type, product_vendor

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:

FROM sales
SHOW total_sales
GROUP BY billing_country, billing_region

Ecco un'altra query di esempio che utilizza una dimensione temporale per mostrare le vendite totali per mese:

FROM sales
SHOW total_sales
GROUP BY month

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.

FROM sales
SHOW total_sales
TIMESERIES month
SINCE last_year
UNTIL today

Dimensioni temporali

Di seguito sono elencate le dimensioni temporali che puoi utilizzare per raggruppare i dati:

Elenco delle dimensioni temporali di ShopifyQL, ad esempio secondo, minuto o giorno della settimana.
OperatoreDescrizione
secondRaggruppamento per secondo.
minuteRaggruppamento per minuto.
hourRaggruppamento per ora del giorno di calendario.
dayRaggruppamento per giorno di calendario.
weekRaggruppamento per settimana di calendario.
monthRaggruppamento per mese di calendario.
quarterRaggruppamento per trimestre di calendario.
yearRaggruppamento per anno di calendario.
hour_of_dayRaggruppamento a base zero per 24 ore (0, 1, ..., 23).
day_of_weekRaggruppamento a base zero per giorno della settimana (0, 1, ..., 6).
week_of_yearRaggruppamento per settimana dell'anno (1, 2, ..., 52).
month_of_yearRaggruppamento 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:

FROM sales
SHOW total_sales
GROUP BY product_title, billing_country
TIMESERIES day
SINCE -15d

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.

Esempi di TIMESERIES e di come l'ordine delle colonne viene visualizzato con GROUP BY o SHOW in ShopifyQL.
TIMESERIESSHOWGROUP BYRisultato
FornitaNon presenteNon presente TIMESERIES è la prima dimensione.
FornitaNon presentePresenteLa posizione delle dimensioni temporali è definita dalla sua posizione in GROUP BY.
FornitaPresentePresenteLa posizione delle dimensioni temporali è definita dalla sua posizione in SHOW.
Non fornitaNon presentePresenteLa posizione delle dimensioni temporali è definita dalla sua posizione in GROUP BY. I dati non sono completati.
Non fornitaPresentePresenteLa posizione delle dimensioni temporali è definita dalla sua posizione in SHOW. I dati non sono completati.
Non fornitaPresenteNon presenteAttiva 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:

FROM sales
SHOW total_sales
GROUP BY product_title
HAVING total_sales > 1000 AND total_sales < 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 in COMPARE 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:

FROM sales
SHOW gross_sales, net_sales, total_sales
TIMESERIES day
WITH TOTALS

Questa query potrebbe restituire un report simile a questo:

Esempio di tabella delle vendite di ShopifyQL che utilizza WITH TOTALS.
GiornoFatturato lordoFatturato nettoVendite totali
Riepilogo61524
01-01-2024147
01-02-2024258
01-03-2024369
#### 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:

FROM sales
SHOW customer_id, total_sales
GROUP BY customer_id, billing_country
WITH TOTALS, GROUP_TOTALS

Questa query potrebbe restituire un report simile a questo:

Esempio di tabella delle vendite di ShopifyQL che utilizza GROUP_TOTALS.
NazioneID clienteVendite totali
Riepilogo (USA + Canada)-1
Totali del gruppo USA-0
USA11
USAzero-1
Totali del gruppo Canada-1
Canada11
#### 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:

FROM sales
SHOW net_sales
TIMESERIES day
WITH PERCENT_CHANGE
SINCE -1m
UNTIL -0m
COMPARE TO previous_year

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:

FROM sales
SHOW net_sales
WHERE billing_country = 'Canada'
GROUP BY month
SINCE -12m
UNTIL yesterday

Operatori offset

Puoi filtrare in base a date specifiche o a offset di data e ora. Gli operatori offset di ShopifyQL sono:

Elenco degli operatori offset di ShopifyQL, ad esempio l'offset in base a secondi, minuti o una data specifica.
Operatore offsetDescrizione
-{#}sNumero di secondi trascorsi dalla data e ora in cui viene eseguita la query.
-{#}minNumero di minuti trascorsi dalla data e ora in cui viene eseguita la query.
-{#}hNumero di ore trascorse dalla data e ora in cui viene eseguita la query.
-{#}dNumero di giorni trascorsi dalla data e ora in cui viene eseguita la query.
-{#}wNumero di settimane trascorse dalla data e ora in cui viene eseguita la query.
-{#}mNumero di mesi trascorsi dalla data e ora in cui viene eseguita la query.
-{#}qNumero di trimestri trascorsi dalla data e ora in cui viene eseguita la query.
-{#}yNumero di anni trascorsi dalla data e ora in cui viene eseguita la query.
yyyy-MM-ddUna data specifica.
yyyy-MM-ddThh:mm:ssUna 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 è.

<tr>
    <td scope="row"><code translate="no">endOfWeek(-{#}w)</code></td>
    <td>Tronca l'operatore dell'intervallo di date fino alla fine della settimana di destinazione.</td>
 </tr>
  <tr>
    <td scope="row"><code translate="no">startOfMonth(-{#}m)</code></td>
    <td>Tronca l'operatore dell'intervallo di date fino all'inizio del mese di destinazione.</td>
 </tr>
  <tr>
    <td scope="row"><code translate="no">endOfMonth(-{#}m)</code></td>
    <td>Tronca l'operatore dell'intervallo di date fino alla fine del mese di destinazione.</td>
 </tr>
  <tr>
    <td scope="row"><code translate="no">startOfQuarter(-{#}q)</code></td>
    <td>Tronca l'operatore dell'intervallo di date fino all'inizio del trimestre di destinazione.</td>
 </tr>
  <tr>
    <td scope="row"><code translate="no">endOfQuarter(-{#}q)</code></td>
    <td>Tronca l'operatore dell'intervallo di date fino alla fine del trimestre di destinazione.</td>
 </tr>
  <tr>
    <td scope="row"><code translate="no">startOfYear(-{#}y)</code></td>
    <td>Tronca l'operatore dell'intervallo di date fino all'inizio dell'anno di destinazione.</td>
 </tr>
       <tr>
    <td scope="row"><code translate="no">endOfYear(-{#}y)</code></td>
    <td>Tronca l'operatore dell'intervallo di date fino alla fine dell'anno di destinazione.</td>
 </tr>
Elenco delle funzioni data di ShopifyQL, ad esempio end of day o start of quarter.
Funzione dataDescrizione
nowLa 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.

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:

FROM sales
SHOW gross_sales
SINCE startOfYear(-2y)
UNTIL endOfMonth(-1m)

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:

FROM sales
SHOW total_sales
GROUP BY day
DURING bfcm2021

Operatori dell'intervallo di date denominati

DURING accetta uno dei seguenti operatori di intervallo di date denominati:

Elenco degli operatori dell'intervallo di date denominati di ShopifyQL, ad esempio today, yesterday o this week.
Operatore dell'intervallo di date denominatoDescrizione
todayLa data in cui viene eseguita la query.
yesterdayLe 24 ore che precedono il momento in cui viene eseguita la query.
this_weekLa settimana di calendario attuale.
this_monthIl mese di calendario attuale.
this_quarterIl trimestre di calendario attuale.
this_yearL'anno solare corrente.
last_weekLa settimana di calendario precedente.
last_monthIl mese di calendario precedente.
last_quarterIl trimestre di calendario precedente.
last_yearL'anno solare precedente.
bfcmYYYYL'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 da DURING. Se non viene fornito nessun valoreUNTIL, calcola l'intervallo di tempo in modo che sia uguale al valore specificato in DURING. 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.

  • 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 utilizzare TIMESERIES al suo posto, anziché GROUP BY.

L'esempio seguente confronta il fatturato netto del mese precedente con lo stesso mese dell'anno precedente:

FROM sales
SHOW net_sales, product_title
GROUP BY product_title
TIMESERIES day
SINCE -1m
UNTIL -0m
COMPARE TO previous_year

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:

Elenco degli operatori dell'intervallo di date relativi di ShopifyQL, come previous period o previous year.
Operatore dell'intervallo di date relativoDescrizione
previous_periodUn periodo prima dell'intervallo di date di base.
previous_yearUn anno prima dell'intervallo di date di base.
previous_quarterUn trimestre prima dell'intervallo di date di base.
previous_monthUn mese prima dell'intervallo di date di base.
previous_weekUna settimana prima dell'intervallo di date di base.
previous_dayUn giorno prima dell'intervallo di date di base.
previous_hourUn'ora prima dell'intervallo di date di base.
previous_minuteUn minuto prima dell'intervallo di date di base.
previous_secondUn secondo prima dell'intervallo di date di base.
### ORDER BY {#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:

FROM sales
SHOW net_sales
GROUP BY product_title, product_type
SINCE -1y
UNTIL today
ORDER BY product_title, product_type DESC

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.

Esempio di TIMESERIES e dell'ordine delle colonne quando ORDER BY è presente utilizzando ShopifyQL.
TIMESERIESORDER BYRisultato
PresenteNon presenteI risultati sono ordinati in base alla dimensione TIMESERIES.
PresentePresenteI risultati sono ordinati in base alla dimensione temporale TIMESERIES, quindi in base alla dimensione ORDER BY.
Non presentePresenteI risultati sono ordinati in base alla dimensione ORDER BY.
Non presenteNon presenteI risultati sono ordinati in base alla prima colonna SHOW.
### LIMIT {#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:

FROM sales
SHOW gross_sales as total_gross_sales
GROUP BY product_title
SINCE -3m
UNTIL today
ORDER BY total_gross_sales DESC
LIMIT 10

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:

FROM sales
SHOW gross_sales
TIMESERIES month
SINCE -1y
UNTIL today
VISUALIZE gross_sales TYPE line

AS

AS è una parola chiave facoltativa che ti consente di rinominare (o fornire un alias a) una colonna o un'espressione.

AS accetta un solo parametro. Se nel nome c'è uno spazio, devi racchiudere l'alias tra virgolette doppie (").

FROM sales
SHOW total_sales AS "My Total Sales"

Altri operatori ShopifyQL

ShopifyQL include i seguenti operatori aggiuntivi:

Operatori matematici

ShopifyQL consente di effettuare operazioni aritmetiche con le metriche dei tuoi dati. Sono disponibili i seguenti operatori aritmetici:

Elenco degli operatori matematici di ShopifyQL, inclusi i plus e i meno.
Operatori aritmeticiDescrizione
+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 ciascuna area geografica nell'ultimo anno. Quando si utilizzano operatori matematici con le metriche, è possibile utilizzare la parola chiave AS per assegnare un nuovo nome alla nuova metrica. Si prega di notare che l'uso delle espressioni matematiche presenta delle limitazioni.

FROM sales
SHOW (net_sales + returns) AS order_value, orders
GROUP BY billing_region
SINCE -1y
UNTIL today

Unioni implicite

Le operazioni join consentono di visualizzare insieme, affiancandole, le metriche di domini diversi. In ShopifyQL le operazioni join vengono eseguite in modo implicito e intelligente.

ShopifyQL offre le seguenti funzionalità join:

  • ShopifyQL consente le operazioni join sui campi di dimensione quando nella query è presente una singola tabella FROM.
  • Left join automatico sui campi di dimensione.
  • ShopifyQL consente join multifatto (quando nelle query sono presenti più tabelle FROM).
  • Full join automatico su join multifatto, che supportano qualsiasi numero di tabelle o schemi e sono raggruppati per dimensioni.
  • Le metriche nei join multifatto possono utilizzare la matematica.

Shopify QL presenta le seguenti restrizioni per le operazioni join:

  • Il campo join deve avere lo stesso nome in tutti gli schemi uniti.
  • Il campo join deve trovarsi in GROUP BY.
  • Il campo join non può utilizzare la matematica.
  • FROM è necessario per il funzionamento dei join multifatto.
  • In un join multifatto, ogni GROUP BY deve essere presente in tutti gli schemi ed è considerato un campo su cui effettuare l'unione.

Ad esempio, la query seguente utilizza un join multifatto:

FROM sales, sessions
SHOW day, total_sales, sessions
GROUP BY day
SINCE 2023-10-03
ORDER BY day

Ricerca di stringhe parziali e array corrispondenti

Per la ricerca di stringhe parziali e array corrispondenti, è possibile usare gli operatori seguenti:

Elenco degli operatori di ShopifyQL per la ricerca di stringhe parziali e array corrispondenti.
OperatoreDescrizione
STARTS WITHRestituisce tutte le righe in cui una colonna inizia con un prefisso.
ENDS WITHRestituisce tutte le righe in cui una colonna termina con un suffisso.
CONTAINSRestituisce tutte le righe in cui una colonna contiene una parte di una stringa o un elemento in un array.

Le query seguenti sono alcuni esempi di ricerca di stringhe parziali corrispondenti mediante operatori:

FROM sales
SHOW product_title
WHERE product_title STARTS WITH 'Summer'
GROUP BY product_title
FROM sales
SHOW product_title
WHERE product_title ENDS WITH 'kit'
GROUP BY product_title
FROM sales
SHOW product_title
WHERE product_title CONTAINS 'Beef'
GROUP BY product_title

L'operatore CONTAINS può essere usato per trovare elementi corrispondenti all'interno degli array, inclusi numeri interi, stringhe e decimali. La corrispondenza non tiene conto della differenza fra maiuscole e minuscole. Le query seguenti sono alcuni esempi di ricerca di array corrispondenti mediante l'operatore CONTAINS:

FROM sales
SHOW orders
WHERE products_bought_together_ids CONTAINS '101'
FROM customers
SHOW total_number_of_orders
WHERE customer_cities CONTAINS 'seattle'
FROM sales
SHOW orders
WHERE variants_bought_together_variant_prices CONTAINS '10.2'

Commenti

Puoi utilizzare i commenti per spiegare le sezioni delle istruzioni ShopifyQL o per impedire l'esecuzione di un'istruzione ShopifyQL. Qualsiasi testo all'interno di un commento verrà ignorato durante il tempo di esecuzione.

I commenti su una singola riga iniziano con -- e terminano alla fine della riga.

I commenti su più righe iniziano con /* e terminano con */.

FROM sales
SHOW average_order_value, gross_sales
-- the line below has been commented out and won't run
-- GROUP BY billing_region
WHERE billing_country = 'United States'
/*
this line and the two lines below it have been commented out and won't run
SINCE 2021-01-01
UNTIL 2021-12-31
*/
Non trovi le risposte che stai cercando? Siamo qui per aiutarti.