如視窗函式等分析函式只能在組件內直接匯出並使用。
例如,RANK_AGG實現按照指定規則進行排序。對「合同付款類型」分組後,對組內不同「合同類型」金額降冪排名,如下圖所示:
如果在「資料編輯」中直接匯出。則提示「不支援直接匯出聚合函式」。如下圖所示:
那麼如何在資料編輯中,我們如何實現按照指定規則進行排序呢?
RANK_AGG 和 WINDOW是聚合級別函式,直接基於分析檢視表進行計算。而資料編輯是基於明細的計算,無法為 RANK_AGG 和 WINDOW 提供有效檢視表。
例如,問題描述中計算排名的公式為 :RANK_AGG([合同付款類型],[SUM_AGG(合同金額),"desc"],"UNIQUE")。依據「合同付款類型」分組後,分析檢視表中的維度欄拖入哪個欄位,就按哪個欄位降冪排序。
拖入「合同類型」,則按「合同付款類型、合同類型」依次分組匯總金額,求降冪排名。
拖入「客戶名稱」,則按「合同付款類型、客戶名稱」依次分組匯總金額,求降冪排名。
在「資料編輯」中需要固定分組欄位,得到一個固定的排名結果。因此,在組件計算新增的 RANK_AGG 排名公式無法在資料編輯中直接使用。
DEF 函式能夠構建一個獨立的檢視表,使用 DEF 嵌套視窗函式,可以為視窗函式提供明確的檢視表計算。
資料編輯中「新增公式欄」。
公式 = DEF(聚合指標/視窗函式計算結果,[視窗函式依賴的檢視表維度1,視窗函式依賴的檢視表維度2])
= DEF(RANK_AGG([合同付款類型],[SUM_AGG(合同金額),"desc"],"UNIQUE"),[合同付款類型,合同類型])
具體的操作步驟請見下文範例。
範例資料:合同事實表.xlsx
1)在分析主題上傳範例資料。詳情請參見:5分鐘上手FineBI
2)對資料分組匯總。得到排序需要用的欄位。如下圖所示:
3)對資料先按「合同付款類型」排序,再按合同金額降冪。方便後續校驗公式計算結果。如下圖所示:
4)輸入計算公式=DEF(RANK_AGG([合同付款類型],[SUM_AGG(合同金額),"desc"],"UNIQUE"),[合同付款類型,合同類型])。如下圖所示:
用DEF函式嵌套
目的是固定維度
「合同付款類型、合同類型」
如下圖所示:
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙