什么是數(shù)據(jù)行級別的權限過濾?通常,我們拿來制作報表的數(shù)據(jù)是一張記錄了大量數(shù)據(jù)的長表,這類表中有明顯的指標分類,例如省份、大區(qū)等,如何用同一張報表,針對不同的用戶展示其對應分類的指標數(shù)據(jù),這就是我們要實現(xiàn)的數(shù)據(jù)行級別權限控制。
數(shù)據(jù)行級別的權限控制,使報表的通用性獲得提升,減少業(yè)務人員的工作量,增加數(shù)據(jù)展示的靈活性。下面我們來詳細解析數(shù)據(jù)行級別權限控制的簡單應用場景。
01 案例解析
場景:
某企業(yè)在各大省份均有分公司,業(yè)務人員根據(jù)全國銷售數(shù)據(jù)制作了一張季度銷售分析報表,期望各省份用戶僅能查看對應省份銷售數(shù)據(jù),對此,我們可以使用“行過濾”功能來實現(xiàn)這類行級別的權限控制,下面我們來簡單講解行權限控制的實現(xiàn)方法。
實現(xiàn)方案:
a、新建一個“用戶-省份”對應關系數(shù)據(jù)集:
b、在此數(shù)據(jù)集上編輯行過濾,在彈出框中設置行過濾:用戶是 等于 [?{_USER_}],保存數(shù)據(jù)集:
c、打開準備好的全國銷售數(shù)據(jù),例如數(shù)據(jù)集“咖啡中國市場銷售數(shù)據(jù)”:
d、在數(shù)據(jù)集“咖啡中國市場銷售數(shù)據(jù)”中創(chuàng)建參數(shù)“權限”,可選值選數(shù)據(jù)集“權限過濾”,標簽和值選擇“省份”,不勾選彈出:
e、在數(shù)據(jù)集“咖啡中國市場銷售數(shù)據(jù)”中添加行過濾:省份是 其中一個 [?{權限}]:
f、進入制作報告,打開報告“北京/報表1”,創(chuàng)建表1,綁定數(shù)據(jù)集“咖啡中國市場銷售數(shù)據(jù)”上的“省份”等列:
g、用戶“北京1”登錄,進入查看報告,打開報告“北京/報表1”,查看過濾效果:只顯示省份為北京的數(shù)據(jù)。如下圖所示:
02 案例擴展
以上我們講到簡單的“用戶-分類”結構的權限控制,深層次挖掘行級別權限控制的使用場景,我們針對“用戶層級”結構的數(shù)據(jù),也能通過行過濾的方案來實現(xiàn)權限控制,場景如下:
現(xiàn)某企業(yè)銷售部門有張業(yè)務員銷售表,數(shù)據(jù)表結構如下所示
業(yè)務員 | 銷售額 |
User01 | 200 |
User02 | 100 |
User03 | 150 |
User04 | 130 |
企業(yè)銷售部門的人員結構如下:
大區(qū)負責人 | 省份負責人 | 普通業(yè)務員 |
User01 | User01 | User01 |
User01 | User01 | User02 |
User01 | User03 | User03 |
User01 | User03 | User04 |
報表開發(fā)人員使用“業(yè)務員銷售數(shù)據(jù)”制作了一張“業(yè)務員銷售分析報表”,期望通過行級別數(shù)據(jù)權限控制,實現(xiàn)如下效果:
普通業(yè)務員只能看到自己的銷售數(shù)據(jù);
省份負責人可以看到所屬省份所有業(yè)務員的銷售數(shù)據(jù);
大區(qū)負責人可以看到所屬大區(qū)所有業(yè)務員的銷售數(shù)據(jù)。
分析思路:
1.找出業(yè)務員所在最高層級
2.找出業(yè)務員對應的最底層所有user
3.用步驟2找到的user用于“業(yè)務員銷售數(shù)據(jù)集”的行過濾,篩選出最終數(shù)據(jù)。
03 結語
數(shù)據(jù)行級別的權限控制,大大提升了數(shù)據(jù)展示的靈活性,但是針對復雜場景,需要我們具備足夠的sql基礎和分析能力。





