1. 概述
1.1 版本
報表伺服器版本 |
---|
11.0 |
1.2 預期效果
管理者在使用排程管理推播報表時,希望部分使用者可以查看全部表內容,部分使用者不可查看指定列。
銷售部員工和使用者 eoco 登入數據決策系統,看不到「折扣」列。
其他使用者,如技術支援員工 Alice 登入數據決策系統,能看到全部報表內容。
1.3 實現思路
1)利用條件屬性和權限細粒度參數來實現不同使用者看到不同的報表內容。
設定條件屬性中,行高/列寬為 0。
若是限制帳號,則 $fine_username = "帳號"。
若是限制部門,則 GETUSERDEPARTMENTS() = "部門名稱"。
2)使用上述$fine_username、GETUSERDEPARTMENTS()等參數時,需要勾選定時任務中的「除通用結果外,根據預設使用者組內的使用者單獨生成結果」設定項,才能將單獨生成的結果報表推播給不同使用者。
2. 設計範本
管理者需要先準備一張範本,作為調度物件傳送到使用者的數據決策系統訊息通知處。
點選下載範本:条件属性实现列权限控制.cpt
2.1 資料準備
建立一張普通報表。
建立資料集 ds1:SELECT * FROM S訂單明細。如下圖所示:
2.2 設計報表
範本樣式如下圖所示:
2.3 設定條件屬性
選中 F2 儲存格,點選右側「條件屬性」,新增一個條件屬性。
1)設定屬性「列=0公釐」
2)設定兩個公式條件,條件間為「or」關係
GETUSERDEPARTMENTS() = "銷售部"
$fine_username = "eoco"
3. 設定排程管理任務
3.1 新增任務
管理者登入數據決策系統,點選「管理系統>排程管理>任務管理」,點選「新增任務」,新增一個排程管理任務。如下圖所示:
3.2 基本設定
1)「任務名稱」設定為「訂單通知」。
2)點選「預設使用者組」的「編輯」按鈕。部門選擇「銷售部、財務部、技術支援」,點選確定。
注1:如需勾選「除通用結果外,根據預設使用者組內的使用者單獨生成結果」設定項,必須設定預設使用者組,否則該選項會灰化無法勾選。
注2:如需使用平台通知,必須要設定預設使用者組,否則訊息無法傳送給任何人。
如下圖所示:
確認部門處已選定「所有部門:技術支援,銷售部,財務部; 」,點選「確定」,預設使用者組設定完成。點選「下一步」,如下圖所示:
3.3 調度物件
1)物件類型選擇:報表範本
2)選擇範本:條件屬性實現列權限控制.cpt
3)勾選「除通用結果外,根據預設使用者組內的使用者單獨生成結果」設定項,才會為「預設使用者組」裏面的所有成員生成獨立的報表結果
4)檔案名稱稱設定:${today()}訂單概況
點選「下一步」,如下圖所示:
3.4 調度週期
執行頻率選擇「明細頻率設定」,點選「新增」。
設定執行時間為「18時0分」,執行日為「每日」,執行月為「全選」,點選「確定」,即可成功新增明細頻率。
勾選上一步新增的明細頻率。
3.5 檔案處理
1)處理方式勾選「平台通知」。
2)在「平台通知」設定中:
收件人為:「預設使用者組」
主題為:${today()}的訂單概況
內容為:今天訂單概況請查收。
連結選擇:「定時結果連結在平台內開啟」
點選「儲存」,如下圖所示:
3.6 效果預覽
由於該任務的執行頻率是每天晚上 18 時執行一次,無法立刻看到任務效果。
為了立刻看到任務效果,可在「管理系統>排程管理>任務管理」介面找到該任務,選擇「執行一次」。
當任務執行一次後,部門「銷售部」對應的使用者 Lisa(Lisa,123456)和「財務部」對應的使用者 eoco(eoco,123456) 登入數據決策系統,收到來自排程管理任務的新訊息提醒。
點選「處理」,查看對應的結果報表,無「折扣」列。如下圖所示:
其他部門的使用者,如「技術支援」對應的使用者 Alice(Alice,123456)登入數據決策系統,收到來自排程管理任務的新訊息提醒。
點選「處理」,查看對應的結果報表,有「折扣」列。如下圖所示: