反饋已提交

網絡繁忙

當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

權限細粒度參數控制

一、概述

  1. 功能簡介:用戶身份驗證 後會將報表三個固定的預設參數【$fine_username】、【$fine_role】、【$fine_position】儲存在 Session 中,同時提供兩個函式【GETUSERDEPARTMENTS()】、【GETUSERJOBTITLES()】來分別獲取部門角色的部門和職位。

  2. 同一報表環境下,範本中可以直接以參數的形式獲取到對應的值,然後在範本里面進行篩選判斷就可顯示不同資料。

二、參數介紹

  1. 本文要介紹的內容如下表所示。

  2. 注1:【$fine_username】、【$fine_role】、【$fine_position】  為報表預設參數,喚起時大小寫必須保持一致。

  3. 注2:【$fine_username】、【$fine_role】、【$fine_position】 參數在 設計器9.0 裏分別對應【$fr_username】、【$fr_authority】、【$fr_userposition】。

型別

具體內容

備註

參數

$fine_username

獲取登入系統的帳號,例如登入帳號為 Anna,則$fine_username="Anna"。

$fine_role

獲取登入系統的角色。 若超管使用者登入,$fine_role="superusers"。 若角色使用者登入,例如角色【資料架構師】使用者登入,fine_role="資料架構師"。 若部門角色登入,該參數為空,【fine_role】 傳回值為陣列,使用concatenate($fine_role,"")即可將其轉化為字串。 注:若一個使用者有多個角色,$fine_role 傳回值為所有角色,例如:"資料架構師,普通角色1"。

$fine_position

獲取部門職位。傳回值由部門和職位組成,為 json 格式。 例如【人力資源部長】職位登入系統,則$fine_position={"departments":"人力資源","jobTitle":"部長"}。

函式

GETUSERDEPARTMENTS()

獲取部門職位裏的部門。 例如【人力資源部長】職位登入系統,則GETUSERDEPARTMENTS()="人力資源"。 若多個部門,則陣列GETUSERDEPARTMENTS(3,2)傳回角色該部門的第三層和第二層名字。若多個部門則傳回陣列,若沒有第三層則只顯示第二層。

GETUSERJOBTITLES()

獲取部門職位裏的職位。 例如【人力資源部長】職位登入系統,則GETUSERJOBTITLES()="部長"。


三、【$fine_username】 範例——儲存格中使用

  1. 獲取登入系統的帳號,例如登入帳號為 Anna,那麼$fine_username="Anna"。

1
操作過程。
  1. 準備範本:新建普通報表,建立資料集查詢:SELECT * FROM 銷量 where 英文簡稱='${fine_username}'。範本設計如下圖1所示。

  2. 平台掛載範本:管理者將設計好的範本掛載到數據決策系統中。範本掛載到平台的方法請參見:B01-00 新增範本

  3. 分配範本查看權限:管理者將該範本的查看權限分配給hanwen。管理者給使用者分配權限請參見:B03-08 根據使用者分配權限

  4. 效果查看:hanwen 登入數據決策系統存取範本時,範本自動篩選 hanwen 的資訊。如下圖2所示。

 

1.png


2.png

 

四、【$fine_username】 範例範例——參數面板中使用

1
操作過程。
  1. 準備範本:新建普通報表,建立資料庫查詢:SELECT * FROM 銷量 where 英文簡稱='${fine_username}'。範本設計如下圖1所示。

  2. 新增元件:在參數面板中新增下拉框元件和查詢元件。選中下拉框元件,元件名稱為fine_username,並設定【資料字典】。如下圖2所示。

  3. 查看效果:點擊【分頁預覽】,可通過銷售員過濾資料。如下圖3所示。


3.png

 

4.png

 

5.png

 

五、【$fine_role】範例——角色使用者

  1. 希望不同角色存取範本時,查看到的範本列數不同、行列顏色不同。可以給行列新增條件屬性設定行高、列寬、背景等,如果登入系統使用者為角色使用者,可以在公式中通過【$fine_role】進行過濾,如果是部門職位使用者,則不可使用該參數進行過濾。條件屬性具體內容可參見: A09-01 條件設定 。

1
操作過程。
  1. 新建普通報表,建立資料庫查詢:SELECT * FROM 銷量 where 英文簡稱='${fine_username}'。範本設計如下圖1所示。

  2. 若 hanwen 角色為【資料架構師】,希望 hanwen 登入平台存取範本時,不能查看銷量列。則選中E2儲存格,新增條件屬性【列寬】,公式為$fine_role='資料架構師',如下圖2所示。

  3. 平台掛載範本:管理者將設計好的範本掛載到數據決策系統中。範本掛載到平台的方法請參見:B01-00 新增範本

  4. 分配範本查看權限:管理者將該範本的查看權限分配給hanwen。管理者給使用者分配權限請參見:B03-00 權限簡介

  5. hanwen 登入數據決策系統存取範本時,效果如下圖3所示。

注1:為使用者新增角色或部門的方法請參見:使用者管理

注2:若一個使用者有多個角色,公式為 find('資料架構師',$fine_role)>0。


6.png

 

7.png

 

8.png

 

六、【$fine_role】範例——部門職位使用者

  1. 若 hanwen 為部門職位使用者,部門為【銷售部】,職位為【sale】,那麼本文第五部分的中公式為:GETUSERDEPARTMENTS()='銷售部' 和 GETUSERJOBTITLES()='sale',如下圖所示。


9.png

 

 


附件列表


主題: 報表特性
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉