全部展開/全部摺疊
Before - 圖表函數在此頁面
Before() 傳回以樞紐分析表的維度值評估而得的運算式值,這些值會顯示在樞紐分析表的列區段內,目前資料行之前的資料行中。
語法:
Before( [TOTAL] expr
[, offset [, count]])
資訊備註 此函數在所有圖表 類型中都會傳回 NULL ,除了樞紐分析表以外。
資訊備註 當任何圖表運算式使用了此圖表函數時,就不允許在圖表中依據 Y 值排序,或在表格中依據運算式資料行排序。因此,這些排序替代選項會自動停用。若您在視覺化或表格中使用此圖表函數,視覺化的排序將還原為對此函數的排序輸入。
引數
expr
包含待測量之資料的運算式或欄位。
offset
將一個 offset n 指定為大於 1,則可將運算式的評估從目前欄往左移動 n 欄。
若將位移指定為 0,則會根據目前欄來評估運算式。
若指定負值的位移,會讓 Before 函數的作用相當於包含對應正值位移的 After 函數。
count
將第三個參數 count 指定為大於 1,函數會傳回一系列值,從原始儲存格往左算,每個表格欄的值最多為 count 個。
TOTAL
如果表格為單一維度或 TOTAL 限定詞作為引數,則目前資料行區段一律等於整個資料行。 定義彙總範圍
會對列區段的第一個資料行傳回 NULL 值,因為在此資料行之前沒有任何資料行。
如果樞紐分析表有多個水平維度,則目前列區段僅會包括在所有維度列中與目前資料行有相同值的資料行 (顯示欄位間排序順序之最後一個水平維度的列除外)。樞紐分析表中水平維度的欄位間排序順序,可簡單透過維度從上至下的順序來定義。。
範例:圖表運算式
Before( Sum(Sales ))
傳回相對於目前欄左側上一欄的 Sales 總和。
Before( Sum(Sales ), 2)
傳回距離目前欄左側兩個欄的欄中的 Sales 總和。
Before( Total Sum( Sales ))
傳回相對於目前欄左側上一欄的 Sales 總和總計。
RangeAvg ( Before(Sum(x),1,3))
根據緊接在目前資料行左方的三個資料行,傳回所評估 sum(x) 函數之三個結果的平均值。
範例 - Before 基礎事項 圖表運算式 概述
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
載入到稱為 Example 之資料表格的資料集。
資料表格中的欄位如下:
載入指令碼
Example:
Load * inline [
Year, Quarter, Sales
2023, Q1, 5000
2023, Q2, 4000
2023, Q3, 6000
2023, Q4, 7000
];
將代碼複製到剪貼簿 結果
載入資料並開啟工作表。建立新的樞紐分析表並將此欄位新增為列維度:
新增此欄位作為欄維度:
建立下列量值:
結果表格 年 Q1 Q2 Q3 Q4 Sum(Sales) Before(Sum(Sales)) Sum(Sales) Before(Sum(Sales)) Sum(Sales) Before(Sum(Sales)) Sum(Sales) Before(Sum(Sales)) 2023 5000 - 4000 5000 6000 4000 7000 6000
查看結果,您可以看到 Before 函數如何傳回每個 Quarter 的 Sum(Sales) 欄左側上一欄的值。例如,在第 4 季,該期間的 Sum(Sales) 值為 7000 。Q4 的 Before 函數輸出為 6000 ,這是 Q4 的 Sum(Sales) 左側欄的值,即 Q3 的 Sum(Sales) 。
範例 - 使用 Before 函數計算銷售額逐年成長率 圖表運算式 概述
資料集包含數年的銷售數據。該公司希望呈現每年的總銷售額以及基於上一年銷售值的成長率。
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
載入到稱為 Example 之資料表格的資料集。
資料表格中的欄位如下:
載入指令碼
Example:
Load * inline [
Year, Sales
2021, 1300
2022, 1800
2023, 2000
2024, 2100
];
將代碼複製到剪貼簿 結果
載入資料並開啟工作表。建立新的樞紐分析表並將此欄位新增為欄維度:
建立下列量值:
結果表格 2021 2022 2023 2024 Sum(Sales) (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) Sum(Sales) (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) Sum(Sales) (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) Sum(Sales) (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) 1300 - 1800 38.46% 2000 11.11% 2100 5.00%
Before 函數的輸出傳回基於前一年銷售數據的年成長率。例如,2022 的銷售總和 38.46% 高於 2021 的 Sum(Sales) 。
提示備註 在此情境中,您也可以使用 After 函數執行相同的銷售成長計算。若在函數參數中指定負值的位移,會讓 After 函數的作用相當於包含對應正值位移的 Before 函數。例如,以下使用 After 函數 (負位移值為 -1 ) 的運算式會傳回與 Before 函數相同的年度銷售成長結果:=(Sum(Sales)-After(Sum(Sales),-1))/(After(Sum(Sales),-1)) 。