You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qliksense如何发布应用/工作表至自定义UI并实现行级安全?

非企业版QlikSense嵌入自定义UI与行级安全配置方案

一、报表嵌入自定义UI实现

1. QlikSense桌面版(免费版)

  • 桌面版无官方开放的嵌入API,也不支持独立服务发布,可采用导出部署方案:
    打开已完成的报表,点击右上角菜单→导出→选择导出为互动HTML,导出的文件包可直接部署到自研应用的静态资源目录,用<iframe>标签直接引用对应HTML路径即可嵌入,互动模式会保留筛选、下钻等原生报表功能
    注意:桌面版导出的HTML不支持实时同步,每次报表调整后需要重新导出替换部署

2. QlikSense云免费版

  • 云免费版支持官方嵌入能力:
    将做好的应用上传到QlikSense云空间,打开要嵌入的报表页,点击右上角分享按钮→选择嵌入功能,设置访问权限后复制生成的<iframe>代码,直接粘贴到自定义UI的对应位置即可
    如需限制访问范围,可在分享设置里指定仅添加的邮箱账号可访问,用户打开嵌入页面时需要登录自己的Qlik账号验证身份

二、行级安全配置

无需企业版专属的安全规则功能,直接在应用的数据加载脚本中即可实现行级权限控制:

  • 首先维护一张用户权限映射表,必填字段为经理ID、用户标识(桌面版填用户的Windows系统用户名,云版填用户的Qlik账号邮箱),该表可存在销售数据库中,也可单独存为Excel/CSV文件和销售数据一起加载
  • 在数据加载编辑器中添加如下控制脚本:
// 加载权限映射表
UserPermission:
LOAD
    经理ID,
    用户标识
FROM [你的权限表存储路径] (ooxml, embedded labels, table is Sheet1);

// 加载销售主数据
SalesData:
LOAD
    销售订单号,
    销售金额,
    经理ID,
    其他销售字段
FROM [你的销售数据库连接配置];

// 关联两张表实现行级过滤
INNER JOIN (SalesData)
LOAD 经理ID
RESIDENT UserPermission
// 桌面版用OSUser()获取当前系统用户名,云版用AccountEmail()获取当前登录用户的邮箱
WHERE 用户标识 = OSUser();
  • 验证逻辑:脚本加载完成后,每个用户打开报表时只会匹配到自己用户标识对应的经理ID,仅加载该经理权限范围内的销售数据,无法查看其他经理的相关数据
  • 注意:配置完成后需要重新加载数据生效,不要给普通经理开放数据加载编辑器的编辑权限,避免权限规则被篡改

内容的提问来源于stack exchange,提问作者Sneha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 09:00:05