18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 电子商务 > 从0开始学电商数据分析-19

从0开始学电商数据分析-19

时间:2023-03-15 22:20:01 | 来源:电子商务

时间:2023-03-15 22:20:01 来源:电子商务

大家好,我是零一。我是一名数据分析师,8年的电商从业经验,擅长电商领域的数据分析和挖掘,常用的工具有Excel、PowerBI、Python、R等。

这一篇很早就已经写好,但是我忘记发了,今天自己看自己的订阅号才发现,呵呵……

大家好,我是零一。我是一名数据分析师,8年的电商从业经验,擅长电商领域的数据分析和挖掘,常用的工具有Excel、PowerBI、Python、R等。大家好,我是零一。我是一名数据分析师,8年的电商从业经验,擅长电商领域的数据分析和挖掘,常用的工具有Excel、PowerBI、Python、R等。

这一篇很早就已经写好,但是我忘记发了,今天自己看自己的订阅号才发现,呵呵……

之前对于我的去向有很多的猜测,我先澄清一下,我并没有去任何一家培训机构,我自己现在也不打算做培训,我也不打算做自媒体。我本是电商人,2013年在给【孵化班】上课的时候,我就说过,哪一天我不想讲课了,就会回来开店做运营。

现在事实就是这样。

虽然做培训可以快速变现,但这不是我的菜,我喜欢分享但我更喜欢做一些实在的事情。

我仍然看好培训市场,但我看好的是行业的垂直培训,而不是现在的通用型的培训。

行业经验+运营经验才足够靠谱。我喜欢也看好这种靠谱的东西。

扯远了,不知道有没有扯到蛋……

回到主题,今天还是讲数据分析。

有朋友在我微信留言,做数据分析的时候经常为拿不到数据而苦恼,感慨巧妇难为无米之炊。问我说,想做到和我一样要什么数据自己写脚本爬取,需要学多久。

这个问题,其实我也不知道。快的人一两个月,慢的人是无期徒刑……

做什么事情,我建议还是随自己的兴趣走,有兴趣的,就买本参考书自己学习一下,像我用的VBA是很基础的,参考书已经很成熟了,随便在亚马逊买一本大全去练习就好了,我建议是先借着参考书抄我之前写过的表格,这应该是最快的学习路线了。

另外,我发现很多店铺的数据分析专员就是做记录的工作,每天记录一些数据,而且是散开的,并没有把数据汇总到一张工作表里面,就像下图所示。

等到哪天要分析的时候,就蛋疼了,可能要花个半天的时间把每一天的数据汇总到一张工作表里面,这就扯到蛋了。其实只要写个宏,就可以把所有的数据自动汇总起来。

这个环节在数据挖掘里面算是ETL(包含数据抽取、清洗、转换、加载)的过程,很多时候会出现这种需要的数据是分散的,可能是在同一张工作簿里面,但分散在不同的工作表;也可能是分散在不同的工作簿里面。

很多工具都可以对数据做ETL,我接触过的比较专业的工具应该是kattle。我们一般用不到专门做ETL的工具,像MySQL等数据库是自带这块功能的,Excel里面也有数据库,Excel Power BI的成员之一:POWERPIVOT。

POWERPIVOT是工作簿的外挂,当我们工作簿放不下数据的时候(Excel2013 是有1048576*16384的数据量),就可以使用POWERPIVOT,而且相同的数据量下,放在POWERPIVOT里面占用的空间要小很多,而且运算速度也快很多,如果不会用SQL的朋友,可以考虑使用POWERPIVOT来处理大量的数据。

一个不小心,又扯远了,我们回来。

今天先解决上面的简单问题,一次讲太多这篇文章就白写了,没人看%>_<%。

首先文章使用到的示例数据集在我网盘里面,有需要的自己找。

先观察一下数据,这里假定每一张工作表的格式都一致,如果有做到记录的数据每张工作表都不一样的格式的话,那我也是醉了……

上面的数据是我用RAND()函数生成的,字段也是随便设置的。

下面我们打开Visual Basic,打开【开发工具】选项卡的方法就不累述了,还不会的可以在公众号回复【112】

进入Visual Basic后,可以看到左上角的资源管理器。

我们可以观察到,有8张表,从Sheet1(4月1日)开始,按次序到Sheet8,原因是我在操作的过程中是按次序新建工作表,没有删除过工作表,你们自己的文件就可能不是按这个次序的。括号前面的是表的对象名称,不可以乱取,一般都不改的,要改也是在工程里面改动。括号里面是工作表对外的名字,是自己可以随便重命名的。两个名字在调用的时候只是写法不同,但因为括号里面的名字是随时可以改动,所以一般在VB里面调用的时候不用括号里面的名字。

第一步先插入一个模块。

然后写入下列代码

==============================

Sub hz()

Sheets.Add(Sheets(1)).Name = "工作簿汇总"'在第一张工作表的前面新建一张工作表,名字设定为【工作簿汇总】

i = Sheets.Count'获取工作表的数量

l = 1

m = 1

For j = 2 To i'j=2代表从第二张工作表开始到最后一张工作表

k = Sheets(j).[A65536].End(xlUp).Row

Sheets(j).Rows(l & ":" & k).Copy Sheets("工作簿汇总").Cells(m,
1)'复制数据

Sheets("工作簿汇总").Range("L" & m &
":" & "L" & m + k - 1) = Sheets(j).Name

m = Sheets("工作簿汇总").[A65536].End(xlUp).Row + 1

l = 2

Next j

Sheets("工作簿汇总").Cells(1, 12) = "日期"

End Sub

=========================

写好代码后,在开发工具里面运行宏

运行后就可以得到结果

这里并不涉及数据结构的变换,因为用的是【copy】方法

Sheets(j).Rows(l & ":" & k).Copy Sheets("工作簿汇总").Cells(m,
1)'复制数据

这条语句跟我们手动操作的复制粘贴是一样的效果的。

如果需要变换结构的话,就不能用copy方法。

比如下面这种结构

不同的结构在做分析的时候便捷程度不同,如果是要用统计方法或者数据挖掘的方式,则需要根据算法要求的格式去变换。一般使用比较频繁的就是以上两种,第一种是扁平结构,每个维度都是独立的字段,是做数据挖掘的时候常用的结构。第二种的字段是固定的,会随着数据的增加而增加观测值,在用数据透视表的时候会方便一些。

下面附上把扁平型结构的数据变换成窄长型的数据结构的代码

=======================

Sub 修改格式()

i = Sheet9.[A65536].End(xlUp).Row'Sheet9里面是扁平结构的数据

j = Sheet9.[IV1].End(xlToLeft).Column - 1

c = 2

Sheet10.Cells(1, 1) = "宝贝"

Sheet10.Cells(1, 2) = "数据"

Sheet10.Cells(1, 3) = "维度"

Sheet10.Cells(1, 4) = "时间"

For a = 2 To j

For b = 2 To i

Sheet10.Cells(c, 1) = Sheet9.Cells(b, 1)

Sheet10.Cells(c, 2) = Sheet9.Cells(b, a)

Sheet10.Cells(c, 3) = Sheet9.Cells(1, a)

Sheet10.Cells(c, 4) = Sheet9.Cells(b, 12)

c = c + 1

Next b

Next a

End Sub

=======================

下一篇会跟大家讲如何用EXCEL的POWERPIVOT来分析“大”数据。

关键词:数据,分析

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭