封装含维度和指标的业务主题

浏览次数:2796 最新更新:老慢 于 2023-09-09

注:本文所用“指标”更适合理解为“度量”,不应理解为一站式BI中的指标管理

从产品架构的介绍中,我们知道数据源和业务主题是数据集的基础(还不清楚架构的看这篇介绍),本章节介绍如何将相关的表组织成面向业务的查询主题(包括维度和指标)。

业务主题的存在价值

首先说明,业务主题并不是必须使用的功能,如果用户坚持使用SQL查询数据,是可以不看这个章节的(还有个可能是数据结构非常简单,甚至只有1张宽表,这时用透视分析的时间维度管理&计算字段也可以起到类似业务主题的效果)。但从系统架构的角度,业务主题是我们强烈推荐使用的,这不仅仅是出于后续“拖拽式数据集”的需要,理由如下:

  1. SQL作为一种通用的数据查询语言,并不能被业务人员所理解,如果报表供需双方需要对计算逻辑进行交流,恐怕很难一起看着长篇的SQL语句进行讨论(虽然SQL中也能声明字段是维度还是指标)!
  2. 业务库中的数据往往缺少一些统计维度和计算指标,也存在数据不符合统计需要的情况,比如年龄和金额需要被分组成需要的维度、订单ID和客户ID需要被转换成指标(数量)进行统计,0/1这样的代码需要转义为男/女(维度)。当然这些处理都可以用SQL完成,但如果每个报表都需要重复一遍,你是否会担心不必要的时间成本,以及手工导致的遗漏和错误呢?
  3. 基于时间的同比、环比是最常用的管理需求,如果完全通过SQL或者电子表格完成计算,都存在相当的代码复杂度,在业务主题中如果定义了日期维度层次(年、季、月、日),则在透视分析数据集中可以一键生成这些统计结果!
  4. 如果使用SQL方式的数据集,则需要预先定义“公共参数”,才可以在报表中实现过滤筛选的选项,而基于业务主题的即席查询数据集和透视分析数据集,则不用做这样的准备,随时在数据集里根据需要立刻拖拽生成筛选条件!(维度和指标都可以拖拽为筛选条件)
  5. 如果在较大的组织内需要控制访问权限,以业务主题进行权限控制是自然和顺利的方式,否则就需要对每个数据集(或数据表)进行权限控制!

所以,如果您了解数据架构的概念,可以看出业务主题其实是一个语义化的数据集市模型,其中的建模能力将来自相同数据库的表按照业务逻辑组织在一起,通过关联、名称、格式、转换、分组等功能为后续的数据分析奠定基础,以维度和指标确保后续的统计使用产生一致的结果,提高系统的可用性和报表的可信度。

维度和指标的扩展示例

作为基础概念,指标指可以计算的字段,如金额、数量,维度是对指标切分的角度,如时间、地区等。

在产品自带示例库中,有一张热销私家车的真实数据表,时间跨度为2015年至2021年,我们将其设计成为了业务主题,从原始的12个字段(10个维度和2个指标)扩充到了17个字段(13个维度和4个指标)。

维度和指标扩展

其中用到的功能如下:

- 基于日期类型的“批售月份”一键生成年、季、月层次维度

- 基于数值类型的“批售销量”自定义分组字段,生成描述需求的“热度”维度

- 基于数值类型的“价格档”自定义分组字段,生成描述购买能力的“预算”维度

- 基于数值类型的“价格档”求平均,生成“均价”指标

- 基于字符类型的“车型”做唯一计数,生成“车型数”的统计指标

通过以上功能,业务主题对原始数据表从3个方向做了扩展,扩展了多层次的日期维度、扩展了定性分析的维度和扩展了定量分析的指标

业务主题的创建过程

通常来说业务主题是多个表组合的,因此我们改用产品自带示例库的另外一个业务主题进行说明。业务主题的创建过程相对简单,可分为主题结构设计和字段细节设计(定义维度和指标)两个阶段,在第一个阶段,将需要的且存在业务相关性的字段(业务属性)按照目录组织起来(业务对象),并确认所属数据库表之间的关系是否正确(可以修改);第二阶段是对业务属性进行细节设置,涉及的内容如下表。

业务主题的功能清单

注意:如果对某业务属性设置了聚合方式,那么仅可在透视分析数据集中使用,即席查询数据集是无法看到的。

其中转换规则是统一平台中的特色功能,详见链接:公共设置的转换规则。这个转换规则仅适用于维度字段,不适用于指标字段。

点击下图看视频,您将了解示例库中“销售计划分析”业务主题的设计过程,包括维度和指标的定义:

业务主题的界面

如果能看到这里,说明包括维度和指标的业务主题是非常适合您的潜在需求的,希望我们能在麦粉社区中得到您的反馈,将成功的用法和心得分享给更多的朋友。

————————————————

立足经典、真Excel设计、社区版永久免费!立即下载使用,开启高效报表开发之旅!

Demo体验

返回顶层