Quick BI取数模型深度剖析

Quick BI取数模型深度剖析
最新回答
小昊昊

2021-10-26 11:39:34

Quick BI的取数模型通过两层过滤机制(数据集过滤器和图表级过滤器)实现灵活、安全的数据控制,支持多粒度数据访问和动态交互分析。以下是具体剖析:

一、取数模型基础:数据集与数据源
  • 数据源:Quick BI支持连接20+种数据库,每个连接生成逻辑实体(数据源),可预览物理表信息。
  • 数据集:基于物理表加工的标准OLAP模型,是数据读取和加工的核心单元。所有图表分析均基于数据集模型,确保数据一致性和安全性。

图1 Quick BI取数模型结构二、第一层:数据集过滤器(全局控制)

数据集过滤器作用于所有引用该数据集的图表,确保数据范围统一限制,分为两类:

1. 全局过滤器
  • 作用范围:影响所有引用该数据集的图表和用户。
  • 功能:通过设置条件(如时间范围、地区)过滤数据,支持刷新预览验证结果。
  • 设置方式:在数据集配置界面定义过滤条件(如图2)。

图2 全局过滤器配置界面2. 行级权限过滤器
  • 作用范围:根据用户账号、标签或用户组定制数据访问权限。
  • 继承机制:用户级过滤器以“OR”方式继承所属用户组的过滤器。
  • 特点:过滤器作用于明细数据,未做聚合处理。
  • 设置方式:在数据集列表中配置行级权限(如图3)。

图3 行级权限配置界面三、第二层:图表级过滤器(精细控制)

图表级过滤器仅影响指定图表,分为设定式触发式两类:

1. 设定式过滤器(静态控制)
  • 内部过滤器

    作用范围:仅当前图表。

    功能:支持度量过滤(如销售额>1000)和聚合方式(SUM、AVG等)。

    设置方式:拖拽数据集字段至过滤器区域(如图4)。

图4 内部过滤器配置界面
  • 全局参数

    作用范围:通过URL参数注入条件,支持邮件订阅和图表跳转。

    拼接格式

    param=[{"paramKey":"moci","joinType":"and","conditionList":[{"operate":"=","value":"华北"}]}]

    设置方式:在顶部菜单中定义参数名和作用范围(如图5)。

图5 全局参数配置界面2. 触发式过滤器(动态交互)
  • 查询条件

    功能:允许预览者在限定范围内切换过滤条件(如选择不同地区)。

    设置方式:在图表配置中定义字段、聚合方式和待选范围(如图6)。

图6 查询条件配置界面
  • 联动参数

    功能:通过点击图表区块为其他图表同步注入过滤条件(如点击地图区域过滤销售数据)。

    设置方式:在高级配置中定义联动字段和作用图表(如图7)。

图7 联动参数配置界面四、过滤器叠加逻辑与调试
  • 叠加方式:所有过滤器通过AND逻辑叠加,严格限制数据范围。
  • SQL查看功能:在仪表板编辑模式下,通过“查看SQL”功能生成当前取数模型的SQL语句,辅助调试和优化。
五、典型业务场景应用

以销售公司为例:

  1. 全局过滤器:过滤无效订单数据(如状态为“已取消”的订单)。
  2. 行级权限:控制销售团队仅查看辖区数据(如华北团队只能看华北地区销售)。
  3. 全局参数:生成个性化链接(如按产品分类展示销售汇总)。
  4. 查询条件:切换客户维度分析(如按客户等级过滤销售数据)。
  5. 联动参数:点击客户名称查看详细订单信息(如图8)。

图8 销售分析场景中的查询条件与联动总结

Quick BI的取数模型通过分层过滤动态交互机制,实现了数据安全与灵活分析的平衡。开发者可根据业务需求组合使用全局过滤器、行级权限、全局参数、查询条件和联动参数,构建高效、精准的数据访问体系。