1.1 版本
FineBI 版本 | 功能變更 |
---|---|
6.0 | - |
6.0.13 | DEF_SUB 合計行邏輯優化:合計-自動計算時,使用的是當前合計檢視表所使用到的連接維度。 |
1.2 簡介
DEF_SUB 函式使用「分析區域的維度」-「指定維度」,計算聚合指標。引入了「分析區域的維度」,所以分析區域維度的增減會影響計算結果。
這裏可以對比下 DEF_ADD 函式 「分析區域的維度」+「指定維度」,即阻止函式使用分析區域中的一個或多個維度。
文法 | DEF_SUB(指標, [維度1,維度2,...], [過濾條件1, 過濾條件2,...]) | 滿足過濾條件並按【分析區域維度-[維度1,維度2]】對指標進行計算 |
---|---|---|
參數1 | 聚合指標 | 1)指標只允許有一個,且不可為空; 2)指標支援巢。即可以是任意函式匯出的指標,包括由 DEF 函式匯出的計算指標 注:當指標為明細計算指標時,報錯提示「分析函式中不支援明細計算指標」 |
參數2 | 維度 | 1)函式內指定的維度 2)當只有一個維度參數時,可以不加 [ ] |
參數3 | 過濾條件 | 1)過濾條件可為空,當過濾條件為空時,執行指標的聚合運算沒有過濾參與計算 2)過濾條件支援明細級別過濾,支援巢指標的過濾(def函式匯出的指標),不支援聚合函式作為過濾條件 3)支援設定多個過濾條件,相同層級間的過濾以「且」執行 4)當只有一個過濾條件時,可以不加 [ ] 5)當指定維度為空時,格式為 DEF_SUB(聚合指標,[],[過濾條件1, 過濾條件2,...]) |
注:DEF_SUB 函式不支援匯出為維度欄位。
2. 簡單範例
假如分析區域拖入了「地區」和「分類」,如下圖所示:
DEF_SUB 的維度為「分析區域的維度」-「指定維度」
場景 | 公式 | 描述 |
---|---|---|
計算每個地區的總銷售額 | DEF_SUB(SUM_AGG(銷售額),[分類]) | 維度欄上有兩個維度,但我們只需要使用「地區」維度,所以將「分類」去掉。
獲得每個地區小的銷售額 |
3. 實操-加入平均值
我們可以很容易得出 2017 年每個季度各個大區的銷售額。那如果如下圖我們想加入「每個季度各大區平均銷售額」,瞭解平均值多少的同時,還方便每個大區與平均值進行對比,該如何操做呢?
整理下思路:每個季度各大區的銷售額=每個季度的總銷售額/大區的個數
1)建立分析主題,新增產品已內建範例資料。如下圖所示:
2)製作組件,展示每個季度各大區的銷售額是多少。選擇圖表型別為「自訂圖表」,更改「銷售日期」的分組為「年季度」。如下圖所示:
3)新增計算欄位,計算「每季度各大區的平均銷售額」,如下圖所示:
我們已經往分析區域拖入了兩個維度「銷售日期(季度)」「所屬大區」
場景 | 公式 | 描述 |
---|---|---|
每個季度的銷售額是多少 | DEF_SUB(SUM_AGG(銷售額),[所屬大區]) |
對每個季度的銷售額求和 |
求大區的個數 | DEF(COUNTD_AGG(所屬大區)) |
數一數整張表有多少個大區 |
每季度大區的平均銷售額是多少 | DEF_SUB(SUM_AGG(銷售額),[所屬大區])/DEF(COUNTD_AGG(所屬大區)) | 每個季度的銷售額/大區的個數 |
4)將「每個季度大區平均銷售額」拖入圖表,在圖表屬性那裏調整它的展現形式為「線」。如下圖所示:
至此我們便完成了這個分析。