你认为BI不需要建模,那就大错特错了

news2024/10/18 14:55:48

BI 是一种数据类的技术解决方案,将许多来自不同企业业务系统的数据提取有分析价值的数据进行清洗、转换和加载,就是抽取Extraction、转换 Transformation、加载Loading 的ETL过程,最终合并到一个数据仓库中,按照一定的建模方式例如Inmon 的3NF 建模、Kimball 的维度建模或者两者都有的混合式架构模型,最终在这个基础上再利用合适的分析展现工具来形成各种可视化的分析报表为企业的管理决策层提供数据决策支撑。

派可数据-数据仓库管理平台架构

首先,我们需要理解下什么是建模。然后再来看下建模和自助分析的关系,他们之间不是一种对立的关系,需要理解下BI的底层逻辑。

建模,就是建立模型,为了理解事物而对事物做出的一种抽象。建立系统模型的过程,又称模型化。建模是BI分析的重要手段和前提,凡是用模型描述系统的因果关系或相互关系的过程都属于建模。

不管是什么样的BI工具产品,在做自助分析、可视化页面设计的时候大家一定能看到几个核心的元素:维度Dimension和度量Measure。维度就是看数据的角度,被看的数据就是度量Measure。比如从产品角度分析销售收入占比,从时间角度看销售收入的趋势,在这个描述中,产品和时间就是分析的维度,销售收入就是被看的、被分析的数据,就是度量Measure,我们有的时候也叫KPI或者指标。

派可数据-数据仓库维度定义与管理

派可数据-数据仓库指标定义与管理

在BI分析中,只要通过维度或者维度的组合来分析指标的过程,背后本身就构建了一个分析模型,这就是一种把复杂业务抽象到一个分析模型的过程。

所以,谈到BI必然就会用到建模,建模没有像大家想象的那么神秘。

拖拉拽自助分析的本质就是对分析模型的运用。在自助分析过程中,会首先选择分析的维度,再选择相应的度量或者指标,通过拖拉拽的方式就实现了可视化,数据就出来了。它的逻辑就是根据选择的维度和指标,自动的构成了一种分析模型,这个分析模型的背后就会产生一条聚合查询性质的SQL语句发送到底层数据库引擎去做数据查询,把数据聚合算出来,把结果呈现到可视化页面。

通过前端可视化BI分析工具选择几张数据表进行数据关联,形成了一个分析模型,在这个分析模型中的维度和度量自动的罗列到分析面板供自助分析人员来使用,这个叫做BI的前端建模。通过数据仓库提前把一些基础的分析模型建好,前端BI工具来直接引用成熟的维度和分析指标,这个是把分析模型后置到底层数据架构上来解决,这个叫做后端建模。本质上都是一样的,都是构建分析模型的过程。只是一个前置到业务人员自己处理模型、一个后置到数据仓库由BI开发人员来处理。后置的主要目的除了公共指标下沉,还解决了指标爆炸的问题。

派可数据-业务分层建模过程

所以,建模在BI分析中本身就是维度和指标的组合,这个过程没有什么很特殊的。只是大家一想到自助分析,就不应该通过预设模型来限制模型中维度和指标的选择,这个理解就是错误的。不管什么样的模型都可以理解为一种预设,比如像一张大宽表,它的维度和指标在大宽表中就是固定的,只是维度列多一些,指标多一些,给了用户更多的一种组合维度和指标的可能,并不是说就没有模型的概念。

很多BI厂商不是不知道这个道理,那为什么还要这么去讲呢?因为要给用户一种感觉,就是我们的BI产品很灵活,想怎么分析就怎么分析,可以满足任意的分析场景,所以要证明我们自己的产品比别人的更强大。但是只要大家认真想一想,BI真的能做到想怎么分析就怎么分析,真正的随心所欲的自由分析吗?

自由并不是随心所欲,无边际的。所有的自由都是有限度的,一旦你所追求的自由,超出了限度,自由就势必要被约束起来,只有有限度的自由才是真的自由。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2217852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【学习】安装cudf和cuml

为了把cpu上跑的SVM程序搬到GPU上跑,需要装这俩包,但是搞了半天装不上,最后发现是清华源的问题。换了中科大的源没问题了。 rapids官网:RAPIDS | GPU Accelerated Data Science 官网安装:Installation Guide - RAPID…

安装CentOS 8镜像和创建CentOS 8虚拟机教程

一、安装虚拟机 网上查找教程,我用的是VMware 17 二、下载CentOS 8镜像 1.阿里云下载CentOS 8镜像 centos安装包下载_开源镜像站-阿里云 (aliyun.com) 选择需要下载的版本,(建议)下载dvd1版本的iso(也有下载boot版本的iso,创…

用柔性神经k-Opt学习搜索路径问题的可行和不可行区域(未完,先看前驱文章L2S)

文章目录 Abstract1 IntroductionAbstract 介绍了一种名为 Neural k-Opt(NeuOpt)的新型学习搜索(L2S)求解器,用于解决路径问题。它学习执行基于定制的动作分解方法和定制的循环双流(Recurrent Dual-Stream)解码器的灵活 k-opt 交换。 作为一项开创性的工作,我们绕过了…

使用YOLOv8进行实时人员跟踪和计数

在计算机视觉领域,实时跟踪和统计人数对于各种应用至关重要,从监控到事件管理。在这篇博客文章中,我们将探讨如何利用YOLOv8和ByteTracker实现准确的人数统计。 引言 YOLOv8(You Only Look Once,第八版)是一种以其速度和准确性而闻名的最新对象检测模型。 ByteTracker是一…

Oracle DECODE 丢失时间精度的原因与解决方案

在Oracle数据库中,DECODE 函数是一个非常实用的条件处理函数,通常用于替代简单的 CASE WHEN 语句。它根据给定的值列表进行匹配,如果匹配成功则返回相应的值。如果不匹配,返回一个默认值。 问题描述 SELECT DECODE(-21, -1, NU…

低代码可视化-uniapp购物车页面-代码生成器

购物车页面是电子商务网站或应用程序中的一个关键功能页面,它允许用户查看、编辑和管理他们选择加入购物车的商品。下面通过低代码可视化实现一个uniapp购物车页面,把购物车整个事件都集成进去。实现完成后可以保存为页面模板。 收货地址选择 如果尚未…

基于SpringBoot+Vue+uniapp微信小程序的垃圾分类系统的详细设计和实现(源码+lw+部署文档+讲解等)

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…

Cursor 、v0 和 Bolt.new:当今 AI 编程工具的全面解析与对比

AI 驱动的编码工具正在迅速发展,每次新版本的发布都承诺将改变我们的开发流程。这些工具旨在通过智能代码建议、重复任务的自动化,甚至从自然语言提示生成整个代码片段来提升生产力。10月4日,StackBlitz 推出了 Bolt.new,进一步丰…

建议大家尽早培养自己的表达能力!分享6个有效工具~

在日常工作生活中,有效沟通是成事的不二法则。现在很多人不热衷沟通,对人际交往没热情,但是会和不用,与不想也不会是两回事,所以掌握一些沟通技巧很有必要。 如何进行有效沟通?推荐大家进行结构化表达和沟…

代码复现(五):GCPANet

文章目录 net.py1.class Bottleneck:残差块2.class ResNet:特征提取3.class SRM:SR模块4.class FAM:FIA模块5.class CA:GCF模块6.class SA:HA模块7.class GCPANet:网络架构 train.pytest.py 论文…

计算机视觉——人像的分割与无缝融合

1.概述 新加坡现代汽车集团创新中心的一篇新论文提供了一种在计算机视觉中分离“融合”人像的方法——在这些情况下,对象识别框架发现一个人在某种程度上与另一个人“太接近”(例如例如“拥抱”动作或“站在后面”的姿势),并且无法…

从零实现数据结构:堆的实现和简单堆排序

事先说明&#xff0c;这里采用的都是小堆。下面是代码中的小堆示意图 这里向大家分享一个常见数据结构可视化的网址&#xff1a;Data Structure Visualization (usfca.edu) 声明部分heap.h&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include &…

Turtle画树丛

Turtle画树丛&#xff0c;50棵树&#xff0c;左侧的树向左倾斜&#xff0c;右侧的树向右倾斜。 完整代码如下&#xff1a; import turtle import randomdef draw_tree(pos,hd,angle,len,init_len,level): t.penup()t.goto(pos)t.pendown()t.setheading(hd)if pos[0]<0:t…

基于C++实现(控制台)职工信息管理系统

高级程序设计实验报告 一、实验内容 设计一个职工信息管理案例&#xff0c;实现不同类别职工的工资数据。职工的种类包括&#xff1a;正式职工和临时工。定义一个基本的职工类&#xff0c;基本信息包括&#xff1a;编号、姓名、性别、年龄、家庭住址、基本职务工资。派生出正…

当前python文件所在位置的上级文件夹的路径表示法:..的等价表示法os.pardir

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 当前python文件 所在位置的上级文件夹 的路径表示法&#xff1a;.. 的等价表示法 os.pardir [太阳]选择题 下列说法中正确的是? import os parent_dir os.pardir print("【显示】…

Axure重要元件三——中继器表单制作

亲爱的小伙伴&#xff0c;在您浏览之前&#xff0c;烦请关注一下&#xff0c;在此深表感谢&#xff01; 本节课&#xff1a;中继器表单制作 课程内容&#xff1a;利用中继器制作表单 应用场景&#xff1a;台账、表单 案例展示&#xff1a; 步骤一&#xff1a;建立一个背景区…

【WPF】04 Http消息处理类

这里引入微软官方提供的HttpClient类来实现我们的目的。 首先&#xff0c;介绍一下官方HttpClient类的内容。 HttpClient 类 定义 命名空间: System.Net.Http 程序集: System.Net.Http.dll Source: HttpClient.cs 提供一个类&#xff0c;用于从 URI 标识的资源发送 HTTP 请…

探索性数据分析 (EDA) 简介

文章目录 一、介绍二、探索性数据分析 (EDA)三、探索性数据分析的类型3.1 单变量分析3.2 双变量分析3.3 多元分析 四、理解 EDA五、结论 一、介绍 探索性数据分析是研究或理解数据并提取洞察数据集以识别数据模式或主要特征的过程。EDA 通常分为两种方法&#xff0c;即图形分析…

Spring Boot 整合 RocketMQ 之顺序消息

前言&#xff1a; 上一篇我们分享了 Spring Boot 整合 RocketMQ 完成普通消息发送的过程&#xff0c;本篇我们来分享一下 RocketMQ 顺序消息的发送。 RocketMQ 系列文章传送门 RocketMQ 的介绍及核心概念讲解 Spring Boot 整合 RocketMQ 之普通消息 Spring Boot 整合 Rock…

大数据-178 Elasticsearch Query - Java API 索引操作 文档操作

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…