反饋已提交
網絡繁忙
功能簡介:使用者身分驗證 後會將報表三個固定的預設參數【$fine_username】、【$fine_role】、【$fine_position】儲存在 Session 中。
同時提供兩個函式【GETUSERDEPARTMENTS()】、【GETUSERJOBTITLES()】來分別獲取部門角色的部門和職位。
同一報表環境下,範本中可以直接以參數的形式獲取到對應的值,然後在範本里面進行篩選判斷就可顯示不同資料。
本文要介紹的內容如下表所示。
注1:【$fine_username】、【$fine_role】、【$fine_position】 為報表預設參數,呼叫時大小寫必須保持一致。
注2:【$fine_username】、【$fine_role】、【$fine_position】 參數在 設計器9.0 裏分別對應【$fr_username】、【$fr_authority】、【$fr_userposition】。
注3:不支援模擬計算。
例如登入帳號為 Anna
$fine_username=Anna
例如登入帳號為 安娜(Anna)
$fine_display_name=安娜(Anna)
1)若登入使用者為超級管理者
$fine_role=superusers
2)若登入使用者角色為角色資料架構師
$fine_role=資料架構師
3)若登入使用者無角色
該參數值為空
4)若登入使用者存在多個角色「角色1」「角色2」
$fine_role=角色1,角色2
1)若登入使用者為「人力資源-部長」
$fine_position={"departments":"人力資源","jobTitle":"部長"}
2)若登入使用者為「人力資源-部長」兼「領導部-部長」
$fine_position={"departments":"人力資源","jobTitle":"部長"},{"departments":"領導部","jobTitle":"部長"}
3)若登入使用者無部門職位
獲取部門職位裏面的部門
若部門存在多個層級,傳回全部層級
若存在多個部門,傳回全部部門
GETUSERDEPARTMENTS()=人力資源
2)若登入使用者為「銷售部-華東銷售部-組長」
GETUSERDEPARTMENTS()=銷售部,華東銷售部
3)若登入使用者為「人力資源-部長」兼「領導部-部長」
GETUSERDEPARTMENTS()=人力資源,領導部
4)若登入使用者無部門
獲取部門職位裏面的第X層部門
若不存在X層部門,則傳回空值
1)若登入使用者為「銷售部-華東銷售部-華東銷售1組-組長」
GETUSERDEPARTMENTS(3)=華東銷售1組
GETUSERDEPARTMENTS(3,2)=華東銷售1組,華東銷售部
GETUSERDEPARTMENTS(3)為空值
GETUSERDEPARTMENTS(3,2)=華東銷售部
獲取部門職位裏面的職位
若存在多個職位,傳回全部職位
GETUSERJOBTITLES()=部長
2)若登入使用者為「人力資源-部長」兼「領導部-president」
GETUSERJOBTITLES()=部長,president
3)若登入使用者無職位
本文範例:
數據決策系統中存在使用者sunlin和hanwen。
資料庫「銷量」表中,存在資料列「英文簡稱」,該列資料和數據決策系統中的帳號對應。
根據「銷量」表建立了範本「根據登入名限制資料內容」並掛載到數據決策系統目錄中。
sunlin和hanwen登入系統,查看該範本,只能看到自己的銷售資料,看不到其他內容。
注:本章使用的是資料集參數作為範例,使用者也可使用範本資料集。
開啟設計器,建立一張普通報表。
建立資料庫查詢ds1:SELECT * FROM 銷量 where 英文簡稱='${fine_username}'
獲取登入系統的帳號,例如登入帳號為sunlin,那麼$fine_username=sunlin。
如下圖所示:
範本樣式設計如下圖所示:
管理者登入數據決策系統,點選「管理系統>目錄管理」,選擇「管理目錄」,點選「新增範本」。
選擇上一節製作的範本「根據登入名限制資料內容」,點選「下一步」。掛載型別選擇「預覽」,展示終端勾選「PC」,點選「確定」。如下圖所示:
管理者登入數據決策系統,點選「管理系統>權限管理>普通權限配置」。
選擇權限載體為「所有部門」,為其分配目錄「根據登入名限制資料內容」的「查看」權限,如下圖所示:
使用者sunlin(sunlin,123456)登入數據決策系統,查看該範本,只能看到自己的銷售內容。如下圖所示:
使用者hanwen(hanwen,123456)登入數據決策系統,查看該範本,只能看到自己的銷售內容。如下圖所示:
已完成範本請參見:根據登錄帳號限制顯示列欄.cpt
注:請確定平台存在範本中對應的使用者sunlin和hanwen,否則無法正確展示最終效果。
希望不同角色存取範本時,查看到的範本列數不同、行列顔色不同。可以給行列新增條件屬性設定行高、列寬、背景等
本章範例:
數據決策系統中有角色「編外人員」,使用者Anna屬於該角色,使用者Alice不屬於該角色。
目錄中掛載了一張範本,範本中存在列「銷量」。
不屬於角色「編外人員」的使用者Alice登入數據決策系統查看該範本時,可以看到列「銷量」。
屬於角色「編外人員」的使用者Anna登入數據決策系統查看該範本時,看不到列「銷量」。
建立資料庫查詢ds1:SELECT * FROM 銷量
選中E2儲存格,點選右側配置欄「條件屬性」,新增一個條件屬性。
設定屬性為列寬=0公釐。設定條件型別為公式,公式內容為$fine_role='編外人員',點選「增加」,如下圖所示:
注:若一個使用者有多個角色,公式為find('編外人員',$fine_role)>0
選擇上一節製作的範本「根據登入角色限制顯示行列」,點選「下一步」。掛載型別選擇「預覽」,展示終端勾選「PC」,點選「確定」。如下圖所示:
選擇權限載體為「所有部門」,為其分配目錄「根據登入角色限制顯示行列」的「查看」權限,如下圖所示:
不屬於角色「編外人員」的使用者Alice(Alice,123456)登入數據決策系統查看該範本時,可以看到列「銷量」。如下圖所示:
屬於角色「編外人員」的使用者Anna(Anna,123456)登入數據決策系統查看該範本時,看不到列「銷量」。如下圖所示:
已完成範本請參見:根據登錄角色限制顯示列欄.cpt
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙