大數(shù)據(jù)報表怎樣通過參數(shù)控制數(shù)據(jù)權(quán)限,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
報表開發(fā)過程中,常常會遇到需要對報表進行數(shù)據(jù)權(quán)限控制的情況。
不同的機構(gòu)、角色或具體到人,訪問同一張報表時所看到的數(shù)據(jù)是不同的。比如,工資條(也是一張簡單的報表),因為絕大多數(shù)公司薪資都是保密的,所以很顯然,系統(tǒng)內(nèi)不同人看到的結(jié)果是不能相同的。 再比如,區(qū)域銷售情況統(tǒng)計,各區(qū)域銷售經(jīng)理也只能看到所在區(qū)域的數(shù)據(jù)等等。
實際應(yīng)用環(huán)境中,解決此類問題一般是通過直接在 SQL 中篩選出數(shù)據(jù)繪制報表模板,然后按照登錄對象訪問指定的模板就可以了。但是,如果使用用戶的人員眾多,就需要制作 N 多張樣式相同只是 SQL(報表數(shù)據(jù)集)略有不同的報表,工作量大且不利于后期維護。
此時,我們就可以通過報表工具的參數(shù)動態(tài)接收系統(tǒng)傳來的人員賬號等信息參數(shù),進而動態(tài)顯示報表中的數(shù)據(jù),以達到數(shù)據(jù)權(quán)限控制的目的。
下面舉例看一下報表通過參數(shù)如何實現(xiàn)數(shù)據(jù)權(quán)限控制。
例 1. 人事管理系統(tǒng)之工資條類報表數(shù)據(jù)權(quán)限控制
特點:每個人或者用戶登錄后,僅可以查看本人的數(shù)據(jù)信息,此類數(shù)據(jù)表一般都與數(shù)據(jù)庫用戶表直接或間接關(guān)聯(lián),顧 SQL 可直接使用用戶編號對數(shù)據(jù)做精準獲取。
前提:
報表數(shù)據(jù)來自數(shù)據(jù)表 payroll 中;
用戶 ID(uID)已從系統(tǒng) session 中獲取,存儲在變量 userID 中(獲取具體設(shè)置可參考 外部參數(shù)(如 Url 中)如何傳給潤乾報表使用)
報表重點設(shè)置:
a. 數(shù)據(jù)集語句設(shè)置
b. 報表參數(shù)設(shè)置
總結(jié):
這類數(shù)據(jù)權(quán)限控制基本是針對單條記錄操作的,顧 SQL 語句部分 不需要做太多其它設(shè)置,如有其它過濾條件按照正常參數(shù)設(shè)置添加即可。
例 2. 人員等級類數(shù)據(jù)權(quán)限控制
特點:人員等級越高看到的數(shù)據(jù)越多。
前提:
1. 報表呈現(xiàn)所需數(shù)據(jù)存儲在數(shù)據(jù)表 m_datas 中;
2. 角色編號(role)已從系統(tǒng) session 中獲取,存儲在變量 role 中(獲取具體設(shè)置可參考 外部參數(shù)(如 Url 中)如何傳給潤乾報表使用)
報表重點設(shè)置:
a. 數(shù)據(jù)集語句設(shè)置
注:${pri} 是動態(tài)參數(shù) ${參數(shù)名} 的用法,可以看做一個占位符,運算時會用其計算結(jié)果替換
b. 參數(shù)設(shè)置
其中:
role 為普通參數(shù) 用于接收系統(tǒng)當前登錄用戶角色
pri 為動態(tài)參數(shù) 根據(jù) role 動態(tài)生成 sql 過濾條件
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
本文名稱:大數(shù)據(jù)報表怎樣通過參數(shù)控制數(shù)據(jù)權(quán)限-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://jinyejixie.com/article4/jgpoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、App開發(fā)、自適應(yīng)網(wǎng)站、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容