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

WINDOW視窗函式概述-跨列計算

1. 概述

注:本函式僅適用於自助分析主題。

1.1 版本

FineBI版本
功能變動
6.1.2-

注:直連資料環境下,部分資料庫不支援使用此函式,如 mysql、click house 建議切換成抽取資料分析。

1.2 功能簡介

WINDOW 視窗函式常用於行間計算的場景,在對資料進行分組、排序後,對視窗上下限內的資料進行計算。

文法

WINDOW_匯總方式(聚合方式(指標)  ,[分組欄位1, 分組欄位2.... ],[排序欄位1,排序方式,排序欄位2, 排序方式...],[視窗上限,視窗下限])

參數

視窗函式基於「分析檢視表」進行計算,函式內的指標/分組欄位/排序欄位需要均為聚合性質,且維度欄位均需要來源於分析檢視表 

參數說明
指標不可為空
分組欄位預設則不按照任何欄位分組 
排序欄位預設則按照預設順序計算
排序方式支援 "asc"、"desc" 兩個關鍵詞,分別對應升冪和降冪排序,如預設需要預設所有排序方式,預設則按照排序欄位升冪進行計算
視窗上限/下限

支援 "first"、"last" ,分別代表組內第一行/組內最後一行;

支援數值常數,0代表當前行,-n代表當前行的前n行,n代表當前行的後n行

預設則按照["first","last"]使用組內全部計算

回傳值

傳回視窗中的所有行,對行內的指標依據「匯總方式」進行計算。

注:不同的 WINDOW 函式對應不同的匯總方式,匯總方式包括「求和,平均,最大值,最小值,標準差,方差」。除此以外,視窗函式還有 RANK_AGG-按指定規則排序 函式,支援對欄位分組後按指定規則排序。詳情見下文。

函式類型


window函式場景
WINDOW_SUM-跨列求和/求累計

比較當前節點和上一節點的轉化率

逐月展示前三個月銷售額

WINDOW_AVG-跨列求平均求行動平均
WINDOW_MAX-跨列求最大值-
WINDOW_MIN-跨列求最小值-
WINDOW_STDEV-跨列求標準差-
WINDOW_VAR-跨列求方差-
RANK_AGG-按指定規則排序

並列排名不佔位

交叉表求橫向排名

说明

WINDOW 視窗函式不同匯總方式,可透過寫不同公式控制視窗上下限內的資料進行計算。

注:每個儲存格計算的視窗上下限的定義不一定相同。

类型
数值WINDOW_SUM -求和WINDOW_AVG-求平均WINDOW_MAX-求最大值WINDOW_MIN-求最小值
A10
50  =B+C)25 =B+C)/230 =MAXB+C)20 =MIN(B+C)
B2060  =(A+B+C)20 =(A+B+C)/330  =MAX(A+B+C)10  =MIN(A+B+C)
C3060  =(A+B+C)20 =(A+B+C)/330  =MAX(A+B+C)10  =MIN(A+B+C)
D4060  =(A+B+C)20 =(A+B+C)/330  =MAX(A+B+C)10  =MIN(A+B+C)
E50140 =(B+C+D+E)35 =(B+C+D+E)/450 =MAX(B+C+D+E)20 =MIN(B+C+D+E)
F60120 =(C+D+E)40 =(C+D+E)/360 =MAX(C+D+E)30 =MIN(C+D+E)



1.3 應用場景

視窗函式能夠單獨匯出欄位或和 DEF 函式組合使用。對分析檢視表的欄位進行計算時,視窗函式比使用 EARLIER 函式進行跨行計算更簡單、更易理解、效能更優。

一般場景

WINDOW 函式基於分析檢視表進行聚合計算,即依據已生成的組件結果進行計算(不包含明細表)如:

  • 求累計

  • 求組內累計

  • 求近三行行動平均

  • 求分組下近三行行動平均

巢狀場景

當 WINDOW 和 DEF 類函式巢狀使用時,基於 DEF 函式下的獨立檢視表進行計算,這種情況下如果使用的是 DEF 函式(指定維度)可匯出明細級別的欄位。

DEF+WINDOW 的巢狀場景下支援在自助資料集和明細表中使用 WINDOW 函式。


2. 使用位置


使用位置
自助資料集
新增公式欄
組件新增計算欄位

注:WINDOW 函式匯出的是聚合欄位,在自助資料集中不支援直接匯出,需要與 DEF 函式組合後匯出明細級別欄位。

3. 注意事項

  • WINDOW 基於分析檢視表進行計算,指標/分組欄位/排序欄位需要均為聚合性質,且維度欄位均需要來源於分析檢視表 

  • WINDOW 函式匯出的是聚合欄位,在自助資料集中不支援直接匯出,需要與 DEF 函式組合後匯出明細級別欄位。

  • 如果對於排序要求較高,建議把排序欄位和排序方式都依次羅列到 WINDOW 函式中。未指定的欄位按照預設順序計算

年月累計場景

由於當前 WINDOW 計算時所使用的欄位都是從待分析區進行選擇,來對應分析區的欄位。而我們分析區又支援日期分組、自訂維度分組。當一個欄位被重複拖入分析區並設定多種分組方式時, WINDOW 計算會將欄位設定的所有分組都帶入計算。

例如,「合同簽約時間」在分析區按「年」分組,然後再次拖入後按「月份」分組。WINDOW 函式計算的「合同簽約時間」會按年月分組參與計算。如下圖所示:


如果我們要求按年分組下,各月的購買數量累計,需要在待分析區域複製「合同簽約時間」欄位並重新命名用於區分不同分組。

在分析區拖入欄位「年、月」並依次設定分組。新增計算欄位「購買數量組內累計值」,計算對「年」分組後,按月依次累計的購買數量。

2013 年的購買數量按月依次累計,效果如下圖所示:


4. 範例

範例資料:超市銷售資料 .xlsx

1)製作分組表,拖入「訂單日期、銷售額」求不同年月的銷售額情況。如下圖所示:


2)計算近三個月銷售額行動平均,如下圖所示:

公式=WINDOW_AVG(SUM_AGG(銷售額),[],[訂單日期],[-2,0])


公式內容
說明備註
WINDOW_AVG(SUM_AGG(銷售額))銷售額跨行求平均

WINDOW_AVG-跨列求平均

參數2:[]不對資料進行分組
參數3:訂單日期

按訂單日期(年月)升冪

  • 排序欄位:訂單日期

  • 排序方式:未寫排序方式,因此預設升冪排列

不寫排序方式預設升冪
參數4:[-2,0]

獲取視窗範圍內的資料

  • 視窗上限 -2:依據排列順序從前兩行取數

  • 視窗下限 0:取數取到當前行結束

按訂單日期(年月)順序獲取前兩行和當前行資料,求行動平均

完成後,將欄位拖入分組表,並設定數值格式為「萬」。如下圖所示:


附件列表


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

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

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

不再提示

10s後關閉

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

反馈已提交

网络繁忙