[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}

建立SQL計算資料行

此主題概述Calculation資料行型別的用途和用途,可以使用Data Warehouse管理員將其新增到表格。 以下說明SQL計算的用途、使用它們的原因、建立SQL計算的程式,並包含兩個範例。

說明

在過去,被視為advanced的欄只能由位於Adobe Commerce Intelligence的客戶成功團隊分析師完成。 現在,所有功能都由一般使用者掌握,而且可以在新的SQL Calculation架構上以Commerce Intelligence欄的形式建立進階欄。

Calculation欄型別(現在可作為Data Warehouse Manager中的選項)與允許您使用PostgreSQL邏輯轉換表格上的欄的表格作業相同。 您可以在PostgreSQL網站Calculation此處找到可以在資料行型別中使用的函式和運運算元的相關檔案。

可以使用Calculation資料行建立的不同資料行幾乎不受限制,但大部分的資料行可以使用IF-THEN陳述式與基本算術來建立,這可用於下列範例。

範例1:客戶的上次訂單是否?

大多數帳戶的Is customer's last order?表格中都有名為orders的欄,以分析重複購買率和流失的客戶。 如果您的帳戶使用新架構,則此欄是使用Calculation欄建置的,並可在以下熒幕擷取中看見:

用於識別客戶最後訂單的 SQL計算資料行定義

Is customer's last order?資料行使用分別別為Customer's lifetime number of ordersCustomer's order number的輸入AB

逐行,PostgreSQL的含義是:

  • 案例:這會從一連串If - Then陳述式開始
  • A為Null或B為Null時則為Null:如果任一輸入為空白,則輸出也應為空白。 這是為了防止SQL錯誤
  • A=B然後Yes:如果這個資料列的Customer's lifetime number of orders等於Customer's order number,則傳回Yes。 因此,如果客戶已下四份訂單,則第四份訂單的列會傳回YesIs customer's last order?
  • else No:如果其他陳述式都不符合,則傳回No
  • end:這會結束If - Then陳述式

此資料行(NULLYesNo)可能傳回的值包含非數字字元,因此這裡的資料型別為String。

範例2:訂單料號總計值(數量*價格)

許多使用者端都喜歡在專案層級分析收入,並依product namecategory之類的欄位進行分割。 大部分的資料庫實際上並不會提供您訂單中產品的收入,而是提供訂單中售出的數量及料號的價格。

若要啟用產品收入分析,大部分帳戶的Order item total value (quantity * price)表格中都有名為Orders Items的欄。 如果您的帳戶使用新架構,則此欄也是使用Calculation欄建置的,並可在以下熒幕擷圖中看到:

訂單專案總計值的 SQL計算資料行定義

在Commerce結構描述中,Order item total value (quantity * price)資料行使用分別別為qty orderedbase price的輸入AB

此新欄傳回的值是美元和美分,因此正確的資料型別為Decimal(10,2)

機械

導覽至Calculation,可將新的​ Manage Data > Data Warehouse ​資料行新增至資料表,如下所示:

顯示計算資料行結果的資料表檢視

您可以在此處執行下列步驟來建立Calculation欄:

  1. 選取您要新增Calculation欄的資料表。

  2. 在正確的表格上,按一下畫面右上方的​ Create New Column

  3. Select a definition下拉式清單中選取Same Table

  4. 選取Calculation做為column definition equation

  5. 輸入欄名稱。

  6. 從表格中選擇用於新欄邏輯的input欄。 您新增的每個欄都會取得字母別名,因此第一欄為A,第二欄為B,依此類推。

  7. 在視窗中,使用輸入的字母別名輸入新欄的PostgreSQL邏輯。 SQL計算應限於單一資料行定義,包括SQL查詢的SELECT和FROM敘述句之間的所有邏輯。 使用任何輸入字母的SQL關鍵字都應使用小寫。 例如,使用CASE陳述式時,應以小寫 — case撰寫。 系統假設大寫A是指其中一個輸入。

  8. 選擇適當的資料型別。

    • Integer — 整數
    • Decimal(10,2) — 總共10位數的十進位數字,其中2位在小數點的右側
    • String — 任何型別的文字或使用非數字的字元序列
    • Datetime - yyyy-MM-dd hh:mm:ss格式
  9. 按一下​ test column。 這會為每個輸入產生五個測試值的清單,並顯示每組測試值的步驟6邏輯結果。 如果SQL的任何部分產生錯誤,則會傳回適當的錯誤訊息。 只有當所有輸入欄都是原生欄位時,才能產生範例結果。 如果有任何輸入欄是計算欄,您必須將欄新增至量度,並在Visual Report Builder中檢視來驗證結果

  10. 當您對結果感到滿意時,請按一下​ Save。 欄可啟用以供使用。

recommendation-more-help
e1f8a7e8-8cc7-4c99-9697-b1daa1d66dbc