Verwenden des ShopifyQL-Abfrageeditors

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

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

Du kannst ShopifyQL mit dem neuen Shopify Analytics verwenden, um deine eigene Unternehmensdatenbank zu erkunden und die Daten abzurufen, die dir dabei helfen, dein Unternehmen besser zu verstehen.

ShopifyQL oder Shopify Query Language ist die Abfragesprache von Shopify für Commerce. Abfragesprache wird verwendet, um Daten aus Datenbanken abzufragen und abzurufen. Die Daten deines Shops werden in Datenbanktabellen gespeichert, die in definierten Spalten und Zeilen strukturiert sind. Spalten definieren die Art der Informationen, die sie enthalten, wie z. B. Verkäufe, und Zeilen, die den tatsächlichen Wert des Datentyps angeben, wie z. B. 2.450 USD an Verkäufen.

Um deine Daten in einem aussagekräftigen Format abzurufen, muss eine Abfrage an die Datenbank übermittelt werden. Bei einer Abfrage handelt es sich um eine Frage nach bestimmten Daten als Antwort, die aus Keywords und den entsprechenden Parametern besteht. Die Kombination aus mehreren Keywords mit spezifischen Parametern erstellt deine Abfrage. Nachdem du deine Abfrage erstellt hast, kannst du sie ausführen und einen Bericht erhalten.

Glossar der Begriffe

Definitionen von ShopifyQL-Begriffen wie Dimension, Keyword und Operator.
BegriffDefinition
MaßEin Attribut, das Daten unterteilt, sodass sie sortiert und deutlicher wiedergegeben werden können. Häufige Beispiele für Dimensionen sind Zeit, Produkte und Orte. Dimensionen werden in ShopifyQL als Parameter verwendet.
KeywordShopifyQL-Syntax, der als Befehl fungiert, um deine Abfrage zu leiten.
KennzahlEine quantitative Messung von Daten. Häufige Beispiele für Kennzahlen enthalten den Gesamtumsatz, die Anzahl an Bestellungen und den Bruttogewinn.
ParameterShopifyQL-Syntax, der die Datenbankelemente oder -details identifiziert, die Teil deiner Abfrage sein sollen.
OperatorEin bestimmtes Wort oder Zeichen, das als Teil einer Abfrage verwendet wird. Beispiele sind STARTS WITH, >= oder last_week.
## ShopifyQL-Syntax

Du musst die folgenden Voraussetzungen erfüllen, wenn du eine gültige Berichtsabfrage mit ShopifyQL erstellst:

  • Du kannst eine gesamte Abfrage in einer Zeile oder in separaten Zeilen platzieren.
  • Du musst mindestens die Keywords FROM und SHOW mit den entsprechenden Parametern angeben. Alle anderen Keywords und Parameter sind optional.
  • Alle Keywords in einer Abfrage müssen in der folgenden Reihenfolge enthalten sein: 1. FROM 2. SHOW 3. WHERE 4. GROUP BY 5. TIMESERIES 6. WITH TOTALS, GROUP_TOTALS, PERCENT_CHANGE 7. HAVING 8. SINCE & UNTIL oder DURING 9. COMPARE TO & optional UNTIL 10. ORDER BY 11. LIMIT 12. VISUALIZE & TYPE

Dies ist ein Beispiel für ShopifyQL, das als Abfrage mit der richtigen Syntax geschrieben ist. Die Keywords sind fett gedruckt, die entsprechenden Parameter sind mit generischen Platzhaltern enthalten und optionale Parameter sind in Klammern angegeben:

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

ShopifyQL-Keywords

ShopifyQL-Abfragen reichen von grundlegend, für Dateneinblicke auf hoher Ebene, bis umfassend, für detaillierte Einblicke. Jedes Keyword hat eine bestimmte Funktion, die deine Abfrage ausbaut.

Liste der ShopifyQL-Keywords und deren Beschreibungen.
KeywordBeschreibung
FROMLegt fest, aus welcher Datensatztabelle die Daten ausgewählt werden.
SHOWWählt die Spalten aus, die du aus der Datensatztabelle extrahieren möchtest.
 WHERELegt die Bedingung(en) fest, die Zeilen erfüllen müssen, um ausgewählt zu werden.
GROUP BYGruppiert die extrahierten Daten anhand einer Dimension oder anhand von Zeitdimensionen.
TIMESERIESUnterscheidet die Gruppierung nach Zeitdimensionen und füllt Daten in einer Abfrage aus.
WITHVerändert die Verhaltensweise bestimmter ShopifyQL-Keywords.
HAVINGFiltert die Ergebnisse einer Abfrage, nachdem sie gruppiert wurden.
SINCEZeigt Daten seit einem bestimmten Zeitpunkt in der Vergangenheit an. Oft kombiniert mit UNTIL.
UNTILZeigt Daten bis zu einem bestimmten Zeitpunkt in der Vergangenheit an. Oft kombiniert mit SINCE oder COMPARE TO.
DURINGZeigt Daten während einer bestimmten Zeit in der Vergangenheit an.
COMPARE TOZeigt Daten für den Vergleich mit einer bestimmten Zeit in der Vergangenheit an.
ORDER BYLegt fest, nach welcher Spalte die Daten sortiert werden sollen.
LIMITBegrenzt die Anzahl an angezeigten Datenzeilen.
VISUALIZEZeigt deine Daten in einer Zeile oder Leiste an. Du kannst mit TYPE angeben, welche Visualisierung du möchtest.
ASEin optionales Keyword, mit dem eine Spalte in einen Namen deiner Wahl umbenannt wird.
### FROM und SHOW {#from-and-show}

Um die einfachste ShopifyQL-Abfrage zu erstellen, werden nur zwei Keywords benötigt: FROM und SHOW, in genau dieser Reihenfolge. FROM, gefolgt von einem Tabellennamenparameter, legt fest, welche Tabellen du abfragen möchtest. SHOW, gefolgt von einer Anzahl von Spaltennamenparametern, legt die Spalten fest, die du auswählen möchtest.

SHOW kann verwendet werden, um die Reihenfolge anzugeben, in der Kennzahlen und Dimensionen im Bericht zurückgegeben werden.

Du kannst beispielsweise die Summe des Gesamtumsatzes ausgeben, indem du diese Abfrage schreibst:

FROM sales
SHOW total_sales

WHERE

Mit dem WHERE-Keyword kannst du einen Dimensionsfilter auf eine gesamte ShopifyQL-Abfrage anwenden. Der Filter kann sowohl von Vergleichsoperatoren (z. B. mehr als >), logischen Operatoren (z. B. AND oder NOT) als auch von Teilstring- und Array-Matching (z. B. STARTS WITH und CONTAINS) geändert werden.

WHERE Bedingungen müssen die folgenden Voraussetzungen erfüllen:

  • Werte müssen in einfachen Anführungszeichen (') und nicht in doppelten Anführungszeichen (") angegeben werden.
  • Bedingungen dürfen keine arithmetischen Elemente enthalten.
  • Bedingungen können nur auf eine Dimension verweisen, nicht auf eine Kennzahl.

Wenn du beispielsweise den Gesamtumsatz nach dem Land der Rechnungsadresse gefiltert ausgeben möchtest, lautet deine Abfrage:

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

Wie im obigen Beispiel kannst du den Ergebnissatz mit dem Parameter WHERE filtern, auch wenn dieser Parameter nicht im Keyword SHOW enthalten ist. In diesem Fall wird der Gesamtumsatz nur für Bestellungen aus Kanada gefiltert, obwohl billing_country im Ergebnissatz nicht enthalten ist.

Vergleichsoperatoren

Das Keyword WHERE verwendet Vergleichsoperatoren, um Daten zu filtern. Im obigen Beispiel wurde = verwendet, um festzulegen, dass die Abfrage nach einem bestimmten Wert filtert. Jedoch stehen dir noch weitere Operatoren zur Verfügung:

Liste der ShopifyQL-Vergleichsoperatoren, wie z. B. größer als oder gleich.
VergleichsoperatorBeschreibung
=entspricht
!=entspricht nicht
<weniger als
>größer als
<=kleiner als oder gleich
>=größer als oder gleich
#### Logische Operatoren

Um deine Daten gründlicher zu filtern, kannst du logische Operatoren zu deiner Abfrage hinzufügen. Die logischen Operatoren für ShopifyQL sind:

Liste der logischen Operatoren von ShopifyQL wie AND, OR und NOT.
Logischer OperatorBeschreibung
ANDFiltern, um alle Zeilen anzuzeigen, deren Bedingungen durch AND getrennt und erfüllt sind.
ORFiltern, um alle Zeilen anzuzeigen, bei denen eine der durch OR getrennten Bedingungen erfüllt ist.
NOTFiltern, um nur Zeilen anzuzeigen, deren Bedingungen nicht erfüllt sind, z. B. Zeilen, die den festgelegten Wert nicht enthalten.

Du kannst mehrere Filter mit dem Keyword WHERE verwenden, indem du logische Operatoren hinzufügst.

Mit der Ergänzung zur Beispiel-Datensatzabfrage, die eine monatliche Zusammenfassung des Nettoumsatzes für alle Bestellungen von getrockneten Pfirsichen mit einer Rechnungsadresse in Kanada und einem angewendeten Rabatt zurückgibt, sieht die Abfrage wie folgt aus:

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

Um eine Kennzahl anhand einer Dimension zu unterteilen, z. B. zum Gruppieren von Verkäufen nach Region, verwende das Keyword GROUP BY. Das Keyword GROUP BY kann mit einem beliebigen Parameter des Typs "dimension" gekoppelt werden.

Eine Abfrage, die den Gesamtumsatz nach Land und Region der Rechnungsadresse zusammenfasst, wird beispielsweise folgendermaßen geschrieben:

FROM sales
SHOW total_sales
GROUP BY billing_country, billing_region

Hier ist ein weiteres Beispiel für eine Abfrage, die die zeitliche Dimension nutzt, um den Gesamtumsatz nach Monat anzuzeigen:

FROM sales
SHOW total_sales
GROUP BY month

Die obenstehende Abfrage gibt keine Monate zurück, in denen keine Umsätze generiert wurden. Wenn du eine Abfrage ausführen möchtest, die einen vollständigen Zeitraum ohne Unterbrechungen zurückgibt, verwende das Keyword TIMESERIES.

FROM sales
SHOW total_sales
TIMESERIES month
SINCE last_year
UNTIL today

Zeitliche Dimensionen

Das sind die zeitlichen Dimensionen, mit denen du deine Daten unterteilen kannst:

Liste der ShopifyQL-Zeitdimensionen, wie z. B. „second“, „minute“ oder „day of week“.
OperatorBeschreibung
secondGruppieren nach Sekunde der Stunde.
minuteGruppieren nach Minute der Stunde.
hourGruppieren nach Stunde des Kalendertags.
dayNach Kalendertag zusammenfassen.
weekNach Kalenderwoche zusammenfassen.
monthNach Kalendermonat zusammenfassen.
quarterNach Kalenderquartal zusammenfassen.
yearNach Kalenderjahr zusammenfassen.
hour_of_dayNullbasierte Gruppierung nach 24 Stunden (0, 1, ..., 23).
day_of_weekNullbasierte Gruppierung nach Wochentag (0, 1, ..., 6).
week_of_yearNach Jahreswoche gruppieren (1, 2, ..., 52).
month_of_yearGruppierung nach Monat des Jahres (1, 2, …, 12).
### TIMESERIES

Du kannst das Keyword TIMESERIES verwenden, wenn du die Gruppierung nach Zeitdimensionen gruppieren, Kennzahlen im Laufe der Zeit anzeigen und Daten in einer Abfrage auffüllen möchtest, um diese zu einem Timeseries-Diagramm zu machen, wenn Daten nicht vorhanden sind.

In diesem Beispiel werden die fehlenden Verkaufsdaten der letzten 15 Tage aufgefüllt:

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

TIMESERIES und die Reihenfolge der Spalten

Je nachdem, ob TIMESERIES angegeben wird und entweder in den Werten GROUP BY oder SHOW vorhanden ist, kann sich die Reihenfolge der Spalten ändern.

Beispiele für TIMESERIES und wie die Reihenfolge der Spalten mit GROUP BY oder SHOW in ShopifyQL angezeigt wird.
TIMESERIESSHOWGROUP BYErgebnis
GegebenNicht vorhandenNicht vorhanden TIMESERIES ist die erste Dimension.
GegebenNicht vorhandenVorhandenDie Position der Zeitdimensionen wird durch ihre Position in GROUP BY bestimmt.
GegebenVorhandenVorhandenDie Position der Zeitdimensionen wird durch ihre Position in SHOW bestimmt.
Nicht gegebenNicht vorhandenVorhandenDie Position der Zeitdimensionen wird durch ihre Position in GROUP BY bestimmt. Die Daten sind nicht aufgefüllt.
Nicht gegebenVorhandenVorhandenDie Position der Zeitdimensionen wird durch ihre Position in SHOW bestimmt. Die Daten sind nicht aufgefüllt.
Nicht gegebenVorhandenNicht vorhandenTriggert einen Syntaxfehler, da SHOW nur auf in GROUP BY vorhandene Dimensionen verweisen kann.
### HAVING

Ähnlich wie WHERE kannst du das Keyword HAVING verwenden, um die Ergebnisse einer Abfrage zu filtern, nachdem sie gruppiert wurden. Der Filter kann eine Bedingung haben, aber die Bedingung kann sowohl von Vergleichsoperatoren (z. B. größer als >) als auch von logischen Operatoren (z. B. AND oder NOT) geändert werden. Im Gegensatz zum Keyword WHERE kann HAVING auf Aliase, zusammengefasste Funktionen und Gruppierungsspalten verweisen.

HAVING erfordert, dass deine Abfrage GROUP BY oder TIMESERIES enthält, da HAVING die Ergebnisse einer Abfrage filtert, nachdem sie nach GROUP BY oder TIMESERIES gruppiert wurden.

In diesem Beispiel filterst du den Gesamtumsatz für jedes Produkt, das einen Gesamtumsatz über 1000 und weniger als 5000 hat:

FROM sales
SHOW total_sales
GROUP BY product_title
HAVING total_sales > 1000 AND total_sales < 5000

WITH

Das Keyword WITH ändert das Verhalten bestimmter anderer ShopifyQL-Keywords. Es gibt 3 verfügbare Modifikationen:

  • TOTALS: Bietet eine Top-Level-Zusammenfassung der Kennzahlen, bevor sie in einer beliebigen Dimension aufgeschlüsselt werden.
  • GROUP_TOTALS: Gibt eine Summe für alle Untergruppen an, wenn es eine „group by aggregation“ gibt.
  • PERCENT_CHANGE: Fügt jeder Vergleichsspalte in COMPARE TO eine Prozentänderungskennzahl hinzu. Wenn dieser Modifikator vorhanden ist, wird für jede Vergleichskennzahlspalte eine neue Spalte hinzugefügt, die die Prozentänderung enthält.

TOTALS

Der Modifikator TOTALS bietet eine Top-Level-Zusammenfassung der Kennzahlen, bevor sie in einer anderen Dimension aufgeschlüsselt werden. Wenn du WITH TOTALS verwendest, gibt die Abfrage die Summen als zusätzliche Spalten im Ergebnissatz mit dem Namen der Kennzahl und „totals“ als Teil des Spaltennamens aus. Jede Zeile enthält alle anwendbaren Gesamtsummen.

Diese Abfrage zeigt beispielsweise die Summen des Gesamtumsatzes an:

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

Diese Abfrage gibt möglicherweise einen ähnlichen Bericht zurück:

Beispiel für eine ShopifyQL-Verkaufstabelle mit WITH TOTALS.
TagBruttoumsatzNettoumsatzGesamtumsatz
Übersicht61524
2024-01-01147
2024-01-02258
2024-01-03369
#### GROUP_TOTALS

Der Modifikator GROUP_TOTALS bietet eine Summe für alle Untergruppen, wenn ein „group by aggregation“ vorhanden ist. Wenn du WITH GROUP_TOTALS verwendest, gibt die Abfrage die Summen als zusätzliche Spalten im Ergebnissatz mit dem Namen der Kennzahl, den Gesamtsummen der Dimensionen und „totals“ als Teil des Spaltennamens aus. Jede Zeile enthält alle anwendbaren Gesamtsummen.

Diese Abfrage zeigt beispielsweise eine Summe des Gesamtumsatzes nach Land der Rechnungsadresse an:

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

Diese Abfrage gibt möglicherweise einen ähnlichen Bericht zurück:

Beispiel für eine ShopifyQL-Verkaufstabelle mit GROUP_TOTALS.
LandKunden-IDGesamtumsatz
Übersicht (USA und Kanada)1
US-Gruppe gesamt0
US11
USnull-1
Kanada-Gruppe gesamt1
Kanada11
#### PERCENT_CHANGE

Der Modifikator PERCENT_CHANGE fügt jeder Vergleichsspalte eine prozentuale Änderungskennzahl hinzu, wenn du COMPARE TO verwendest. Wenn du WITH PERCENT_CHANGE verwendest, gibt die Abfrage die prozentuale Änderung für jede Vergleichskennzahl als zusätzliche Spalten im Ergebnissatz mit dem Namen der Kennzahl und „percent change“ als Teil des Spaltennamens aus.

Die verwendete Formel für die Berechnung der prozentualen Änderung lautet: (base_column - comparison_column) * 100 / abs(comparison_column)

Diese Abfrage verwendet beispielsweise SINCE und COMPARE TO, um den Nettoumsatz pro Tag im Vormonat mit dem gleichen Monat im Vorjahr zu vergleichen, mit einer Spalte für Prozentänderung:

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

Die Spalten im resultierenden Bericht enthalten Tag, Nettoumsatz, Vergleichstag, Nettoumsatz im Vergleich und Nettoumsatz in Prozent.

SINCE und UNTIL

Wenn du deine Abfrage nach einem Datum oder einem bestimmten Zeitraum filtern möchtest, kannst du die Keywords SINCE und UNTIL und ihre zugehörigen Parameter verwenden. Diese Keywords sind eindeutig, da sie nur Zeiträume filtern. Wenn du SINCE verwendest und UNTIL nicht definierst, wird das Ende deines Zeitraumes standardmäßig auf today gesetzt.

Dies ist ein Beispiel für eine Abfrage bis gestern, die den Nettoumsatz in Kanada der letzten 12 Monate zurückgibt:

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

Offset-Operatoren

Du kannst nach bestimmten Daten oder nach Datums- und Zeit-Offsets filtern. Die ShopifyQL-Offset-Operatoren sind:

Liste der ShopifyQL-Offset-Operatoren, wie z. B. Offset um Sekunden, Minuten oder ein bestimmtes Datum.
Offset-OperatorenBeschreibung
-{#}sAnzahl der Sekunden vor dem Datum und der Uhrzeit, zu der die Abfrage ausgeführt wird.
-{#}minAnzahl der Minuten vor dem Datum und der Uhrzeit, zu der die Abfrage ausgeführt wird.
-{#}hAnzahl der Stunden vor dem Datum und der Uhrzeit, zu der die Abfrage ausgeführt wird.
-{#}dAnzahl der Tage vor dem Datum und der Uhrzeit, zu der die Abfrage ausgeführt wird.
-{#}wAnzahl der Wochen vor dem Datum und der Uhrzeit, zu der die Abfrage ausgeführt wird.
-{#}mAnzahl der Monate vor dem Datum und der Uhrzeit, zu der die Abfrage ausgeführt wird.
-{#}qAnzahl der Quartale vor dem Datum und der Uhrzeit, zu der die Abfrage ausgeführt wird.
-{#}yAnzahl der Jahre vor dem Datum und der Uhrzeit, zu der die Abfrage ausgeführt wird.
yyyy-MM-ddEin bestimmtes Datum.
yyyy-MM-ddThh:mm:ssEin bestimmtes Datum und eine bestimmte Uhrzeit.
#### Datumsfunktionen

Du kannst die folgenden Funktionen in Kombination mit beliebigen Zeitraum-Operatoren (mit Ausnahme bestimmtes Datum) in den Aussagen SINCE und UNTIL verwenden. Die Funktion „startOf...“ verkürzt auf den Anfang der zugehörigen Zeiteinheit (Minute, Stunde, Tag, Woche, Monat, Quartal und Jahr), wenn sie mit SINCE verwendet wird. Die Funktion „endOf...“ verkürzt am Ende der zugehörigen Zeiteinheit, wenn sie mit UNTIL verwendet wird.

Datumsfunktionseinheiten und Operator-Einheiten müssen übereinstimmen, um ein gültiges Ergebnis zurückgeben zu können. Beispielsweise ist startOfMonth(-1m) korrekt, startOfMonth(-1d) jedoch nicht.

<tr>
    <td scope="row"><code translate="no">endOfWeek(-{#}w)</code></td>
    <td>Verkürzt den Datumsbereich-Operator auf das Ende der Zielwoche.</td>
 </tr>
  <tr>
    <td scope="row"><code translate="no">startOfMonth(-{#}m)</code></td>
    <td>Verkürzt den Datumsbereich-Operator auf den Beginn des Zielmonats.</td>
 </tr>
  <tr>
    <td scope="row"><code translate="no">endOfMonth(-{#}m)</code></td>
    <td>Verkürzt den Datumsbereich-Operator auf das Ende des Zielmonats.</td>
 </tr>
  <tr>
    <td scope="row"><code translate="no">startOfQuarter(-{#}q)</code></td>
    <td>Verkürzt den Datumsbereich-Operator auf den Beginn des Zielquartals.</td>
 </tr>
  <tr>
    <td scope="row"><code translate="no">endOfQuarter(-{#}q)</code></td>
    <td>Verkürzt den Datumsbereich-Operator auf das Ende des Zielquartals.</td>
 </tr>
  <tr>
    <td scope="row"><code translate="no">startOfYear(-{#}y)</code></td>
    <td>Verkürzt den Datumsbereich-Operator auf den Beginn des Zieljahrs.</td>
 </tr>
       <tr>
    <td scope="row"><code translate="no">endOfYear(-{#}y)</code></td>
    <td>Verkürzt den Datumsbereich-Operator auf das Ende des Zieljahrs.</td>
 </tr>
Liste der ShopifyQL-Datumsfunktionen, wie z. B. end of day oder start of quarter.
DatumsfunktionBeschreibung
nowDatum und Uhrzeit der Ausführung der Abfrage.
startOfMinute(-{#}min)Verkürzt den Datumsbereich-Operator auf den Beginn der Zielminute.
endOfMinute(-{#}min)Verkürzt den Datumsbereich-Operator auf das Ende der Zielminute.
startOfHour(-{#}h)Verkürzt den Datumsbereich-Operator auf den Beginn der Zielstunde.
endOfHour(-{#}h)Verkürzt den Datumsbereich-Operator auf das Ende der Zielstunde.
startOfDay(-{#}d)Verkürzt den Datumsbereich-Operator auf den Beginn des Zieltags.
endOfDay(-{#}d)Verkürzt den Datumsbereich-Operator auf das Ende des Zieltags.
startOfWeek(-{#}w)Verkürzt den Datumsbereich-Operator auf den Beginn der Zielwoche.

Wenn heute zum Beispiel der 8. November 2022 ist, kannst du die folgende Abfrage verwenden, um den Bruttoumsatz vom 1. Januar 2020 bis zum 31. Oktober 2022 auszugeben:

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

DURING

Das Keyword DURING vereinfacht das Filtern nach Daten für Zeiträume und ersetzt die Nutzung von SINCE und UNTIL. Du kannst das Keyword DURING verwenden, um die Abfrageergebnisse für einen bestimmten Zeitraum zu filtern, z. B. für ein Kalenderjahr oder einen bestimmten Monat. Du kannst es auch für Datumsbereiche verwenden, die jedes Jahr unterschiedliche Daten haben, z. B. Black Friday Cyber Monday. Zum Beispiel:

FROM sales
SHOW total_sales
GROUP BY day
DURING bfcm2021

Benannte Datumsbereichsoperatoren

DURING akzeptiert die folgenden benannten Operatoren für Zeiträume:

Liste von ShopifyQL-Datumsbereichsoperatoren, wie „today“, „yesterday“ oder „this week“.
Benannte DatumsbereichsoperatorenBeschreibung
todayDas Datum, an dem die Abfrage ausgeführt wird
yesterdayDer vorherige 24-Stunden-Zeitraum bis zum Zeitpunkt, an dem die Abfrage ausgeführt wurde
this_weekDie aktuelle Kalenderwoche
this_monthDer aktuelle Kalendermonat
this_quarterDas aktuelle Kalenderquartal
this_yearDas aktuelle Kalenderjahr
last_weekDie vorherige Kalenderwoche
last_monthDer vorherige Kalendermonat
last_quarterDas vorherige Kalenderquartal
last_yearDas vorherige Kalenderjahr
bfcmYYYYBlack Friday Cyber Monday für das angegebene Jahr. Zum Beispiel zeigt bfcm2022 Ergebnisse für den Zeitraum vom 25. bis 28. November 2022 an.

COMPARE TO

Mit dem Keyword COMPARE TO kannst du Daten über den Datumsbereich in SINCE und UNTIL oder DURING sowie den in COMPARE TO vergleichen.

Du kannst das Keyword COMPARE TO mit den folgenden Arten von Parametern verwenden:

  • Absolute Daten, wie z. B. 2023-01-01: Enthält die Kennzahlen für den angegebenen Zeitraum und die Vergleichskennzahlen für den gleichen Zeitraum am absolutem Datum.

  • Benannte Daten wie z. B. last_week: Enthält die Kennzahlen für den angegebenen Zeitraum und die Vergleichskennzahlen für den gleichen Zeitraum am benannten Datum. - Der von COMPARE TO verwendete Operator muss nicht die gleiche Länge haben wie der von DURING. Wenn kein UNTIL-Wert angegeben wird, berechnet er den Zeitraum, der dem in DURING angegebenen Wert entspricht. DURING this_week COMPARE TO last_month vergleicht beispielsweise Daten dieser Woche mit einem einwöchigen Zeitraum, der zu Beginn des letzten Monats beginnt.

  • Offset-Daten wie z. B. -3q: Enthält die Kennzahlen für den angegebenen Zeitraum und die Vergleichskennzahlen für den gleichen Zeitraum am relativen Datum.

  • Mehrere Datumsvergleiche, wie z. B. -1y, -2y: Vergleiche deine Daten aus einem bestimmten Datumsbereich mit mehreren anderen Datumsbereichen. Dies kann nützlich sein, wenn du Änderungen über mehrere Zeiträume hinweg verfolgen möchtest.

  • Wenn du eine Datumsdimension in einer Abfrage mit COMPARE TO verwendest, musst du TIMESERIES verwenden und nicht GROUP BY.

Das folgende Beispiel vergleicht den Nettoumsatz im Vormonat mit dem gleichen Monat des Vorjahres:

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

Relative Datumsbereich-Operatoren

Relative Operatoren geben die gleiche Zeitdauer zurück wie der Basisdatumsbereich, der um den angegebenen Zeitraum zurück verschoben wird. Zusätzlich zu den benannten Datumsbereich-Operatoren akzeptiert COMPARE TO die folgenden relativen Operatoren:

Liste der relativen Datumsbereich-Operatoren von ShopifyQL, wie z. B. „previous period“ oder „previous year“.
Relativer Datumsbereich-OperatorBeschreibung
previous_periodEin Zeitraum vor dem Basisdatumsbereich.
previous_yearEin Jahr vor dem Basisdatumsbereich.
previous_quarterEin Quartal vor dem Basisdatumsbereich.
previous_monthEin Monat vor dem Basisdatumsbereich.
previous_weekEine Woche vor dem Basisdatumsbereich.
previous_dayEin Tag vor dem Basisdatumsbereich.
previous_hourEine Stunde vor dem Basisdatumsbereich.
previous_minuteEine Minute vor dem Basisdatumsbereich.
previous_secondEine Sekunde vor dem Basisdatumsbereich.
### ORDER BY {#order-by}

Mit dem Keyword ORDER BY und seinen Parametern kannst du festlegen, wie die von deiner Abfrage herausgegebenen Daten sortiert werden sollen: ASC für eine aufsteigende Reihenfolge und DESC für eine absteigende Reihenfolge.

Du kannst im Keyword ORDER BY beliebige Kennzahlen oder Dimensionen festlegen, die Teil deiner Abfrage sein sollen, einschließlich mehrerer Felder.

Diese Abfrage gibt beispielsweise den Nettoumsatz für alle Produkte und Varianten im letzten Jahr aus. Die Ergebnisse werden zuerst in alphabetischer Reihenfolge nach Produkttitel und dann in umgekehrter alphabetischer Reihenfolge nach Produkttyp sortiert:

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

Die Reihenfolge, in der du deine Kennzahlen und Dimension angibst, spielt eine Rolle. Wenn du mehrere Werte für ORDER BY angibst, wird die Sortierung auf jede Kennzahl oder Dimension in der angegebenen Reihenfolge angewendet.

TIMESERIES und die Reihenfolge der Spalten

Je nachdem, ob die Abfrage TIMESERIES und ORDER BY enthält, kann sich die Reihenfolge der Spalten ändern.

Beispiel für TIMESERIES und die Reihenfolge der Spalten, wenn ORDER BY bei der Verwendung von ShopifyQL vorhanden ist.
TIMESERIESORDER BYErgebnis
VorhandenNicht vorhandenDie Ergebnisse werden nach TIMESERIES-Dimension angeordnet.
VorhandenVorhandenDie Ergebnisse werden nach TIMESERIES-Dimension angeordnet und dann nach ORDER BY-Dimension.
Nicht vorhandenVorhandenDie Ergebnisse werden nach ORDER BY-Dimension angeordnet.
Nicht vorhandenNicht vorhandenDie Ergebnisse werden nach der ersten SHOW-Spalte angeordnet.
### LIMIT {#limit}

Mit dem Keyword LIMIT kannst du eine maximale Anzahl von Zeilen angeben, die die Abfrage zurückgibt. Dies ist nützlich, wenn du einfach verstehen möchtest, wie die Daten in jeder Spalte angezeigt werden, oder für größere Berichte, bei denen die Rückgabe von Werten länger dauern kann. Du kannst LIMIT mit ORDER BY kombinieren, um Listen von oben nach unten zu erstellen.

Wenn du keinen LIMIT-Wert angibst, wird die Anfrage standardmäßig auf 1000 Zeilen festgelegt.

Du kannst auch einen optionalen Parameter { OFFSET # } verwenden, um eine bestimmte Anzahl von Zeilen zu überspringen, bevor du mit der Ausgabe von Zeilendaten beginnst. Der resultierende Satz wurde ähnlich formatiert wie: LIMIT 15 { OFFSET 5 }.

In diesem Beispiel werden LIMIT und ORDER BY verwendet, um eine Liste der 10 bestverkauften Produkte der letzten drei Monate zu erstellen:

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 und TYPE

Mit dem Keyword VISUALIZE kannst du eine ShopifyQL-Abfrage schreiben, in der Daten in einer grafischen Visualisierung angezeigt werden. Zu den unterstützten Visualisierungen gehören die folgenden Werte:

  • 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

Das Keyword TYPE ist optional und muss von einer einzigen Art von Visualisierung begleitet werden. Wenn TYPE nicht in deiner Abfrage enthalten ist, entscheidet ShopifyQL automatisch das beste Ergebnis, das zu deiner Abfrage passt. Wenn deine Abfrage nicht als geschrieben visualisiert werden kann, gibt ShopifyQL Tabulardaten aus.

VISUALIZE akzeptiert auch ein optionales LIMIT-Keyword, wenn der Parameter die begrenzte Anzahl von Datenpunkten ist, die gerendert werden soll.

Zum Beispiel kannst du deine Umsatzentwicklung im letzten Jahr nach Monat mit einer Trendlinie visualisieren. Diese Abfrage gibt ein Zeitdiagramm zurück, das den Bruttoumsatz nach Monat im letzten Jahr widerspiegelt. Der Bruttoumsatz wird als einzelne Linie dargestellt, wobei die X-Achse für die Monate und die Y-Achse für den Bruttoumsatz steht:

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

AS

Das Keyword AS ist ein optionales Keyword, mit dem du eine Spalte oder einen Ausdruck umbenennen kannst (oder mit dem du einen entsprechenden Alias angeben kannst).

AS akzeptiert nur einen einzigen Parameter. Wenn der Alias ein Leerzeichen im Namen hat, musst du den Alias in doppelte Anführungszeichen (") setzen.

FROM sales
SHOW total_sales AS "My Total Sales"

Andere ShopifyQL-Operatoren

ShopifyQL enthält die folgenden zusätzlichen Operatoren:

Mathematische Operatoren

ShopifyQL ermöglicht Rechenoperationen mit den Kennzahlen in deinen Daten. Die folgenden mathematischen Operatoren stehen zur Verfügung:

Liste der mathematischen ShopifyQL-Operatoren, einschließlich Plus und Minus.
Mathematischer OperatorBeschreibung
+Addition zweier Zahlen.
Subtraktion zweier Zahlen.
*Multiplikation zweier Zahlen.
/Division zweier Zahlen.

Diese Abfrage berechnet beispielsweise den Bestellwert für jede Region im letzten Jahr. Wenn du mathematische Operatoren mit Metriken verwendest, kannst du das KeywordAS verwenden, um der neuen Metrik einen neuen Namen zuzuweisen. Bitte beachte, dass bei der Verwendung mathematischer Ausdrücke Einschränkungen bestehen.

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

Implizierte Verbindungen

Durch eine Verknüpfung kannst du Messdaten aus unterschiedlichen Domänen gemeinsam und nebeneinander anzeigen. Verknüpfungen werden in ShopifyQL implizit und intelligent durchgeführt.

ShopifyQL verfügt über die folgenden Verknüpfungsfunktionen:

  • ShopifyQL lässt Dimensionsfeldverknüpfungen zu, wenn die Abfrage eine einzelne FROM -Tabelle enthält.
  • Automatische Verknüpfung links für Dimensionsfelder.
  • ShopifyQL ermöglicht Multi-Fact-Verknüpfungen (wenn die Abfragen mehrere FROM -Tabellen enthalten).
  • Automatischer vollständige Verknüpfung bei Multi-Fact-Verknüpfungen, der eine beliebige Anzahl von Tabellen oder Schemata unterstützt und nach Dimensionen gruppiert ist.
  • Metriken in Multi-Fact-Verknüpfungen können Mathematik verwenden.

Shopify QL hat die folgenden Verknüpfungsbeschränkungen:

  • Das Verknüpfungsfeld muss in allen verbundenen Schemata den gleichen Namen haben.
  • Das Verknüpfungsfeld muss in GROUP BY sein.
  • Im Verknüpfungsfeld kann keine Mathematik verwendet werden.
  • FROM ist erforderlich, damit Multi-Fact-Verknüpfungen funktionieren.
  • Bei einer Multi-Fact-Verknüpfung muss jede GROUP BY in allen Schemata enthalten sein und wird als ein zu verknüpfendes Feld betrachtet.

Diese Abfrage verwendet beispielsweise eine Multi-Fact-Verknüpfung:

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

Teilweiser String- und Array-Abgleich

Für die teilweise Zeichenfolgen- und Arrayübereinstimmung kannst du die folgenden Operatoren verwenden:

Liste der Operatoren für teilweise Zeichenfolgen- und Array-Übereinstimmungen in ShopifyQL.
OperatorBeschreibung
STARTS WITHGibt alle Zeilen zurück, bei denen eine Spalte mit einem Präfix beginnt.
ENDS WITHGibt alle Zeilen zurück, bei denen eine Spalte mit einem Suffix endet.
CONTAINSGibt alle Zeilen zurück, bei denen eine Spalte einen Teil einer Zeichenfolge oder ein Element in einem Array enthält.

Beispiele für die teilweise Zeichenfolgenübereinstimmung mithilfe von Operatoren sind die folgenden Abfragen:

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

Mit dem Operator CONTAINS können Elemente in Arrays abgeglichen werden, darunter Ganzzahlen, Zeichenfolgen und Dezimalzahlen. Bei dieser Übereinstimmung wird die Groß-/Kleinschreibung nicht beachtet. Einige Beispiele für Array-Matching mit CONTAINS umfassen die folgenden Abfragen:

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'

Kommentare

Du kannst Kommentare verwenden, um Abschnitte mit ShopifyQL-Anweisungen zu erklären oder um die Ausführung einer ShopifyQL-Anweisung zu verhindern. Jeder Text innerhalb eines Kommentars wird während der Ausführung ignoriert.

Kommentare mit einer einzelnen Zeile beginnen mit -- und enden am Ende der Zeile.

Kommentare mit mehreren Zeilen beginnen mit /* und enden mit */.

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
*/
Du hast die gesuchten Antworten nicht gefunden? Wir helfen dir gerne weiter.