QlikView 权限设置问题和注意

时间:2023-03-08 16:16:51

企业级报表通常都涉及到复杂的权限问题, 比如文本级权限和行级权限,某区域经理只能看到该区域的销售数据。QlikView自然也提供了该种功能。

具体方法:

在Edit script中新建一个tab, 输入如下语句:

 Section Access;
LOAD * INLINE [
ACCESS, USERID, PASSWORD, COUNTRY
ADMIN, ADMIN, ADMIN, ALL
USER, zplume, zplume, CHINA
USER, zplume, zplume, France
USER, sissi, sissi, america
]; Section Application; Sales:
LOAD * INLINE [
COUNTRY, SALES
FRANCE,
IRELAND,
UNITED KINGDOM,
CHINA,
america,
];

退出Edit script,在设置(Settings)里面点击文档设置(Documents Properties), 选择Opening, 选中Initial Data Reduction Based on Section Access, 里面的Script Exclusion不要选中。 重新加载(Reload)数据。若qvw中没有权限脚本,文档属性-〉起始画面-〉[基于权限减少初始化数据]要勾选,服务器-〉【基于权限筛选存取点文件】不要勾选

1. 关闭所有QlikView工程, 再打开上述创建的QlikView文件。用账号ADMIN登陆依然会看到所有的country和sales。

2. 关闭QlikView工程再用zplume登陆,则只能看到France和China以及相应的sales。

3. 再关闭QlikView工程用sissi登陆,此时能看到所有的country和sales,表明权限设置失效。 我Google了很多网页,他们只是说:uppercase is a must always(必须要大写)。从上面的脚本可以看出,列表中的字段值需要大写才行。

4.在权限脚本中有一个表[ACCESS], [USERID], [PASSWORD], NTNAME(注意这几个字段要大写)

若表中没有NTNAME这个字段,在打开带有权限的qvw时,会弹出一个对话框,输入用户名密码,若有NTNAME就不会弹出那个对话框。

ACCESS只有两个值admin和user,只有用admin进去,才能看到权限脚本(权限脚本隐藏为前提),若要修改权限,修改完后,要重新加载数据及保存整个qvw,

然后将项目及软件关闭,再重新打开项目,修改的信息才会生效。

5.个人版的qv软件与服务器版的不能共存

6.其它电脑访问服务器上的qvw时即http://等路径,要在本电脑的c:\windows\system32\drives\etsc\hosts文件的最后加:服务器的ip  dbbackup