根據登入使用者控制報表展現效果(動態巨集)

2021-06-20 04:08:34 字數 1239 閱讀 8006

根據登入使用者控制報表展現效果(動態巨集)

新建一張空白報表

1、首先進行引數和巨集的設定。

【報表屬性】->【引數定義】如圖:

我們的目的是根據登入的使用者不同,在arg1(sys_userid)中獲取不同的值,來選擇要進行過濾的字段,例如sys_userid==root,則獲取所有雇員資訊,否則根據登入使用者的id不同,獲取該員工的個人資訊表。

那麼如何才能將這些可按引數選擇的規則實現到sql中呢,普通的巨集只可能實現乙個規則,這時候就需要使用動態巨集。

所謂動態巨集,與動態引數十分類似,簡單的說就是可以使用表示式的巨集。在本例中,新增乙個新巨集:

【報表屬性】->【巨集定義】

選擇巨集的型別為動態巨集。值的表示式為:

if(sys_userid=="root","1=1","雇員id=9")

這個巨集的作用預計是用來做資料集的檢索條件的,其表示式作用是按照arg1(sys_userid)的值選擇不同的檢索條件。

2、建立資料集。

2)切換到巨集配置tab頁,在配置通用查詢欄位tab頁中,提取巨集並為巨集配置資料表。

3)預覽資料。

3.製作如圖報表:

a1單元格表示式為:

=if(@sys_userid=="root","所有雇員資訊表",@sys_userid+"個人資訊表")

其內容是顯示出當前的過濾條件。

4.儲存並預覽報表

使用root時登入,報表效果如:

使用其他id登入時預覽效果如:

控制報表輸出格式

這幾天在列印報表,發現個問題.定義成9 的變數,列印出來前面都n個0,很不好看。然後就想怎麼能給弄掉。搜啊搜,發現了編輯型資料項這個好東西,試用了一下,果然很不錯,完全是為列印報表設計的。事實上依稀記得當初師姐講過,可是當時沒有練,全部忘記了 所以這裡就總結了一下所有的編輯型描述符吧,以備查閱。編輯...

檢視登入使用者

一 超級使用者及普通使用者redhat 7.x版本 超級使用者 root uid 0 普通使用者 uid 1000 65535 系統使用者 偽使用者 uid 1 999 redhat7.x版本之前的版本 例如6.4 6.0 5.0 4.0 3.0等 超級使用者 root uid 0 普通使用者 ui...

mysql新增登入使用者 設定遠端登入使用者

mysql u使用者名稱 p密碼 在mysql所在的伺服器上登入mysqluse mysql 進入mysql資料庫grant all privileges on to test identified by 123456 with grant option 指所有ip都可用此使用者登入,這個值是ip的...