自訂運算式

自訂運算式 就像 Excel、Google Sheets 和 LibreOffice Calc 等試算表軟體中的公式。它們是查詢產生器筆記本編輯器中的強大工具,可讓您提出更複雜的問題。

您也可以跳到完整的運算式清單

用於建立篩選條件、指標和自訂欄的自訂運算式

若要使用自訂運算式,請建立自訂欄(其中自訂運算式用作欄位公式,以計算新欄的值),或按一下篩選條件摘要並選取自訂運算式

使用查詢產生器時,您可以使用運算式來建立新的

  • 自訂欄。您可以使用 = [小計] / [數量] 來建立新的欄,您可以將其命名為「商品價格」。
  • 篩選條件。運算式 = contains([評論], "Metabase") 會篩選 評論 欄位包含「Metabase」一詞的列。
  • 摘要。也稱為指標或彙總。= Share([總計] > 50) 會傳回總計大於 50 美元的訂單百分比。

本頁涵蓋運算式的基礎知識。您可以查看 Metabase 中的完整運算式清單,或逐步完成教學課程,示範如何在筆記本編輯器中使用自訂運算式

運算式類型

運算式有兩種基本類型:彙總函數。查看完整運算式清單

彙總

彙總會從多列取得值以執行計算,例如尋找欄中所有值的平均值。彙總函數只能在筆記本編輯器的摘要區段中使用,因為彙總會使用該欄中所有列的值。因此,雖然您可以使用公式 [小計] + [稅金] 建立自訂欄,但您無法撰寫 Sum([小計] + [稅金]),除非您要建立自訂指標運算式(會將所有小計和稅金加總在一起)。

函數

相較之下,函數會對欄中的每個值執行某些動作,例如搜尋每個值中的單字 (contains)、將每個值四捨五入到最接近的整數(ceil 函數)等等。

基本數學運算子

在數值欄上使用 +-*(乘法)、/(除法)與數值,例如整數、浮點數和雙精度浮點數。您可以使用括號 () 將運算式的各個部分分組。

例如,您可以建立一個新欄,計算訂單的總計和小計之間的差額:= [總計] - [小計]

若要對時間戳記欄執行數學運算,您可以使用日期函數,例如 dateDiff

條件運算子

ANDORNOT>>=(大於或等於)、<<=(小於或等於)、=!=(不等於)。

例如,您可以為來自加州或佛蒙特州的客戶建立篩選條件:= [州] = "CA" OR [州] = "VT"

您也可以將條件式與 case 函數(別名 if)搭配使用

case([Size] = "L", "LARGE", [SIZE] = "M", "MEDIUM", "SMALL")

請參閱 case

參考其他欄

您可以參考目前表格中的欄,或透過外鍵關係連結的欄。欄名稱應包含在方括號內,如下所示:[欄名稱]。連線表格中的欄可以像這樣參考:[連線表格名稱.欄]

參考區隔和指標

您可以參考目前選取表格中已儲存的指標區隔。您可以使用與欄相同的方式寫出這些項目,如下所示:[有效使用者工作階段]

篩選運算式與條件式

關於篩選運算式和條件式的一些注意事項

  • 篩選運算式的不同之處在於,它們必須傳回布林值(真或假)。例如,您可以撰寫 [小計] + [稅金] < 100。Metabase 會查看每一列,加入其小計和稅金,然後檢查總和是否大於 100。如果是,則陳述式評估為 true,且 Metabase 會將該列包含在結果中。如果您 (不正確地) 撰寫 [小計] + [稅金],Metabase 將不知道該怎麼做,因為該運算式不會評估為 true 或 false。
  • 您可以在 CountIfSumIf 彙總的條件式部分內使用函數,如下所示:CountIf( round([小計]) > 100 OR floor([稅金]) < 10 )

在篩選運算式中使用日期

如果您想要在篩選運算式中使用日期,日期需要遵循 "YYYY-MM-DD" 格式 — 也就是說,年份四個字元、月份兩個字元、日期兩個字元,並以引號 " 括住,並以破折號 - 分隔。

範例

between([建立時間], "2020-01-01", "2020-03-31") OR [收到時間] > "2019-12-25"

此運算式會傳回 建立時間 介於 2020 年 1 月 1 日和 2020 年 3 月 31 日之間,或 收到時間 在 2019 年 12 月 25 日之後的列。

運算式清單

請參閱運算式完整清單

如需運算式的教學課程,請參閱查詢產生器中的自訂運算式

閱讀其他Metabase 版本的文件