下面我們通過excel報表FineReport以一個完整的示例來分別講解權限細粒度控制的所有內容。
工具/原料
excel報表FineReport7.1.1
大小:148.2M 適用平臺:windows/linux
方法/步驟
模板設計
新建一張模板,新建數據集ds1:SELECT * FROM [銷量],並輸出內置數據集,再打開輸出的內置數據集cpt文件,為數據集新增一列用戶名,如下圖:
如下圖所示進行模板設計:
用戶添加
FineReport數據決策系統裡面的用戶沒有該模板中涉及到的銷售員,故,我們往數據決策系統中添加幾個用戶,華東地區添加2個孫林、張珊,華北地區添加1個王偉,並添加機構部門銷售,該部門下面有三個職位:銷售人員、銷售經理和lingdao,其中孫林、張珊和王偉是銷售人員,Anna是華北地區銷售經理,Alice是華東地區銷售經理,lingdao是lingdao,如下圖:
數據過濾
參數面板設置
點擊模板>模板參數,添加一個參數Product,同時在報表主體中切換到參數面板,將參數控件全部添加進來,控件類型選擇下拉複選框,數據字典設置如下圖:
過濾條件添加
為報表主體添加兩個過濾條件,第一個是產品類型所在字段,根據參數面板的Product參數過濾產品類型,第二個是地區所在單元格,使系統當前登錄銷售人員用戶只能看到與之相關的數據,如下圖:
地區過濾
在上面描述中提到了華東地區經理只能看到華東地區數據,華北地區經理只能看到華北地區數據,故,我們為該字段添加過濾條件,實現權限控制,如下圖:
權限編輯
點擊模板>進入權限編輯進入權限編輯界面。
控件權限編輯
在示例描述中講到,普通銷售對參數面板控件只有查看權限,沒有編輯權限,即銷售人員對控件可見不可用,銷售經理和lingdao既可見也可用,如下圖:
單元格內容權限編輯
銷售人員只能看到自己數據的合計,即E6單元格里面的合計彙總數據,不能看到所有人員的合計數據,銷售經理可以看到該地區的所有銷售人員的所有合計數據,如下圖,選擇銷售人員角色,選中彙總行中的單元格,設置其權限不可見:
sheet權限控制
銷售人員和銷售經理只能看到銷售詳情這個sheet,而銷售經理只可以看到總銷售情況這個sheet,如下圖:
以同樣的方式為銷售經理和lingdao進行權限編輯。
報表目錄添加
在瀏覽器地址欄中輸入用管理員或者有權限的普通用戶登錄系統,點擊管理系統>報表管理,將上面的模板添加在FRTest目錄下面,如下圖:
注:由於多sheet模板只有在填報預覽或者數據分析的模式下才能顯示多sheet,這裡使用填報方式查看。
報表目錄權限分配
添加完報表目錄之後,點擊權限管理>報表權限快捷配置,在左側的目錄框中選中FRTest目錄下面的權限細粒度模板,選擇右側的部門職位,在職位列表下面勾選銷售這個部門,即表示,銷售下面的所有用戶均擁有查看權限細粒度這個模板的權限,如下圖:
效果查看
銷售人員
銷售人員用戶登錄系統,我們這裡使用華東地區的孫林和華北地區的張偉登錄系統,點擊FRTest>權限細粒度模板,效果如下圖:
銷售經理
分別使用華東銷售經理Alice和華北銷售經理Anna登錄系統,效果如下圖:
領導
使用lingdao賬號登錄系統,效果如下圖: