在筆記本電腦使用 ShopifyQL
ShopifyQL 是 Shopify 專為商務而建的查詢語言。查詢語言用於要求和擷取資料庫中的資料。您可以使用 ShopifyQL 搭配 Shopify Notebooks 應用程式,探索您商家的資料庫並擷取資料,讓您更深入瞭解自家業務。
若要完整列出可在 ShopifyQL Notebook 查詢中使用的可用值和維度,請參閱訂單結構描述和商品結構描述。
ShopifyQL 概覽
您商店的資料會儲存在資料庫表格中,以定義的欄和列進行結構化。欄會定義其包含的資訊類型 (例如銷售)。而列則指定資料類型的實際值,例如銷售額為 2,450 美元。
若要以有意義的格式擷取資料,您必須將查詢提交到資料庫。「查詢」是一種要求特定資料作為答案的提問。查詢語言 (如 ShopifyQL) 是一種建構問題的標準化方式。查詢是由關鍵字和其對應的參數所組成。若將多個關鍵字與特定參數互相組合,則可以建立查詢。建立查詢後,您可以執行查詢並收到答案。
這是一個 ShopifyQL 語法範例,以查詢形式編寫。關鍵字以粗體顯示,其對應的參數位於括弧中。此處顯示參數為佔位符置:
術語表
術語 | 定義 |
---|---|
尺寸 | 一種屬性,可將資料區隔以便更清楚排序和顯示。維度的常見範例包括時間、商品和地點。維度會在 ShopifyQL 中的作為參數使用。 |
關鍵字 | ShopifyQL 語法,可做為指令來引導查詢。 |
指標 | 對資料的量性衡量。常見的指標範例包括總銷售額、訂單數量和總利潤。 |
參數 | ShopifyQL 語法,可識別要包含在查詢中的資料庫元素或詳細資訊。 |
關鍵字參照表
這些是您可以用於撰寫查詢的關鍵字:
關鍵字 | 函數使用 |
---|---|
FROM | 指定要選取資料的資料集表格。 |
SHOW | 選擇要從資料集表格擷取的欄位。 |
VISUALIZE | 以直線或橫條視覺化方式顯示您的資料。 |
GROUP BY | 按維度或時間維度將已擷取的資料分組。 |
WHERE | 定義選取資料列必須滿足的一或數個條件。 |
SINCE | 顯示過去特定時間以來的資料。 |
UNTIL | 顯示過去特定時間為止的資料。 |
DURING | 顯示過去特定時間以來的資料。 |
COMPARE TO | 顯示過去特定時間為止的資料。 |
ORDER BY | 指定排序資料所按照的欄位。 |
LIMIT | 限制所顯示的資料列數。 |
AS | 將欄位重新命名為您選取的名稱。 |
撰寫 ShopifyQL 查詢
ShopifyQL 查詢範圍從基本查詢、高層級資料深入分析、全面查詢到詳細分析,應有盡有。每個關鍵字都有一個特定的函數來建立查詢。
ShopifyQL 基本功能:FROM 和 SHOW
建立最簡單的 ShopifyQL 查詢只需要兩個關鍵字:FROM 和 SHOW (按該順序撰寫)。FROM,後面跟著表格名稱參數,會指定要查詢的表格。SHOW 後面跟著欄位名稱參數,會指定要選取的欄位。
舉例來說,若要在銷售表格中列出所有的商品 ID 及其對應的標題,您可以撰寫此查詢:
將資料分組:GROUP BY
若要依維度為指標分群 (例如依地區將銷售業績分組),請使用 GROUP BY 關鍵字。GROUP BY 關鍵字可以與任何維度參數配對。
例如,按帳單開具國家/地區將總計運費分組的查詢會寫成:
以下是另一個使用時間維度來按月顯示銷貨淨額的查詢範例:
上述查詢不會回傳任何沒有銷售業績的月份。如果您希望查詢能回傳完整不中斷的時間週期,請使用 ALL 修飾詞:
使用 ALL 修飾詞時,您也需要指定 SINCE 和 UNTIL。請注意,ALL 修飾詞僅適用於時間維度。
時間維度
這些是您可以用來將資料分組的時間維度:
運算子 | 函數使用 |
---|---|
hour | 依日曆日小時分組。 |
天 | 依日曆日分組。 |
週 | 依日曆週分組。 |
月 | 按日曆月分組。 |
季 | 按日曆季分組。 |
年 | 按日曆年度分組。 |
hour_of_day | 按 24 小時分組 (1,2,...,24)。 |
day_of_week | 依每週天數分組 (週一、週二、週三... 週日)。 |
week_of_year | 按一年中的週分組 (1,2,...,52)。 |
篩選資料:WHERE
WHERE 關鍵字可讓您將維度篩選條件應用到整個 ShopifyQL 查詢。
舉例來說,如果您想要回傳銷貨淨額 (按月分組,但僅針對特定地區) 則查詢為:
如上例所示,即使 SHOW 或 GROUP BY 關鍵字中未包含 WHERE 參數,也可以使用該參數來篩選結果集。在此情況下,即使結果集中未包含 billing_region,系統只會針對所有月份中具有帳單地址的訂單篩選銷貨淨額。
比較運算子
WHERE 關鍵字使用比較運算子來篩選資料。在上面的範例中,‘=’ 用於表明該查詢使用特定值來篩選結果,但您還有其他可用的運算子:
選取比較運算子 | 函數使用 |
---|---|
= | 等於 |
!= | 不等於 |
< | 小於 |
> | 大於 |
<= | 小於或等於 |
>= | 大於或等於 |
邏輯運算子
若要進一步篩選資料,您可以在查詢中新增邏輯運算子。ShopifyQL 邏輯運算子為:
邏輯運算子 | 函數使用 |
---|---|
AND | 篩選以顯示滿足以 AND 分隔條件的所有列。 |
OR | 篩選以顯示滿足以 OR 分隔條件的所有列。 |
NOT | 篩選條件僅會顯示條件未滿足的列,例如不包含指定值的列。 |
您可以新增邏輯運算子,將多個篩選條件與 WHERE 關鍵字搭配使用。
新增至範例資料集查詢,以針對帳單地址位於俄亥俄州且套用折扣的所有訂單,取得按月分組的銷貨淨額,查詢內容為:
日期範圍:SINCE 和 UNTIL
如果您想要按日期或時間週期篩選查詢,可以使用 SINCE 和 UNTIL 關鍵字及其相關聯的參數。這些關鍵字為不重複,因為其僅會篩選時間週期。
舉例來說,這是查詢過去 12 個月在加拿大的銷貨淨額 (從今天起算):