mysql 分组后数据拼装别的表字段数据_SQL+Excel数据分析综合案例应用之餐饮店

ed35b15b02bc49906f8a3404a0a321f0.png

曾几何时,或许你也幻想过指点江山般的画面,羽扇纶巾便能指挥千军万马的场景......

哎,小子该醒醒了,老板还在等你的数据报告呢!

睡梦中惊醒方知原来这一切只不过是梦一场,哈哈O(∩_∩)O哈哈~

今天跟大家分享一下,餐饮店商业数据分析仪的制作全过程......

目录:

一、数据导入

二、Mysql数据加工

三、Excel数据加工与建模

四、数据透视与制图

----------------------------------------------------------------------------------------------

9324d11e4882fa2fd7348cada0c1cebb.gif

当看到只通过一个按钮便能让图表听你的话时,你是不是也很想实现这样的场景。别急,我们这就一起动手来实现它。

c4def5329495dd6616325651ee6b0cf0.png
原始数据-bill表

bd21fac5749e6700bd23c684bbd66f8f.png
原始数据-order表

eceda93b21758d936c84f7bd42d94d01.png
原始数据-shop表

一、数据导入

直接用Excel打开,可以看到原始数据有一列乱码了,更别说通过Excel来加工。如果数据在庞大一点,估计弄个表格就会把你弄得哭爹喊娘的。那么我们该怎么对这样的数据进行加工呢?

工欲善其事,必先利其器。这就需要我们使用Mysql对其进行加工处理了。打开数据库软件,建立数据库,美其名曰“餐饮店商业数据分析”。

2cec0310a27746b73b1e42410fa26137.png

随后将原始数据表导入数据库当中,下面是导入步骤,大伙可收藏参考哦~~

在‘表’处右击便会看到‘导入向导’,点击便会弹出下面的对话框。

4f41860a98898d1a7c91a903a00b4d85.png

这里补充一点,如果直接导入Excel文件,可能会报错,大家可参考我之前的文章,里面有解决方案,这里就不做过多描述。

Geek:SQL数据分析的学习与应用​zhuanlan.zhihu.com
8eabd792663afb3d60d1ac226b116682.png

接下来我们只需要按照对话框的提示,点击下一步就OK了

672e17ccaf6e811106f9c052c03f51b3.png

数据导入成功之后,为了后面便于区分,我们将3个表重新命名一下。

a09332f3c852841c28f14c6efbb036b8.png

二、Mysql数据加工

接下来我们就可以对原始数据进行加工处理了,欲知详细过程,还请继续翻阅......哈哈,就是这么皮

1、用orderdetail表创建单汇总金额表(OrderGroup)

以orderdetail表的billnumber字段为汇总依据,求出每条billnumber下pay的加总值。

新表字段:billnumber(单号)、pay(金额)

431ea98daaa9068b78e521cec46c1b5c.png

2、用Bill表与OrderGroup表创建新单号详细表(NewBill)

以billnumber为关键字段关联两表,将OrderGroup表中的pay字段合并到Bill表中,并使用pay与billdiscount字段计算出折扣金额。

新表字段:所有Bill表中的字段、pay(金额)、rebate(折扣金额)

计算逻辑:Rebate = pay * billdiscount

b6eec0832727d4123af7f8a677a0ee4b.png

3、用Shopdetail表创建新店面情况表(NewShopDetail)

在原有shopdetail表字段基础上计算并添加allseats字段

新表字段:所有ShopDetail表中的字段、allseats(总座位数)

计算逻辑:allseats = twotable * 2 + threetable * 3 + fourtable * 6

64e5e5f2d2590621785c9e63b842c3d0.png

4、用OrderDetail表与Bill表创建新点菜明细表(NewOrderDetail)

以billnumber为关键字段关联两表,并用Bill表中的shopname与OrderDetail表中的所有字段组成新表

新表字段:shopname(店名)、OrderDetail表中的所有字段

615294f95d4e1121e6c7828fa5bf76e0.png

5、用NewBill表与NewShopDetail表创建店汇总信息表(ShopTotal)

以shopname字段为关键字段关联两表,并以shopname字段为汇总条件,创建以下字段

新表字段:

店名: b.shopname

单数: b.billnumber的计数

人数: b.peoplecount的加总

折扣总金额: b.rebate的加总

店汇总金额: b.pay的加总

单均消费: b.pay的合计值/b.billnumber的计数值

人均消费: b.pay的合计值/b.peoplecount的合计值

总台数: s.alltable

总座位数: s.allseats

翻台率: b.billnumber的计数值/s.alltable

上座率: b.peoplecount的合计值/s.allseats

折扣率: b.rebate的合计值/b.pay的合计值

5fe747cf87ffbc771b4bd704473b7caa.png

用Mysql进行数据加工,是整个过程的难点,既要求对数据有一定的理解,也要求清晰的逻辑,还要求一定的sql语句运用能力。这个过程需要多练习,半吊瓶子的我也只能总结出这些。

三、Excel数据加工与建模

把新的数据表建好之后,要实现图文并茂,还得借助Excel。当然如果你会Python,也可以使用Python一步到位。后期如有机会,我们再分享吧!

1、打开Excel,点击数据==》新建查询==》从数据库==》从MySQL数据库,下面是详细步骤,大伙可以参考一下

c1ae9901ea70d403118d3fc08c230a05.png

ba0e0053848baa1862bb598b231b93f2.png

这里补充两点:

① 数据库本地地址一般为127.0.0.1

② 数据库名称须与Mysql中的数据库名称保持一致,这样才能连接成功。

efd693835e098cff8b6a4c1ddf3d6e6a.png
选择需要分析的新创建表

0c00ab0fb9934e3f830ea7638f8fd67d.png

2、加载成功之后,便可以看到Excel右边多了一栏‘工作簿查询’,点击其中一个,便弹出了Power Query界面。

然后我们再对数据进行一次核对检查处理,因为从数据库中导入过来,数据类型可能会发生改变,所以需要我们进行再次检查处理。

4a7aa89e524a8fd74d0e4435fc0dc40c.png

cbcc593bc2fe7b68100957afd1a3c71b.png

0d40db0229595b7553caae3146b9adf2.png

3、处理完之后,点击‘关闭并上载’,回到以下界面后,点击‘管理数据模型’。

这一步的主要目的是建立‘数据模型’,比如此次我们需要对餐饮店的KPI进行分析,然而Power Pivot便能帮助我们实现餐饮店的KPI数据模型。

3c7fa685126d19146f85a001b7e0f650.png

279c50a392cfbad5b2dca4bee9207db4.png

将三个表格关联起来,我们才能将单一的表格联动起来。

f7e565951d709eb22e38749ffc1750eb.png

157cb705aa858e967b0263c40a5ad708.png

96d2b496d703b0ee16081714cf218de2.png

这里需要注意的是,表格与表格之间应遵从多对一的关系。这里后期给大家补充,如有大神,欢迎补充哦,先谢瓜了哈~~

然后我们就可以建立KPI数据模型了,在下方单元格内输入函数:

=AVERAGE('餐饮店商业数据分析 shoptotal'[店汇总金额])/CALCULATE(AVERAGE('餐饮店商业数据分析 shoptotal'[店汇总金额]),ALL('餐饮店商业数据分析 shoptotal'))

写好函数之后,点击创建KPI,再设置参数,对应的KPI数据模型就建立好了。

03d784ff46ebc15b5c73e617d53cf845.png

四、数据透视与制图

前面的步骤都完成之后,我们就可以制作餐饮店的数据分析仪表盘了。点击‘创建数据透视表’,得到下图。分别将店汇总金额、折扣总金额、折扣率等数据复制粘贴,粘贴的时候选择以链接的图片形式粘贴,这样才便于制图。

由于这个步骤比较繁琐且制图的风格也各具特色,这里就不详细介绍了,大家看图就OK了。如有不明白之处欢迎大家留言交流......

e524766bbc16c3c617b6069260c9cf3f.png

63c8250d05c440af6174e076e600b0af.png

fc0c16ba6c745773c7b712807ef73847.png

0ab7a0b65606957d7e2f1698dd15cfdc.png

9324d11e4882fa2fd7348cada0c1cebb.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值