自訂運算式
自訂運算式 就像 Excel、Google Sheets 和 LibreOffice Calc 等試算表軟體中的公式。它們是查詢產生器筆記本編輯器中的強大工具,可讓您提出更複雜的問題。
您也可以跳到完整的運算式清單。
用於建立篩選條件、指標和自訂欄的自訂運算式
若要使用自訂運算式,請建立自訂欄(其中自訂運算式用作欄位公式,以計算新欄的值),或按一下篩選條件或摘要並選取自訂運算式。
使用查詢產生器時,您可以使用運算式來建立新的
- 自訂欄。您可以使用
= [小計] / [數量]
來建立新的欄,您可以將其命名為「商品價格」。 - 篩選條件。運算式
= contains([評論], "Metabase")
會篩選評論
欄位包含「Metabase」一詞的列。 - 摘要。也稱為指標或彙總。
= Share([總計] > 50)
會傳回總計大於 50 美元的訂單百分比。
本頁涵蓋運算式的基礎知識。您可以查看 Metabase 中的完整運算式清單,或逐步完成教學課程,示範如何在筆記本編輯器中使用自訂運算式。
運算式類型
運算式有兩種基本類型:彙總和函數。查看完整運算式清單。
彙總
彙總會從多列取得值以執行計算,例如尋找欄中所有值的平均值。彙總函數只能在筆記本編輯器的摘要區段中使用,因為彙總會使用該欄中所有列的值。因此,雖然您可以使用公式 [小計] + [稅金]
建立自訂欄,但您無法撰寫 Sum([小計] + [稅金])
,除非您要建立自訂指標運算式(會將所有小計和稅金加總在一起)。
函數
相較之下,函數會對欄中的每個值執行某些動作,例如搜尋每個值中的單字 (contains
)、將每個值四捨五入到最接近的整數(ceil
函數)等等。
基本數學運算子
在數值欄上使用 +
、-
、*
(乘法)、/
(除法)與數值,例如整數、浮點數和雙精度浮點數。您可以使用括號 (
和 )
將運算式的各個部分分組。
例如,您可以建立一個新欄,計算訂單的總計和小計之間的差額:= [總計] - [小計]
。
若要對時間戳記欄執行數學運算,您可以使用日期函數,例如 dateDiff。
條件運算子
AND
、OR
、NOT
、>
、>=
(大於或等於)、<
、<=
(小於或等於)、=
、!=
(不等於)。
例如,您可以為來自加州或佛蒙特州的客戶建立篩選條件:= [州] = "CA" OR [州] = "VT"
。
您也可以將條件式與 case
函數(別名 if
)搭配使用
case([Size] = "L", "LARGE", [SIZE] = "M", "MEDIUM", "SMALL")
請參閱 case
。
參考其他欄
您可以參考目前表格中的欄,或透過外鍵關係連結的欄。欄名稱應包含在方括號內,如下所示:[欄名稱]
。連線表格中的欄可以像這樣參考:[連線表格名稱.欄]
。
參考區隔和指標
您可以參考目前選取表格中已儲存的指標和區隔。您可以使用與欄相同的方式寫出這些項目,如下所示:[有效使用者工作階段]
。
篩選運算式與條件式
關於篩選運算式和條件式的一些注意事項
- 篩選運算式的不同之處在於,它們必須傳回布林值(真或假)。例如,您可以撰寫
[小計] + [稅金] < 100
。Metabase 會查看每一列,加入其小計和稅金,然後檢查總和是否大於 100。如果是,則陳述式評估為 true,且 Metabase 會將該列包含在結果中。如果您 (不正確地) 撰寫[小計] + [稅金]
,Metabase 將不知道該怎麼做,因為該運算式不會評估為 true 或 false。 - 您可以在
CountIf
和SumIf
彙總的條件式部分內使用函數,如下所示: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 版本的文件。