您正在浏覽的是 FineBI 7.X 幫助文檔,點選跳轉至 FineBI 6.X 幫助文檔

半累加指標

1. 概述

1.1 版本

FineBI 版本功能變動
7.0.6-

1.2 功能簡介

半累加指標是解決「部分維度不需要聚合,僅取特定值(最大 / 最小),其他維度正常匯總」的視覺化配置功能。

不用寫複雜函式,透過指標視覺化配置就能實現快照類資料的統計,替代原來需要手動編寫 def 函式的高難度操作。


1.3 應用場景

範例場景視覺化配置
賬戶餘額統計按賬戶取「最後一次流水時間」的餘額,再按「網點/支行」匯總
  • 不可累加維度 = 時

  • 視窗分組 = 賬戶

  • 取值 = 最大值

庫存數量統計按庫房、品類取「最後一次記錄時間」的庫存,再按地區匯總
  • 不可累加維度 = 時

  • 視窗分組 = 庫房 + 品類

  • 取值 = 最大值

考試成績統計考生同一科目多次考試,取「最高/最低分」作為最終成績
  • 不可累加維度 = 考試次數

  • 視窗分組 = 考生 + 科目

  • 取值 = 最大值 / 最小值


1.4 注意事項

  1. 指標的 「匯總方式」 不能是「聚合」 或 「明細值」

  2. 主指標 + 過濾條件有且僅有一個基準表(不能跨多個表)

2. 操作步驟

範例場景:計算賬戶餘額(賬戶分組下取最大時間的餘額)

原始資料:

地區
賬戶
時間流水餘額
AZH1002025-10-11 18:00100
AZH1002025-10-11 19:00200
AZH1012025-10-11 18:00300


2.1 前置條件

上傳資料到「資料目錄」並新增到「模型管理」後,製作指標。

計算方式選擇「欄位」,依據「流水金額」進行「求和」,如下圖所示:

  • 過濾:無

  • 衍生方式:無

注意事項:

  1. 指標的 「匯總方式」 不能是「聚合」 或 「明細值」

  2. 計算方式的「對應指標 」+ 「過濾條件」有且僅有一個基準表(不能跨多個表)

2.2 配置指標

在指標視覺化定義介面,開啟「半累加指標」後,進行配置。該指標在不可累加維度下不聚合,僅選取視窗分組中最大/最小的不可累加維度值參與計算。例如計算賬戶餘額,「不可累加維度=時間;視窗分組=[賬戶];取值=最大值」。配置如下圖所示:

計算邏輯說明:

指標配置轉化為公式 = sum_agg(def_add(sum_agg(流水餘額),[賬戶],[時間= def(max_agg(時間),add_dim()) ]))

公式計算優先:先執行過濾條件 → 再按「視窗分組」+「不可累加維度」取最大 / 最小值對應的指標值 → 最後按其他維度正常聚合

範例:無過濾條件,跨越 → 按賬戶分組取最大流水時間的餘額 → 按 「分析使用的維度」 匯總餘額合計

配置項說明:

配置項
選擇範圍限制說明
不可累加維度

「對應欄位」所在基準表的全部原始表字

(不區分欄位類型)

  • 最多 1 個欄位

  • 必填

無需聚合的維度(如賬戶餘額場景的 「時間」),僅選取視窗分組內指定規則的該維度值
視窗分組

資源 / 維度列表中能夠分析「對應欄位」的字

(需判斷欄位分析方向)

  • 非必填

分組維度(如賬戶餘額場景的 「賬戶」),基於該維度篩選不可累加維度的極值記錄
取值可選 「最大值」或「最小值」
  • 必填

不可累加維度的篩選規則(如賬戶餘額場景選 「最大值」,即取視窗分組內最大時間的記錄)


2.3 效果預覽

完成指標配置後,查詢資料結果。地區 A 所有賬戶餘額為「500」。

賬戶「ZH100」餘額為「200」。

新增所有欄位預覽資料明細,效果如下圖所示:

3. 計算邏輯說明

3.1 基礎計算邏輯

半累加函式計算邏輯轉化為公式如下:

匯總方式(def_add(匯總方式(指標) , [視窗分組] ,[不可累加維度=def(最大/最小值聚合函式(不可累加維度),add_dim())]))

公式說明:

  1. 外層匯總方式:按使用者預期的最終聚合方式(如 “平均”“求和”),對視窗分組計算後的結果再次聚合(例:求支行下各賬戶平均餘額,先算每個賬戶餘額,再按支行求平均);

  2. 內層匯總方式:若視窗分組內不可累加維度最大/最小值對應多條記錄(資料異常場景),複用配置的匯總方式處理(如餘額場景選 “求和” 則累加多條最大/最小值記錄,優先規避資料異常導致的計算邏輯複雜化);

  3. def_add/def 函式:實現視窗分組內不可累加維度的最大/最小值篩選,max_agg對應 “取值 = 最大值”,min_agg對應 “取值 = 最小值”;

  4. add_dim:規避 def_add 函式第一個參數必須為數值的限制,曲線相容欄位類型。

3.2 交叉場景計算邏輯

半累加指標可疊加 「指標過濾、時間衍生」 配置,核心規則為:不可累加邏輯是對主指標聚合的修飾,過濾在聚合前執行。

1)過濾 + 半累加

不可累加=sum_agg(def_add(sum_agg(if(條件, 指標, null)), [視窗分組],[不可累加維度=def(最大/最小值聚合函式(不可累加維度),add_dim()]))

注:因公式包含 def 函式,暫不支援過濾下推優化(功能暫未正式對外)。

2)時間衍生 + 半累加

年同期場景公式如下:

sum_agg( def_add(sum_agg(def_add(匯總方式_指標, [視窗分組 ],[不可累加維度=def(最大/最小值聚合函式(不可累加維度),add_dim()])),[ ],[current(sub_dim(日期)),日期年=earlier(yeardelta(日期年,-1)))

  • current(sub_dim(日期):鎖定當前分析的時間粒度(年)和具體值(比如使用者分析 2024 年的資料,該函式就傳回 “2025”);

  • yeardelta(日期年,-1) → 年份減 1(2025 → 2024,對應 “去年同期”)

注:半累加本身使用了 2 層 def ;時間衍生本身使用 1 層 def ;聚合過濾本身使用一層 def 。如果疊加可能會導致 def 超限,建議如有此場景適當放開一層 DEF 層數限制。

4. 常見問題

Q:不可累加維度為何最多選 1 個?

A:多個不可累加維度會導致 「最大/最小值」判定歧義(如同時選時間、金額,無法明確先取哪個維度的極值)。

Q:視窗分組非必填,不填會怎樣?

A:不填視窗分組時,會基於全量資料篩選不可累加維度的極值記錄,再按匯總方式聚合。

Q:不可累加維度最大/最小值對應多條記錄(資料異常),如何處理?

A:複用配置的 「匯總方式」處理(如求和、平均),優先保證邏輯簡潔,資料異常需提前診斷修正。

Q:什麼是主指標?

A:新增指標選的「對應欄位」為主指標。下面的過濾條件新增的若干指標為次指標。

Q:什麼是基準表?

A:指標分析時維度用的哪張表,哪個就是基準表。跨表計算的指標,依據維度所在多表之間的聯動關係,生成一張虛擬基準表。


附件列表


主题: 指標中心
  • 有帮助
  • 没帮助
  • 只是浏览
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙