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

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.mzph.cn/news/602675.shtml

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

相关文章

LeetCode 2807. 在链表中插入最大公约数【链表,迭代,递归】1279

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

XXL-JOB学习笔记-新增企业微信告警通知

xxl-job默认的告警通知方式是发送邮件,工作中不易及时的收到通知并作出响应,所以想要调整下告警的通知方式,查阅文档资料,发现可以扩展xxl-job的源码实现支持。 主要思路就是根据xxl-job现有的告警机制,扩展实现企业微…

浅谈Java 微服务技术:理论与实践

目录 1. 引言 2. 什么是微服务架构? 2.2 微服务的优势 3. 微服务架构的设计原则 3.1 单一职责原则 3.2 服务自治原则 3.3 去中心化原则 4. 微服务通信方式 4.1 RESTful API 4.2 消息队列 5. 服务注册与发现 6. 微服务容器化与Docker 7. 微服务监控与日志…

SQL注入总结

又到了期末时间段,此文章是自己总结所学,仅供参考。 目录: 一、原理 一般流程 二、分类 按照请求分类 盲注分类 按照头部字段 其他类型 三、防御 代码层面 网络层面 一、原理: 后端web服务器对用户输入的恶意字符过滤不严&am…

数据结构和算法-交换排序中的快速排序(演示过程 算法实现 算法效率 稳定性)

文章目录 总览快速排序(超级重要)啥是快速排序演示过程算法实现第一次quicksort函数第一次partion函数到第一次quicksort的第一个quicksort到第二次quicksort的第一个quicksort到第二次quicksort的第二个quicksort到第一次quicksort的第二个quicksort到第…

Java反射和动态代理

文章目录 1、反射1.1 反射的概述1.2 反射作用1.3 获取字节码文件对象的方式1.4 字节码文件和字节码文件对象1.5 获取构造方法1.6 获取构造方法并创建对象1.7 获取成员变量并获取值和修改值1.8 获取成员方法1.9 获取成员方法并运行1.10 反射练习1.10.1 泛型擦除1.10.2 修改字符串…

uniapp 创建组件组件

组件:用于将某个功能的 HTML、CSS、JS 封装到一个文件中,提高代码的复用性和可维护性。 创建组件 一、在根目录中创建 components 文件夹,右键点击新建组件。 二、输入组件名称、选择默认模板、点击创建组件。 三、在组件中正常编写内容即可…

动态编译 - Dynamically Compile and Load External Java Classes

文章目录 概述Code 概述 动态编译和加载外部Java类的核心流程可以概括为以下几个步骤: 读取源代码: 首先,需要获取到外部的Java源代码。这通常是通过读取文件、网络资源或者数据库中的源代码字符串来实现的。编译源代码: 接下来,需要使用Ja…

计算机网络(8):因特网上的音频/视频服务

概述 计算机网络最初是为传送数据设计的。因特网 IP 层提供的 “尽最大努力交付” 服务以及每一个分组独立交付的策略,对传送数据信息十分合适。因特网使用的 TCP 协议可以很好地解决P层不能提供可靠交付这一问题。 音频/视频常称为多媒体信息 多媒体信息&#xff…

unity 安卓 TCP可以连接别人,但是作为服务器无法被连接

现象非常的奇特,电脑ping手机没问题,用手机的socket调试助手也没问题,手机还能向外连接tcp服务器,但是电脑连手机tcp服务器连不上。更有趣的是,有些手机做tcp服务器可以被连接,有些手机做tcp服务器不能被连…

容器相关笔记

1.容器 1.什么是容器 容器就是存放对象的集合 2.java中的容器 容器就是一系列的类或接口,用来存储一系列对象的地址 3.容器里存放的是引用数据类型(存对象的地址,不是对象本身),不能存基本数据类型 4.容器存放的两种格…

【BIAI】lecture 3 - GD BP CNN Hands-on

GD & BP & CNN & Hands-on 专业术语 gradient descent (GD) 梯度下降 back propagation (BP) 向传播 Convolutional Neural Network (CNN) 卷积神经网络 forward propagation 前向传播 biologically symmetry 生物对称性 synaptic 突触 axon 轴突 课程大纲 The go…

BUUCTF crypto做题记录(6)新手向

一、Unencode 得到的密文&#xff1a;89FQA9WMD<V1A<V1S83DY.#<W3$Q,2TM] 看题目名字&#xff0c;我们可以知道这是一个解码的题目&#xff0c;但是unencode 好像是不可解码的意思&#xff0c;我们可以对照着解码方式看一下哪个更适合&#xff0c;可以进行尝试一下C…

Linux系统操作——重启oracle服务:监听器和实例

目录 一、重启Oracle数据库及监听器 【方法一】 【方法二】 【方法三】 二、查看oracle监听状态 三、重启实例 一、重启Oracle数据库及监听器 【方法一】 获取root权限 su root 进入oracle的安装目录 cd $ORACLE_HOME 重启数据库 dbstart 重启监听器 lsnrctl st…

RocketMQ 投递消息方式以及消息体结构分析:Message、MessageQueueSelector

&#x1f52d; 嗨&#xff0c;您好 &#x1f44b; 我是 vnjohn&#xff0c;在互联网企业担任 Java 开发&#xff0c;CSDN 优质创作者 &#x1f4d6; 推荐专栏&#xff1a;Spring、MySQL、Nacos、Java&#xff0c;后续其他专栏会持续优化更新迭代 &#x1f332;文章所在专栏&…

H5的3D游戏开源框架

在H5的3D游戏框架中&#xff0c;Three.js、Babylon.js和Turbulenz是比较受欢迎的选择。 Three.js是一个广泛应用并且功能强大的JavaScript 3D库&#xff0c;可以创建简单的3D动画到创建交互的3D游戏。 Babylon.js是David Catuhe对3D游戏引擎热爱的结果&#xff0c;是最好的Jav…

腾讯云取消免费10G CDN流量包:免费CDN时代结束

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 免费送了7-8年的腾讯云10G免费流量包&#xff0c;从2024年开始&#xff0c;停止赠送了!自此&#xff0c;国内绝大多数互联网大厂的CDN都开收费了! 大概从2016年开始&#xff0c;腾讯云为了抢夺CDN客户&#xff0…

基于Spring-boot-websocket的聊天应用开发总结

目录 1.概述 1.1 Websocket 1.2 STOMP 1.3 源码 2.Springboot集成WS 2.1 添加依赖 2.2 ws配置 2.2.1 WebSocketMessageBrokerConfigurer 2.2.2 ChatController 2.2.3 ChatInRoomController 2.2.4 ChatToUserController 2.3 前端聊天配置 2.3.1 index.html和main.j…

从0开始python学习-43.通过yaml实现不同文件之间参数的关联

目的&#xff1a; 1. 统一管理接口关联的中间变量 2. 解决多个py文件中间的中间变量关联的问题 新建一个yaml_util.py进行封装读写清空yaml方法 # 读取 def read_yaml(key): with open("extract.yaml",encoding"utf-8") as f: #这里的文件如果没有会自…

mnn-llm: 大语言模型端侧CPU推理优化

在大语言模型(LLM)端侧部署上&#xff0c;基于 MNN 实现的 mnn-llm 项目已经展现出业界领先的性能&#xff0c;特别是在 ARM 架构的 CPU 上。目前利用 mnn-llm 的推理能力&#xff0c;qwen-1.8b在mnn-llm的驱动下能够在移动端达到端侧实时会话的能力&#xff0c;能够在较低内存…