FineBI实战项目一(2):案例架构说明及数据准备

news2024/11/18 1:30:24

1 系统架构

  • 基于MySQL搭建数据仓库
  • 基于Kettle进行数据处理
  • 帆软FineBI基于MySQL搭建的数据仓库进行数据分析

2 数据流程图

  1. 通过Kettle将MySQL业务系统数据库中,将数据抽取出来,然后装载到MySQL数据仓库中。
  2. 编写SQL脚本,对MySQL数据仓库中的数据进行数据分析(分组、聚合等),并将分析后的结果保存。
  3. 使用 FineBI 将保存下来的分析结果以图形的方式展示出来。

3 创建finebi_shop数据库并导入数据

为了完成本次案例,我们需要提前准备好 finebi_shop 数据库,我们准备好了一个SQL脚本文件【finebi_shop_v1.2.sql】,里面有很多的一些SQL语句,这些SQL语句会自动创建数据库、表,并将数据插入到表中。数据量较大,建议使用source命令执行脚本。

表结构概览:

表名

说明

finebi_areas

行政区域表,例如:北京市、昌平区等。

finebi_goods

商品表,保存了商品的基本信息。例如:商品的唯一标识、商品的名称、店铺ID、商品的分类等。

finebi_goods_cats

商品分类表,每一个商品都有自己的分类。例如:海尔的某个冰箱属于:家用电器 > 大家电 > 冰箱 这样的一个分类。

finebi_orders

订单表,用户提交的订单将保存在该表中。表中包含了:下订单的用户、订单的状态、订单的支付金额、订单所属的区域、用户所属的地址等。

finebi_order_goods

订单明细表,订单明细表包含了订单中的包含的商品信息。用户可以同时买多个商品,然后提交一个订单。例如:提交的订单中包含一个手机、和一个电冰箱。订单明细中包含了用户买的商品数据和订单信息。例如:该订单明细对应的订单是什么、买了几个这样的商品、商品的ID是什么等。

finebi_users

用户信息表,包含了用户的ID、用户名、密码等信息。

4 创建finebi_shop_bi 数据仓库

create database if not exists finebi_shop_bi DEFAULT CHARACTER SET utf8;

提示:

if not exists 表示如果数据库不存在时,才会创建数据库,如果数据库已经存在,就不创建。

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

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

相关文章

Spring 如何解决循环依赖问题

Spring对循环依赖的处理有三种情况: ①构造器的循环依赖:这种依赖spring是处理不了的,直 接抛出BeanCurrentlylnCreationException异常。 ②单例模式下的setter循环依赖:通过“三级缓存”处理循环依赖。 ③非单例循环依赖&#xf…

【小沐学CAD】开源Assimp库导入三维模型(C++、Python)

文章目录 1、简介2、下载编译3、代码测试3.1 C3.2 pyassimp(Python) 结语 1、简介 https://github.com/assimp/assimp Open Asset Import Library 是一个库,用于将各种 3D 文件格式加载为共享的内存格式。它支持 40 多种用于导入的文件格式和…

Linux du和df命令

目录 一. df二. du 一. df ⏹用于显示系统级别,磁盘分区上的可用和已用空间的信息 -h:以人类可读的格式显示文件系统大小 ⏹每秒钟监视当前磁盘的使用情况 watch 用于周期性的执行特定的命令-n 1 表示每一秒刷新一次命令执行的结果df -h ./ 表示周期性…

java基础之Java8新特性-方法引入

目录 1.简介 2.方法引入 方法引入遵循规范 方法引入种类 1.静态方法引入 2.对象方法引入 3.实例方法引入 4.构造函数引入 1.简介 方法引用是 Java 8 中引入的另一个重要特性,它提供了一种简洁的语法来直接引用现有方法或构造函数。方法引用可以看作是 Lambd…

MongoDB 索引管理

文章目录 前言1. 术语介绍1.1 index / key1.2 Coverd Query1.3 IXSCAN / COLLSCAN1.4 Selectivity1.5 Index Prefix 2. 索引原理3. 索引的维护3.1 创建索引语法3.2 单字段索引3.3 多字段复合索引3.4 数组的多列索引3.5 全文索引3.6 Hash 索引3.7 TTL 索引3.8 删除索引3.9 后台创…

回顾基础--HTML篇

HTML语法规范 <html></html> 开始标签与结束标签 <br /> 单标签 包含关系 <head><title></title> </head>并列关系 <head></head> <body></body> 1、 标题标签 标题标签 【双标签】【不同标题字体大小…

IP风险画像:源头防范网络攻击的全面策略

在当今数字化的时代&#xff0c;网络攻击呈现多样化和复杂化的趋势&#xff0c;为了确保网络的安全&#xff0c;制定全面的IP风险画像并从源头防范网络攻击是至关重要的。ip数据云将探讨如何通过建立IP风险画像来识别和应对潜在的威胁&#xff0c;从而实现更加安全可靠的网络环…

网站监测工具测评之功能强大的Uptime Kuma

背景 最近调研一款【网络隔离性检测】工具&#xff0c;无意间发现了这款工具——Uptime-Kuma&#xff0c;并且进行了部署测试以及API接口的部分调用尝试&#xff0c;个人认为这个工具在网站监控领域具备出色的功能和性能&#xff1b;下面为大家详细的介绍这个工具。 官网地址…

java项目启动报错排查过程——mysql服务挂了

来自前端同事无法启动后台项目的案例 Caused by: java.net.ConnectException Create breakpoint : Connection refused: connect The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 大致…

最新发布的Edge扩展插件:安装位置一览

目录 学习目标&#xff1a; 学习内容&#xff1a; 学习时间&#xff1a; 学习产出&#xff1a; Edge扩展插件的介绍&#xff1a; Edge扩展插件的安装位置&#xff1a; Edge扩展插件的管理方式&#xff1a; Edge扩展插件的启用和禁用&#xff1a; 学习目标&#xff1a; 了解Edg…

vulhub中的Nginx漏洞的详细解析

Nginx漏洞 1.cd到nginx_parsing_vulnerability cd /opt/vulhub/nginx/nginx_parsing_vulnerability 2.执行docker-compose up -d 3.查看靶场是否开启成功 dooker ps 4.访问浏览器 因为这里是80端口所以直接使用ip就能访问成功 5.上传图片 注意这里的图片是含有一句话木马的图…

数据结构第十二弹---堆的应用

堆的应用 1、堆排序2、TopK问题3、堆的相关习题总结 1、堆排序 要学习堆排序&#xff0c;首先要学习堆的向下调整算法&#xff0c;因为要用堆排序&#xff0c;你首先得建堆&#xff0c;而建堆需要执行多次堆的向下调整算法。 但是&#xff0c;使用向下调整算法需要满足一个前提…

小型洗衣机好用吗?高性价比迷你洗衣机推荐

现在大多数的上班族&#xff0c;面临的都是早九晚六的工作&#xff0c;而且工作完下班回家还是面对各种各样的家务&#xff0c;特别是清洗需要换洗的洗衣&#xff0c;属实是有点辛苦了。可能很多人为了方便&#xff0c;每次洗衣服的都是把一堆衣服直接丢进洗衣机&#xff0c;直…

LeetCode-字符串转换整数atoi(8)

题目描述&#xff1a; 请你来实现一个 myAtoi(string s) 函数&#xff0c;使其能将字符串转换成一个 32 位有符号整数&#xff08;类似 C/C 中的 atoi 函数&#xff09;。 函数 myAtoi(string s) 的算法如下&#xff1a; 读入字符串并丢弃无用的前导空格 检查下一个字符&…

Android通过Recyclerview实现流式布局自适应列数及高度

调用 FlowAdapter 跟普通recyclerview一样使用 RecyclerView rvLayout holder.getView(R.id.spe_tag_layout); FlowAdapter rvAdapter new FlowAdapter(); FlowLayoutManager flowLayoutManager new FlowLayoutManager(); rvLayout.setLayoutManager(flowLayoutManager); r…

BlogPark测试报告

目录 一&#xff0c;项目背景 二&#xff0c;项目功能 三&#xff0c;测试计划 3.1 测试用例的设计 3.2 功能测试 1.正常登录 2.正常写博客测试 &#xff08;输入完整的标题和内容&#xff09; 3.发布博客之后跳转到详情页观察是否有刚发布的博客 4.删除博客观察列表的…

如何创建微信小程序?高效实现你的创意

在数字化浪潮下&#xff0c;微信小程序以其便捷高效的特点逐渐成为人们日常生活与商业活动的重要载体。有很多人却被难住&#xff0c;若没有没有编程经验&#xff0c;如何创建微信小程序&#xff1f;答案是通过合理利用工具&#xff0c;让创意迅速落地为功能完备的小程序。 一…

【qml】第一次尝试qml与c++交互

背景&#xff1a; 目的是学习qml&#xff0c;因为看到很多qml的酷炫效果&#xff0c;想试一试。 看过网上一些代码&#xff0c;qt提供的工具类好几个&#xff0c;看着就晕。只想提炼一下&#xff0c;做个记录。 我先整理了一套自己的想法&#xff1a;所谓交互&#xff0c;还…

浏览器缓存引发的odoo前端报错

前两天&#xff0c;跑了一个odoo16项目&#xff0c;莫名其妙的前端报错&#xff0c; moment.js 报的错&#xff0c; 这是一个时间库&#xff0c;不是我自己写的代码&#xff0c;我也没做过任何修改&#xff0c;搞不清楚为什么报错。以为是odoo的bug&#xff0c;所以从gitee下载…