数据仓库中的指标体系模型介绍
数据仓库中的指标体系介绍
文章目录
- 数据仓库中的指标体系介绍
- 前言
- 什么是指标体系
- 指标体系设计有哪些模型?
- 1. 指标分层模型
- 2. 维度模型
- 3. 指标树模型
- 4. KPI(关键绩效指标)模型
- 5. 主题域模型
- 6.平衡计分卡(BSC)模型
- 7.数据指标框架模型(Metrics Framework)
- 8.时间序列模型
- 9.分层分级指标模型
- 10. Objective-Strategy-Metrics(OSM)模型
- 11. UJM 模型(User Journey Metrics 模型)
- 总结
前言
数据仓库的指标体系(或指标体系设计)通常属于 数据建模阶段 的一部分。具体来说,它属于数据仓库构建的以下步骤:
需求分析阶段–>指标体系设计–>数据建模阶段–>数据加载与计算–>数据展示与分析
什么是指标体系
指标体系设计有哪些模型?
我基于 Oracle 11g 数据库中 SCOTT 用户 的表(如 EMP、DEPT、SALGRADE 等),针对每种指标体系拆解模型举的具体实例:
1. 指标分层模型
应用场景: 构建企业组织中的分层指标体系。
案例:
战略层: 提升公司总薪资水平(如平均薪资增长 10%)。
战术层: 按部门分析各部门平均薪资的增长(DEPT 表中的部门)。
运营层: 按员工分析个人薪资的增长(EMP 表中的员工薪资)
-- 查询战略层(全公司平均薪资)
SELECT AVG(SAL) AS AVG_SAL FROM EMP;-- 查询战术层(按部门分层)
SELECT DNAME, AVG(SAL) AS AVG_SAL FROM EMP E JOIN DEPT D ON E.DEPTNO = D.DEPTNO GROUP BY DNAME;-- 查询运营层(每位员工的薪资)
SELECT EMPNO, ENAME, SAL FROM EMP;
2. 维度模型
应用场景: 通过事实表和维度表分析员工薪资。
案例:
事实表: EMP 表中的薪资(SAL)。
维度表:
部门维度:DEPT 表(部门编号、部门名称、部门位置)。
时间维度:假设有 HIREDATE(入职时间)。
-- 部门维度分析:按部门统计薪资总和
SELECT D.DNAME, SUM(E.SAL) AS TOTAL_SAL
FROM EMP E
JOIN DEPT D ON E.DEPTNO = D.DEPTNO
GROUP BY D.DNAME;-- 时间维度分析:按年份统计薪资总和
SELECT TO_CHAR(HIREDATE, 'YYYY') AS YEAR, SUM(SAL) AS TOTAL_SAL
FROM EMP
GROUP BY TO_CHAR(HIREDATE, 'YYYY');
3. 指标树模型
应用场景: 分解总薪资指标。
案例:
顶层指标: 全公司薪资总额。
中间层: 部门薪资总额。
底层指标: 员工个人薪资。
-- 顶层指标
SELECT SUM(SAL) AS TOTAL_SAL FROM EMP;-- 中间层指标
SELECT DNAME, SUM(SAL) AS DEPT_TOTAL_SAL
FROM EMP E JOIN DEPT D ON E.DEPTNO = D.DEPTNO
GROUP BY DNAME;-- 底层指标
SELECT EMPNO, ENAME, SAL FROM EMP;
4. KPI(关键绩效指标)模型
应用场景: 绩效考核中使用的核心指标。
案例:
目标: 提升员工工作效率。
KPI:
员工平均薪资。
工资高于 3000 的员工占比。
-- KPI 1: 员工平均薪资
SELECT AVG(SAL) AS AVG_SAL FROM EMP;-- KPI 2: 工资高于 3000 的员工占比
SELECT ROUND(COUNT(CASE WHEN SAL > 3000 THEN 1 END) * 100 / COUNT(*), 2) AS PERCENTAGE
FROM EMP;
5. 主题域模型
应用场景: 按主题域分类管理指标。
案例:
薪资域: 薪资总额、平均薪资。
部门域: 每个部门的员工人数、部门平均薪资。
时间域: 员工入职年份分布。
-- 薪资域:总薪资、平均薪资
SELECT SUM(SAL) AS TOTAL_SAL, AVG(SAL) AS AVG_SAL FROM EMP;-- 部门域:每部门员工人数和平均薪资
SELECT DNAME, COUNT(*) AS EMP_COUNT, AVG(SAL) AS AVG_SAL
FROM EMP E JOIN DEPT D ON E.DEPTNO = D.DEPTNO
GROUP BY DNAME;-- 时间域:按入职年份统计员工人数
SELECT TO_CHAR(HIREDATE, 'YYYY') AS YEAR, COUNT(*) AS EMP_COUNT
FROM EMP
GROUP BY TO_CHAR(HIREDATE, 'YYYY');
6.平衡计分卡(BSC)模型
应用场景: 全面衡量企业运营的多个维度。
案例:
财务视角: 全公司薪资总额。
客户视角: 每部门员工人数(部门为“客户”)。
内部流程视角: 员工工龄分布。
学习与成长视角: 员工平均奖金(COMM 字段)。
-- 财务视角:薪资总额
SELECT SUM(SAL) AS TOTAL_SAL FROM EMP;-- 客户视角:每部门员工人数
SELECT DNAME, COUNT(*) AS EMP_COUNT
FROM EMP E JOIN DEPT D ON E.DEPTNO = D.DEPTNO
GROUP BY DNAME;-- 内部流程视角:员工工龄分布
SELECT FLOOR(MONTHS_BETWEEN(SYSDATE, HIREDATE)/12) AS YEARS_OF_SERVICE, COUNT(*) AS EMP_COUNT
FROM EMP
GROUP BY FLOOR(MONTHS_BETWEEN(SYSDATE, HIREDATE)/12);-- 学习与成长视角:员工平均奖金
SELECT AVG(COMM) AS AVG_COMM FROM EMP WHERE COMM IS NOT NULL;
7.数据指标框架模型(Metrics Framework)
应用场景: 指标从基础到聚合的层级。
案例:
原子指标: 每个员工的薪资。
衍生指标: 平均薪资。
聚合指标: 全公司薪资总额。
-- 原子指标
SELECT EMPNO, ENAME, SAL FROM EMP;-- 衍生指标
SELECT AVG(SAL) AS AVG_SAL FROM EMP;-- 聚合指标
SELECT SUM(SAL) AS TOTAL_SAL FROM EMP;
8.时间序列模型
应用场景: 按时间分析员工薪资的变化。
案例:
按年份统计入职员工的薪资总额和平均薪资。
SELECT TO_CHAR(HIREDATE, 'YYYY') AS YEAR, SUM(SAL) AS TOTAL_SAL, AVG(SAL) AS AVG_SAL
FROM EMP
GROUP BY TO_CHAR(HIREDATE, 'YYYY');
9.分层分级指标模型
应用场景: 按组织层级分解指标。
案例:
公司总薪资目标分为各部门目标,再分为员工目标
-- 公司总薪资
SELECT SUM(SAL) AS TOTAL_SAL FROM EMP;-- 部门薪资
SELECT DNAME, SUM(SAL) AS DEPT_TOTAL_SAL
FROM EMP E JOIN DEPT D ON E.DEPTNO = D.DEPTNO
GROUP BY DNAME;-- 员工薪资
SELECT EMPNO, ENAME, SAL FROM EMP;
10. Objective-Strategy-Metrics(OSM)模型
应用场景: 提升员工收入。
案例:
Objective(目标): 提高公司员工平均薪资。
Strategy(战略): 提高每部门的平均薪资。
Metrics(指标): 员工平均薪资、部门平均薪资
-- 公司平均薪资
SELECT AVG(SAL) AS AVG_SAL FROM EMP;-- 部门平均薪资
SELECT DNAME, AVG(SAL) AS DEPT_AVG_SAL
FROM EMP E JOIN DEPT D ON E.DEPTNO = D.DEPTNO
GROUP BY DNAME;
11. UJM 模型(User Journey Metrics 模型)
应用场景: 员工招聘和发展过程的分析。
案例:
旅程阶段:
吸引: 招聘的候选人数。
转化: 入职员工人数。
留存: 员工工作年限。
扩展: 员工晋升比例。
-- 吸引阶段:假设有招聘数据表
SELECT COUNT(*) AS CANDIDATE_COUNT FROM CANDIDATES;-- 转化阶段:入职人数
SELECT COUNT(*) AS HIRED_COUNT FROM EMP;-- 留存阶段:按工龄统计员工人数
SELECT FLOOR(MONTHS_BETWEEN(SYSDATE, HIREDATE)/12) AS YEARS_OF_SERVICE, COUNT(*) AS EMP_COUNT
FROM EMP
GROUP BY FLOOR(MONTHS_BETWEEN(SYSDATE, HIREDATE)/12);-- 扩展阶段:晋升员工人数占比(假设 `JOB` 字段中有 "MANAGER" 表示晋升)
SELECT ROUND(COUNT(CASE WHEN JOB = 'MANAGER' THEN 1 END) * 100 / COUNT(*), 2) AS PROMOTION_RATE
FROM EMP;
总结
一、模型使用场景
模型名称 | 主要使用场景 |
---|---|
1. 指标分层模型 | 适用于多层次管理场景,如公司战略目标、部门目标、运营目标逐级分解的场景。 |
2. 维度模型 | 数据仓库或 BI 分析中,用于从多维角度(如时间、部门、员工)分析数据。 |
3. 指标树模型 | 指标的层级分解与依赖分析,如总收入拆解为部门收入和区域收入。 |
4. KPI 模型 | 关键绩效指标监控场景,如企业绩效考核或某项目的核心指标监控。 |
5. 主题域模型 | 适合大型企业按业务主题划分指标体系,如财务、销售、客户、运营等。 |
6. 平衡计分卡(BSC)模型 | 战略管理和全面绩效评估,如从财务、客户、流程、学习等多个视角评估企业绩效。 |
7. 数据指标框架模型 | 复杂数据体系的指标标准化和全生命周期管理,用于企业建立统一的指标管理平台。 |
8. 时间序列模型 | 动态分析指标随时间变化的趋势,适用于业务监控、预警系统、趋势预测场景。 |
9. 分层分级指标模型 | 适按企业组织架构进行指标分层,如总部到区域分部到门店逐级分解指标。 |
10. Objective-Strategy-Metrics(OSM)模型 | 从目标、战略、指标三个层次设计方案,适用于目标导向的战略管理场景。 |
11. UJM 模型 | 用户行为分析场景,如互联网产品用户生命周期(吸引 → 转化 → 留存 → 扩展)相关指标分析。 |
二、模型的相同点
- 目标明确性:
所有模型都以解决某一明确的业务问题为核心,如绩效提升、趋势分析、用户行为优化等。
例如:KPI 模型、OSM 模型、分层模型等都围绕目标进行分解或监控。
- 数据指标化:
各模型都强调通过定量化指标(如薪资总额、留存率)来衡量目标和执行效果。
数据是模型的基础,通过清晰的指标定义和逻辑支持分析与评估。
- 逻辑层次性:
多数模型具备层次性结构,比如指标分层模型、指标树模型、OSM 模型都强调指标的上下级关系。
- 可监控与评估:
模型通过定义具体的衡量标准,便于对业务的执行过程进行持续监控与优化。
三、模型名称 特点(差异点)
模型名称 | 特点(差异点) |
---|---|
1. 指标分层模型 | 强调从战略层到运营层的指标逐级分解,适用于多层级的企业管理场景,特别是需要明确责任和目标的场景。 |
2. 维度模型 | 侧重于从多个分析维度(如时间、部门、区域等)对数据进行统计分析,是数据仓库和 BI 分析的重要工具。 |
3. 指标树模型 | 强调指标的分解路径和层级依赖关系,适合复杂业务场景中逐级分解目标和追溯来源。 |
4. KPI 模型 | 聚焦于核心绩效指标,强调关键目标的少量指标监控,适用于简单、直接的目标评估场景。 |
5. 主题域模型 | 按业务主题划分指标,适合大型企业或复杂组织按功能划分数据分析指标(如销售、财务等领域)。 |
6. 平衡计分卡(BSC)模型 | 从多个视角(财务、客户、流程、学习)衡量目标完成情况,适用于全面绩效评估,适用场景较广但设计复杂度较高。 |
7. 数据指标框架模型 | 强调指标的全生命周期管理(定义、使用、更新、维护),适合数据治理和标准化管理。 |
8. 时间序列模型 | 侧重分析指标随时间的变化趋势,适合业务动态监控和预测,突出指标的时间维度。 |
9. 分层分级指标模型 | 从组织架构分层和分级角度设计指标,适合跨层级、多级分支的企业环境。 |
10. OSM 模型 | 从目标到战略再到指标逐层设计,逻辑递进清晰,适合目标导向型的企业战略管理场景。 |
11. UJM 模型 | 基于用户旅程设计指标,突出用户行为分析和生命周期价值(如互联网行业中的用户留存和转化场景)。 |
四、总结
- 相同点:
这些模型的核心思想都是为了更好地管理和分析数据,以支持业务目标的达成。
它们都通过指标的设计和分析,为业务提供决策支持。
- 不同点:
视角不同:
如 平衡计分卡模型 是从多个维度综合评估,维度模型 则强调多维度数据的分析。 UJM 模型 从用户行为出发,而 分层模型
则更注重企业内部目标分解。
适用场景不同: 时间序列模型 适合时间动态监控场景,而 指标树模型 适合分解复杂指标。
复杂度不同: 简单模型如 KPI 模型 适合直接监控核心目标; 复杂模型如 数据指标框架模型 和 OSM 模型
需要全面的设计和较高的实现成本。
使用建议:
单独使用: 对于小型业务,建议采用如 KPI 模型 或 分层模型 等简单的模型。
结合使用: 对于复杂场景,可以结合多个模型使用,如用OSM 模型 制定战略目标,结合 KPI 模型 和 时间序列模型 监控关键指标,辅以 维度模型 和 指标树模型 支持多维分析。
相关文章:

数据仓库中的指标体系模型介绍
数据仓库中的指标体系介绍 文章目录 数据仓库中的指标体系介绍前言什么是指标体系指标体系设计有哪些模型?1. 指标分层模型2. 维度模型3. 指标树模型4. KPI(关键绩效指标)模型5. 主题域模型6.平衡计分卡(BSC)模型7.数据指标框架模…...
混合合并两个pdf文件
混合两个pdf 1、在线免费交替和混合奇数和偶数PDF页面2、有什么软件把两个 PDF 交叉合并?3、pdfsam本地合并 如何Google翻译的原文和译文合并,(沉浸式翻译效果相对较好) 1、在线免费交替和混合奇数和偶数PDF页面 https://deftpd…...

aws(学习笔记第二十一课) 开发lambda应用程序
aws(学习笔记第二十一课) 开发lambda应用程序 学习内容: lambda的整体概念开发lambda应用程序 1. lambda的整体概念 借助AWS Lambda,无需预置或管理服务器即可运行代码。只需为使用的计算时间付费。借助 Lambda,可以为几乎任何类型的应用进…...
JavaWeb Servlet的getInitParameter、业务层、控制反转IOC和依赖注入DI
目录 1. Servlet的getInitParameter2. 业务层3. 控制反转IOC和依赖注入DI3.1 背景3.2 实现如下3.3 原理 1. Servlet的getInitParameter Servlet有两个getInitParameter 一个是servletContext.getInitParameter,获取context-param的全局参数一个是servletConfig.ge…...

免费开源跨平台SSH工具 WindTerm:媲美 xshell 的最佳平替(含详细使用教程)
免费开源跨平台SSH工具 WindTerm WindTerm概述免费开源、免费开源、免费开源下载、安装WindTerm 屏幕截图WindTerm 主窗口 (zsh):WindTerm 拆分视图:WindTerm DigeWhite 主题: WindTerm 基本设置使用WindTerm连接到服务…...

洛谷 P1075 [NOIP2012 普及组] 质因数分解 C语言
题目: P1075 [NOIP2012 普及组] 质因数分解 - 洛谷 | 计算机科学教育新生态 题目描述 已知正整数 n 是两个不同的质数的乘积,试求出两者中较大的那个质数。 输入格式 输入一个正整数 n。 输出格式 输出一个正整数 p,即较大的那个质数。…...
Apache Hive常见问题
入门问题 什么是Apache Hive? 解释Hive的用途。Hive作为基于Hadoop的数据仓库工具是如何工作的?与传统关系型数据库相比,使用Hive有什么优势? Hive和关系型数据库管理系统(RDBMS)之间的区别是什么&#…...

活动报名系统源码:JAVA同城服务系统活动报名同城圈子商家商城城市代理躲猫猫
JAVA同城服务系统:打造多元化社交与娱乐新体验 在数字化时代,同城服务系统已成为连接城市生活的重要桥梁。我们精心打造的JAVA同城服务系统,不仅融合了活动报名、同城圈子、商家商城、城市代理等多重功能,还特别加入了创新的“躲…...

迈向Z级计算:Cloud4Science范式加速科学发现进程
传统超级计算机作为科学计算的核心支柱,在推动技术进步方面发挥了不可替代的作用,但随着科学智能时代下需求的多样化和复杂化,其扩展性和能效的局限逐渐显现。 针对这一挑战, 微软亚洲研究院 的研究员提出了 Cloud4Science 的新范…...

ES IK分词字典热更新
前言 在使用IK分词器的时候,发现官方默认的分词不满足我们的需求,那么有没有方法可以自定义字典呢? 官方提供了三种方式 一、ik本地文件读取方式 k插件本来已为用户提供自定义词典扩展功能,只要修改配给文件即可: …...

Mac连接云服务器工具推荐
文章目录 前言步骤1. 下载2. 安装3. 常用插件安装4. 连接ssh测试5. 连接sftp测试注意:ssh和sftp的区别注意:不同文件传输的区别解决SSL自动退出 前言 Royal TSX是什么: Royal TSX 是一款跨平台的远程桌面和连接管理工具,专为 mac…...

从零开始:如何在 .NET Core 中优雅地读取和管理配置文件
在.net中的配置文件系统支持丰富的配置源,包括文件(json、xml、ini等)、注册表、环境变量、命令行、Azure Key Vault等,还可以配置自定义配置源并跟踪配置的改变,然后按照优先级进行覆盖,总之对文件的配置有很多方法,这…...

JVM学习:CMS和G1收集器浅析
总框架 一、Java自动内存管理基础 1、运行时数据区 运行时数据区可分为线程隔离和线程共享两个维度,垃圾回收主要是针对堆内存进行回收 (1)线程隔离 程序计数器 虚拟机多线程是通过线程轮流切换、分配处理器执行时间来实现的。为了线程切换…...

Science Robotics让软机器人“活”得更久的3D打印!
软机器人硬件在医疗、探索无结构环境等领域有广泛应用,但其生命周期有限,导致资源浪费和可持续性差。软机器人结合软硬组件,复杂组装和拆卸流程使其难以维修和升级。因此,如何延长软机器人的生命周期并提高其可持续性成为亟待解决…...

模电面试——设计题及综合分析题0x01(含答案)
1、已知某温控系统的部分电路如下图(EDP070252),晶体管VT导通时,继电器J吸合,压缩机M运转制冷,VT截止时,J释放,M停止运转。 (1)电源刚接通时,晶体…...

二层交换机和三层交换机
一、交换机简述 交换机的主要功能包括物理编址、网络拓扑结构、错误校验、帧序列以及流控。交换机还具备了一些新的功能,如对VLAN(虚拟局域网)的支持、对链路汇聚的支持,甚至有的还具有防火墙的功能。 交换机除了能够连接同种类型…...

每天五分钟机器学习:凸集
本文重点 在SVM中,目标函数是一个凸函数,约束集合是一个凸集。因此,SVM问题可以转化为一个凸规划问题来求解。这使得SVM在实际应用中具有较高的计算效率和准确性。 凸集的定义 凸集是指一个集合中的任意两点之间的线段都完全包含在这个集合中。换句话说,给定集合C中的两…...
Mongodb日志报错too many open files,导致mongod进程down
【解决方案】 (1)进入到服务器,执行: ulimit -a 查看:open files这一行的数量,如果查询到的结果是1000左右,那多半是服务器限制。 (2)在当前session窗口执行如下&…...

关于 PCB线路板细节锣槽问题 的解决方法
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/144783817 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…...

硬件基础知识笔记(2)——二级管、三极管、MOS管
Part 2 二级管、三极管、MOS管 1、二级管1.1肖特基二极管和硅二极管选型比较1.2到底是什么决定了二极管的最高工作频率?1.3二极管结电容和反向恢复时间都是怎么来的 1、二级管 1.1肖特基二极管和硅二极管选型比较 肖特基二极管的优势主要在速度和压降,对…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...