报表需求源源不断?手把手教你提升报表通用性
什么是數據行級別的權限過濾?通常,我們拿來制作報表的數據是一張記錄了大量數據的長表,這類表中有明顯的指標分類,例如省份、大區等,如何用同一張報表,針對不同的用戶展示其對應分類的指標數據,這就是我們要實現的數據行級別權限控制。
數據行級別的權限控制,使報表的通用性獲得提升,減少業務人員的工作量,增加數據展示的靈活性。下面我們來詳細解析數據行級別權限控制的簡單應用場景。
01 案例解析
場景:
某企業在各大省份均有分公司,業務人員根據全國銷售數據制作了一張季度銷售分析報表,期望各省份用戶僅能查看對應省份銷售數據,對此,我們可以使用“行過濾”功能來實現這類行級別的權限控制,下面我們來簡單講解行權限控制的實現方法。
實現方案:
a、新建一個“用戶-省份”對應關系數據集:
b、在此數據集上編輯行過濾,在彈出框中設置行過濾:用戶是 等于 [?{USER}],保存數據集:
c、打開準備好的全國銷售數據,例如數據集“咖啡中國市場銷售數據”:
d、在數據集“咖啡中國市場銷售數據”中創建參數“權限”,可選值選數據集“權限過濾”,標簽和值選擇“省份”,不勾選彈出:
e、在數據集“咖啡中國市場銷售數據”中添加行過濾:省份是 其中一個 [?{權限}]:
f、進入制作報告,打開報告“北京/報表1”,創建表1,綁定數據集“咖啡中國市場銷售數據”上的“省份”等列:
g、用戶“北京1”登錄,進入查看報告,打開報告“北京/報表1”,查看過濾效果:只顯示省份為北京的數據。如下圖所示:
02 案例擴展
以上我們講到簡單的“用戶-分類”結構的權限控制,深層次挖掘行級別權限控制的使用場景,我們針對“用戶層級”結構的數據,也能通過行過濾的方案來實現權限控制,場景如下:
現某企業銷售部門有張業務員銷售表,數據表結構如下所示
業務員
銷售額
User01
200
User02
100
User03
150
User04
130
企業銷售部門的人員結構如下:
大區負責人
省份負責人
普通業務員
User01
User01
User01
User01
User01
User02
User01
User03
User03
User01
User03
User04
報表開發人員使用“業務員銷售數據”制作了一張“業務員銷售分析報表”,期望通過行級別數據權限控制,實現如下效果:
普通業務員只能看到自己的銷售數據;
省份負責人可以看到所屬省份所有業務員的銷售數據;
大區負責人可以看到所屬大區所有業務員的銷售數據。
分析思路:
1.找出業務員所在最高層級
2.找出業務員對應的最底層所有user
3.用步驟2找到的user用于“業務員銷售數據集”的行過濾,篩選出最終數據。
03 結語
數據行級別的權限控制,大大提升了數據展示的靈活性,但是針對復雜場景,需要我們具備足夠的sql基礎和分析能力。
總結
以上是生活随笔為你收集整理的报表需求源源不断?手把手教你提升报表通用性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 应届毕业生突破909万,数据盘点哪行工资
- 下一篇: 报告如何单独添加水印?永洪BIV9.2解