数据分析
数据分析(戴师兄)
产品拆解方法
MECE原则:1.相互独立:无重复(独立性) 2.完全穷尽:无遗漏(完整性)
1.二分法:A、非A
2.矩阵法(象限拆解法):一般根据两个要素(可以使用多个要素)划分 eg:事情根据重要程度和紧急程度划分
3.公式法:所谓公式法就是针对某个指标,用公式层层分解该指标的影响因素。
4.杜邦分析法:利用几种主要的财务比率之间的关系来综合地分析企业的财务状况。
5.AARRR:一个应用的生命周期(用户获取,用户激活,用户留存,用户收益,推荐传播)
6.PEST:PEST分析是指宏观环境的分析,P是政治(politics),E是经济(economy),S是社会(society),T是技术(technology)。在分析一个企业集团所处的背景的时候,通常是通过这四个因素来分析企业集团所面临的状况。
7.RFM:RFM模型是衡量客户价值和客户创利能力的重要工具和手段。最近一次消费 (Recency),消费频率 (Frequency),消费金额 (Monetary)
8.SWOT分析法:S (strengths)是优势、W (weaknesses)是劣势、O (opportunities)是机会、T (threats)是威胁。企业内部分析,以及对于企业和竞争对手之间的分析。
9.5W1H(WWWWWH)分析法也叫六何分析法,是一种思考方法,也可以说是一种创造技法。在企业管理、日常工作生活和学习中得到广泛的应用。
excel篇
sumifs函数(计算数据,条件,条件,条件。。。)
大于等于和小于等于在条件中要加单引号,连接大于等于和变量之间要用 连接。
环比和同比
环比:最小字段前后比较之后-1 本期/上期-1
同比:强调字段前后比较之后-1 本期/同期-1
日期函数存疑
每个月的最后一天:月+1,日-1。即下个月的第一天的前一天
subtotal函数
subtotal(选择计算方式(求和或计数),计算区域),subtotal可以根据源数据筛选进行求和变化。
可以点击函数内部再点击函数可以输出帮助。
if函数
if(条件,真,假)
vlookup函数
vlookup(查找值,查找区域,返回的列在第几列,匹配方式(一般使用精确匹配))查找区域内必须包含查找值与输出值,并且第一种查找变量必须在查找区域的第一列。
查找必须是完完全全相同,有偏差不行。
可以在查找值后面加 &“*” *可代替不定数量字符,?可代替英文输入法下的一个字符。?表示占位符。
聚合运算
vlookup函数同样可以对数据透视表数据进行匹配查找。引用区域要注意是否需要改变。
!!!index和match函数(重点)
match函数:选定行或列里找出查找项所在位置 形式:match(查找项,查找区域,匹配方式)
index函数:输出区域内确定位置的数据。 形式:index(区域,行号,列号) 注:行位置为0的话会输出整行,列位置为0的话会输出整行
周报制作
注意不是直接下拉,重点在于引用已知数据,这样才能产生相应的变化,一定要根据源数据进行引用。
数据》数据验证》选择序列,内容(注意用英文逗号隔开)
加入数据验证后使用sumif
时不仅仅验证时间,同样要验证数据验证内的平台。
开始》条件格式》格式样式》数据条》最小值最大值改成数字》
Tableau篇
tableau社区:tableau,public
Tableau:全世界数据可视化大神,都在基于tableau进行可视化创作
流派:艺术流,分析流,实战流,垃圾流。我们主要学习实战流。
实战流:为实际业务场景服务,追求数据的全面性和逻辑性。无时间美化
1.可以将数据看板发到线上2.自动更新看板3.自由下载数据4.线上修改图标5.邮箱发送数据6.设置数据预警
支持亿级数据的链接分析,自由地对字段进行计算,拖拽可以轻松制作图表,数据可以聚合下钻,图表类型可以灵活转换,内置算法智能建模。数据分析
学习资料
python基础学习:
菜鸟教程:https://www.runoob.com/
廖雪峰的官网:https://www.liaoxuefeng.com/
常用三方库官网:
Numpy官网:https://numpy.org/
Pandas官网:https://pandas.pydata.org/
Matplotlib官网:https://matplotlib.org/
Sklearn官网:https://scikit-learn.org/stable/index.html
tensorflow官网:https://tensorflow.google.cn/api_docs/python/tf/io/read_file?hl=en
问题搜索:
CSDN专业开发者社区:https://www.csdn.net/
机器学习,深度学习数据获取资源:
Kaggle: https://www.kaggle.com/
uci:http://archive.ics.uci.edu/ml/datasets.php
都是免费的学习资源 作者:李小四是数据分析师 https://www.bilibili.com/read/cv9177817?spm_id_from=333.999.0.0 出处:bilibili
anaconda配置集合:pandas,numpy
python部分
多行语句
逻辑行:python解释器需要执行的命令
物理行:程序员编写代码的行
隐式换行要加小括号,也可以使用
list
list.count(obj)统计某个元素再列表中出现的次数
list.index()从列表中找出某个值第一个匹配项的索引位置
list.reverse()反向
list.sort()对列表排序
list.clear()清空列表
list.copy()复制列表
list.append()添加元素只添加最后一个参数
list.insert(索引,元素)
元素修改部分对应切片部分要更换时要使用数组
list01.remove()删除
list01.pop(索引)
del list[索引]删除索引处的值
元组
由一系列变量组成的不可变序列容器,但创建不可以进行增删改。
获取方式与列表一样,创建元组时,如果只有一个元素,那么必须啊要在这个元素后面加逗号,否则产生类型不是tuple类型。
字典
一系列键值对醉成的可变散列容器
里面的元素是由键值对构成的
数据分析(主体)
excel篇
excel基础应用
countif(range,criteria)计算某个区域中满足给定单元条件的单元格数目,参数range为单元格区域,参数criteria为判断条件
countifs(range1,criteria1,…)统计一组条件所指定的单元格数,range1:条件区域1。criteria1:条件1。range2:条件区域2。Criteria2:条件2。等等。。。(区域条件判断之间是且的关系)
累积数据:fn+f4可以直接锁定行列,累积数据过程要用到sum函数,要注意是锁定函数的位置。
语法:SUMIF(range, criteria, [sum_range])。 |
---|
range:条件区域,criteria:条件。sum_range:求和区域。可以省略,当省略时,条件区域就是求和区域。 |
说明:单条件求和。 |
语法:SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], …)。 |
---|
sum_range:求和区域。criteria_range1:条件区域1。criteria1:条件1。criteria_range2:条件区域2。Criteria2:条件2。等等。。。 |
需要注意是,此处是多条件求和,至少为三个参数,当为3个参数时,就和单条件求和一样,后面的参数都是成对出现 |
说明:多条件求和 |
考察条件判断有几个,一个条件选择sumif函数,多个条件选择sumifs
注意sumifs的条件函数中第一部分是求和区域,后面才是判定条件和条件范围,注意与sumif的区别。一般条件的形式都要在两个双引号里面。
条件格式:开始》条件格式》突出显示单元格》介于》
公式为基础的条件格式:要注意公式存在单元格的地址引用注意相对引用地址和绝对地址的使用。
开始》条件格式》新建格式规则》使用公式确定要设置的单元格》
mod()是求余函数
=内容1&内容2&内容3……. 可以对多个格的内容进行连接
match函数是找出相应匹配项所在行数
index函数是提取数据所在行数据
时间类函数:
year | 获取指定日期的年 |
---|---|
month | 获取指定日期的月 |
day | 获取指定日期的日 |
today | 获取系统当前日期 |
now | 获取系统当前日期和时间 |
date | 返回标准日期格式的时间序列 |
eomonth | 获取指定日期所在月(或前后月)的最后一天 (当前月) |
weekday | 获取指定日期的星期数 |
项目排期表:要用到堆积条形图和条件格式突出显示
将星期数字转换成标准星期,自定义格式语法输入aaa
考勤汇总要使用到合并计算,合并计算中要确定引用位置。
数据汇总分析及业务分析综合案例
均比: 实际值与平均值之间的对比,用以描述实际值的好坏程度。
YTD(Year To Date):从年初到当前日期为止的指定维度的汇总值
QTD(Quarter To Date):从季度初到当前日期为止的指定维度的汇总值
MTD(Month To Date):从月初到当前日期为止的指定维度的汇总值
月同比:相对于前一年同月份
月环比:相对于前一个月的
定基比增长率:当期值与某一固定时期值比较,描述当期值的发展水平
均比: 实际值与平均值之间的对比,用以描述实际值的好坏程度。
状态迁移对比指标: 用以描述状态变化后与变化前数值的占比情况,点击率、转化率等都属于该类指标
出勤率(病假不计入出勤):出勤天数÷规定的月工作日×100% 加班强度比率:当月加班时数÷当月总工作时数×100% 每日工资=月固定工资/21.75天 月基础工资=每日工资x当月有效工作天数x当月实际工作天数调整比例 当月应工作天数=当月自然日天数–当月休息日天数 当月有效工作天数=当月应工作天数–全无薪假期 当月实际工作天数调整比例=21.75天/当月应工作天数 平时加班费=月基础工资÷(21.75天8小时)×1.5倍×平时加班时数 假日加班费=月基础工资÷(21.75天8小时)×2倍×假日加班时数 直接生产人员工资比率=直接生产人员工资总额÷企业工资总额×100%
alt+等号快捷键可以快速实现求和运算。
快捷键
文件重命名:ctrl+Z
打开我的电脑:win+e
快速搜索文件:win+q
直接打开设置:win+i
显示桌面:win+d
快速实现页面转换:win+上下左右
关闭窗口:alt+f4(再按一次是关机)
产生表情符号:win+f4
改变输入法:先按住ctrl再用shift可以实现输入法的切换。win+空格也可以产生类似的效果
放大镜:win+加号(放大),win+减号(缩小)
快速求和:alt+加号
插入列:shift+拖拽列
强制换行:alt+回车
屏幕截屏:shift+win+s
分析方法论
一、零碎需求-用数据使业务问题细节明朗化 (工具辅助,日常取数及业务问题发现)
二、业务建模-数据拓维
三、提供周、月、季度、年整体分析报告
日常取数
1.确认数据范围 2.确认分析维度 3.输出数据指标
案例二
背景:品牌商提出查阅我方数据运营公司下各零售商城市维度下的年销售额情况,从而判断是否合作,或是选择哪个零 售商哪个地区合作
目标:希望解答在全国哪些地区,我方数据运营公司的渠道是具有代表性的/有重大意义的
交付物形式:Excel
漏斗图:条形堆积图修改得到
帕累托分析(二八法则)
二八法则,即百分之八十的问题是百分之二十的原因造成的。在项目管理中主要用于找出核心问题。
柱状图和折线图结合,柱形图降序排列,折线图计算累计百分比,折线图起点是0,折线图比柱状图多一个。折线图的第二个点位于柱形图第一个柱子的最右 上角。
经营分析案例
价格先上升然后衰退,第一部分上升是由产品知名度上升,第二部分衰退是由于竞争者产生。
案例1:维度:商品类别,品牌;统计字段:各年销量,各年销售
业务建模——数据拓维
RFM模型
RFM方法论:从数据中找到重要的维度,在维度中划分出几类,实现分类,分类标准可以是百分数,平均值,二八模型,也可以是企业内部的要求的数值作为分类指标。
方法核心是数据分类。
用户的关键行为:最近一次消费,消费频次,消费金额。
生命周期:用户与商品的接触的整个过程,在这整个过程中可以提取出用户的关键信息。
R:最近一次消费 :基于当前时点,统计用户最近一 次消费时点和当前时点的时间差
F:消费频次: 指定时间区间内统计用户的购买次数
M:消费金额 :指定时间区间内统计用户的消费总金额
消费频次:买返,返点,年卡,优惠劵
用户回流:发短信,客户回访,优惠券,回归奖励,消息推送
刺激消费:捆绑消费,满额打折,满减活动
结合实际业务选取关键数据指标分析,不是千篇一律的最近一次消费时间、消费频次、 消费金额
定义R值、F值、M值数据区间分隔时,发现明显断档数据可以通过散点图、透视表、占 比图等进行判断
除了选取讲解的3个核心业务指标进行交叉分析,也可以同时分析4个、5个指标,或者只 需要分析2个指标
对于划分阈值的计算,除了平均值,还有二八法则,对于更加复杂的业务,可以寻求程 序员或业务员协助确定。
针对不同分层用户的运营策略的制定要结合实际,在制定了运营策略之后,结合公司现 有资源和手段开展具体的落地工作
RFM练习
用户忠诚度模型
重点维度:消费频次,消费金额
使用箱型图
重要价值用户:此类用户最近刚到访平台,而且消费频次和消费金额都很高,是平台营收的主要来源,建议 保持现状并持续关注;
重要发展用户:此类用户最近刚到访平台,且消费金额高,但消费频次低,可通过提升到店频次将此类用户 转化为重要价值用户。建议观察此类用户购物篮的商品品类,参考品类复购周期,若已购买品类本身复购周 期长,则可通过组合销售将复购周期长的商品和复购周期短且日常必需的商品捆绑,引导用户到本平台增 加选购其他品类的商品,并转变为习惯,从而增加到店频次。平台缺少此类用户,可参考重要保持用户的运 营策略实现重要保持用户到重要发展用户的转变;
重要保持用户:此类用户很久没有到访平台,但到店频次和消费金额都很高,建议通过通知提醒顾客喜爱的 商品有优惠活动使用户回流;
重要挽留用户:此类用户很久没有到访平台,且到店频次低,但消费金额高,针对此类用户需要重点召回,建议通过会员日或定期不定品类的促销信息通知用户,提升用户粘性。平台缺少此类用户,可参考一般价值 用户的运营策略实现一般价值用户到重要挽留用户的转变;
一般价值用户:此类用户最近刚到访平台,且到店频次高,但消费金额低,说明用户对价格敏感,可通过促 销装、买二送一等形式刺激用户消费;
一般发展用户:此类用户最近刚到访平台,但到店频次和消费金额都很低,说明平台主要商品对用户没有吸 引力,建立提供此类用户之前的消费明细,挖掘用户喜好;
一般保持用户:此类用户很久没有到访平台,且消费金额低,但到店频次高,说明用户即将转为流失用户, 建议捆绑用户经常购买的商品和日常所需的其他品类商品,引导用户消费品类的转变而实现召回;
一般挽留用户:此类用户很久没有到访平台,到店频次低,消费金额低,在运营成本有限的情况下,可放弃 此类对此类用户的投入,但本平台大部分用户为一般挽留用户,说明用户对平台失去依赖,建议尽快建立用 户激励机制。
分析报告
考虑从总体指标入手,逐层分解总体指标
梳理行业内经常谈及的指标;
将指标拆解为另外两个指标的和或乘积(或同一指标不同维度),逐层下钻,直至无法分解;
将指标按拆解思路排放成树状结构,增加同比或环比值,通过观察变化比率快速定位问题。
树状分析方法论
商品分类:处级》课级》大类》中类》小类》商品名称
sku:指库存计数单位,评定一个商品的最小颗粒度,一个商品对应一个sku值
基准品类:购买物品所处的商品类别。、
选择性粘贴可以选择粘贴为图片链接,就会产生可移动的小图片
报告撰写
销量分析kpi树》对比分析结果》阐述重点问题》总结分析结果
在进行与竞争对手的产品分析时,可以利用合理的爬虫技术爬取合法数据。
数据库篇
表结构数据基础格式是字段,不是单元格,excel中的基础单元是单元格。
在进行表结构数据添加时,是对整个字段进行计算。直接生成一个新列,操作过程是在开始选项卡下的套用表格格式进行操作。
数据库是长期存储在计算机内,有组织的,统一管理相关数据的集合。
数据库管理系统是用于管理数据库的软件,对数据库进行统一的管理和控制,以确保数据库的完整性。
sql是一种结构化查询语言,他是国际标准化组织采纳的标准数据化语言
sql语言分类:数据定义语言:craete,alter,drop;数据操作系统:isert,update,delete;数据查询语言:select;数据控制语言:用于定义数据库访问权限和安全级别,grant
数据定义语言
数据库的增删改查
ctrl+回车,执行命令
一条语句结束后用分号来结尾,关键字之间要用逗号分隔,用缩进来增强可读性,sql对大小写不敏感,用#或–单行注释,用/**/表示多行注释。
使用use命令首先进入数据库。
1 | drop database test; |
创建数据表:create table 表名(字段);
建表之前要先选择数据库:use 数据库名称;
建表时可以不指定约束条件,但是必须指定表名,字段名以及每个字段的数据类型,表面不能与sql的关键字相同,同一个数据库下字段名不能重复。
查看数据库所有表: show tables;
查看表结构:desc 表名;
删除数据表:drop table 表名;
数据类型:int, float,decimal(十进制小数型),char(固定长度字符串型),verchar(可变长度字符串长度,必须声明字符串长度),text(长文本字符串),date,time,daytime,timestamp(时间戳,截至固定时间的秒数)
字符串类型和日期时间型数据都需要用引号括起来.
数据库基本结构
数据库:组织,存储和管理相关数据的集合,同一个数据库管理系统中数据库名必须唯一。
表:由固定列数和固定行数构成的数据集,同一个数据库中表名唯一。
列:一个字段,同一个表中列名必须唯一。
行一条记录。
约束条件
primary key 主键约束 非空不重复。主键约束:非空不重复,唯一的标识表中的记录,例如身份证号,员工号等,每个人都有,非空,且没有重复值。多个字段可以使用联合主键 。
not null 非空约束 不能为空。
unique 唯一约束 不能重复。指定字段的取值不能重复。
auto_increment 自增字段 自动增长。指定字段的取值自动生成,默认从1开始,每增加一条记录,该字段取值加一,只运用于整数型。
default 默认约束 默认值 如果新插入一条记录没有为该字段赋值,系统会自动为这个字段赋值为默认约定设定的值
foreign key 外键约束 与主键相对应,与另一张表进行对照,避免不规范的操作,以确保数据存储的完整性。
外键约束代码:【constraint 外键约束名】foreign key (字段名)references <主表>(主表字段)
1 | create table table( |
修改数据表
1 | #修改表名称 |
插入数据
1 | #插入数据,字段和数值要一一对应。当不知道其中某个需要输入的值时,可以输入null作为空值,但必须要输入空值。表名和字段名都可以写中文。 |
ctrl+h是查找相同项,可以进行修改。
修改数据
1 | #修改数据,where判断语句输出的结构没有布尔值,只能输出0和1. |
DQL语句
1 | #单表查询 |
avg(),min(),max(),sum(),count(),这些聚合函数都是忽略表中空值的。
1 | #全表运算 |
维度:用来分组的分类字段,无需分类字段和有序分类字段。
度量:用来聚合运算的数值字段。(年龄,数量,金额)
1 | #分组查询 |
where与having的区别:
where子句作用于表,having子句作用于组。
where条件查询的作用域是针对数据表进行筛选,而having条件查询则是对分组结果进行过滤。
where在分组和聚合计算之前筛选行,而having 在分组和聚合之后筛选分组的行,因此where子句不能包含聚合函数。
1 | #多表查询 |
在进行表连接时,判断是一表还是多表主要是判断是否会出现多值。
要查询的主要信息所在表才是主表。
标量子查询:返回的结果是一个数据(单行单列)
行子查询:返回的结果是一行(单行多列)
列子查询:返回的结果是一列(多行单列)
表子查询:返回的结果是一张临时表(多行多列)
1 | #子查询 |
列子查询
1 | #查询普通员工的工资等级 |
常用函数
1 | #CONCAT(str1,str2,...) 把多个文本字符串合并成一个长字符串() |
1 | #所有姓名首字母大写 |
数学函数
1 | #ABS(n)返回n的绝对值 |
日期函数
1 | #DATE(date)返回指定日期/时间表达式的日期部分或将文本转为日期格式 |
分组合并函数
1 | #GROUP_CONCAT([distinct] str [order by str asc/desc] [separator])将group by产生的同一个分组中的值连接起来,返回一个字符串结果。示例:查询每个部门的员工姓名。分隔符默认是逗号。 |
逻辑函数
1 | #IFNULL(expression, alt_value)判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。 |
开窗函数
1 | #开窗函数可以保留行数,但分组运算无法达到这种效果。聚合函数是将多条记录聚合为一条;而开窗函数是每条记录都会执行,有几条记录执行完还是几条。聚合函数也可以用于开窗函数中。 |
current row 边界是当前行,一般和其他范围关键字一起使用
unbounded preceding 边界是分区中的第一行
unbounded following 边界是分区中的最后一行
expr preceding 边界是当前行减去expr的值
expr following 边界是当前行加上expr的值
1 | rows between 1 preceding and 1 following #窗口范围是当前行、前一行、后一行一共三行记录。 |
序号函数
row_number() 显示分区中不重复不间断的序号
dense_rank() 显示分区中重复不间断的序号
rank() 显示分区中重复间断的序号
1 | select *,row_number() over(order by hiredate) 排名 from emp; |
row_number()是整除排序,而rank()是校园排名,并列第一但不会出现第二名,直接变成第三名,dese_rank()是有并列第一的情况下还可以产生第二名。
1 | #2017年仅投资过cfh和ax产品的用户。 |
with rollup可以和group by配合使用,对分组后的聚合值求和
powerbi篇
pq页面完成数据的加工处理计算
数据仓库:sql关系型结构和pq关系型结构
二者数据结构种类不同:sql中只有数据表一种:mysql只有一种,pq的数据结构有三种。
产品在不同环境下产生的数据结构种类不同。
数据结构参考方式:不同数据结构间的参考引用方式不一样。
数据仓库是数据库的上层,包含数据库但是不仅仅是数据库,还存在csv,txt,excel等。
pq改变数据不会返还到底层数据库,但是底层数据库的数据更新可以改变上层数据
通过字段名识别列,故我们需要要求字段名不重复,一个字段只能有一种数据类型。
通过主键识别行,主键非空不重复,故在对表操作时一定要先观察主键。主键业务层面上的意义:一个表的记录的单位。其他字段都是用来修饰和扩充主键字段的,如果不能修饰扩充主键字段,那么不能存在在该表中。所有非主键字段都要围绕主键信息进行描述和扩展。
PQ
m函数
先通过新建源里面的空查询,再输入=#share可以调出所有m函数
列表(List)
列表是扩在花括号中的一组数据,列表中每个数据都有属于自己的序号以便自己能够被检 索到,列表中的数据序号从0开始按照排列顺序依次整数递增,大列表内还可以嵌套子列表、 记录等。花括号除了用来括起列表内的所有数据还用来指定列表内数据的序号,通过指定数据序号可以从列表内找到并获取所需的数据值。
记录(Record)
记录用来定义字段和给字段赋值,一个字段由字段名以及字段内的值组成,字段名是唯一 的文本值,是字段的标识符。字段名可以不用引号引用,字段名有两种表达形式:
不加””的表达形式、例如Order
加#和””的表达形式、例如#”Today’s data is:”
记录中的内容写在[]括号内,[]括号同样用于在记录中取特定字段的值。
1 | //例2:定义字以及显示记录内[Item]字段的值 |
#share 内置的记录
有””的是文本值,没有”“的代表名称。
表(Table)
表是由行列数据构成的,可以使用隐式或显示方式定义字段(列)的数据类型。使用 #table建表时,可以使用列表或者记录来定义列名,并使用嵌套列表来定义表中的数据,嵌 套列表的大列表内包含所有定义单行用的子列表,而每个子列表则用来定义一行数据。花括 号{}可以用来索引查找指定行的数据。
1 | //例1:隐式字段表 |
1 | //例3:建表后取表中第一行数据 |
1 | let |
爬取网页数据
1 | (teamname as text) => |
强调一定Web.Page(Web.Contents(“网址”&一般是调用的限制的名称))后面加上爬取数据中所需数据所在的位置。
补充操作
当我们在pp中操作时,当出现各种编号时,我们一般要将各类编号更改为文本类型,但有些时候在导入数据时,pp会自动识别,并将这类编号字段更改为整数类型,这时我们要将其更改为数字类型,主要通过在右侧应用步骤中,选择更改的类型删除,或者更改m函数,将类型改为type text。
在求环比时要用到时间辅助表
日期辅助表创建:进入pq,在pq内创建空查询,在m函数处编写= List.Dates函数,注意这里的大小写要分开,如果是小写不识别,弹出的界面第一部分是起始时间,第二个是天数,第三个是间隔。
PP
建模:多维数据模型,数学模型
多维数据模型
多维数据模型又叫多维数据集、立方体,指的是相互间通过某种联系被关联在一起的不同类别的数据集合。
多维数据模型:在咨询公司以及 BI工具厂商的介绍性资料中又被 称为“立方体(Cube)”,在这 些资料中常以一个立体正方形的 形式出现。多维数据集可以从多 角度用数据全面映射某种业务的 实际状况。
连接字段,如果在表中作为主键,那么这个表为主表,如果不是主键,就为多表,一般是一对多,一表指向多表。
连接方式:一对一:主键连主键(最不可能出现);一对多:主键连非主键(正常连接方式,但是只有多表字段能当度量);多对多:非主键连非主键(多对多能连但是不能用作汇总)。
多对多可以进行连接但是不能用做汇总。
变量类型
名义型:ID,姓名,血型,产品名称—–》文本型——》可以用做主键(就算是数字也是用文本型存储,例如身份证号)——》维度
有序型:值与值之间有顺序关系,取值不连贯。成绩,健康状况——-》文本型——–》不能当作主键使用——-》维度
连续型:值与值之间有顺序关系,并且取值是连续连贯的。——-》数值型——–》不能当作主键使用——》度量
主键ID:1.文本型2.位数相同3.不同位数代表不同意义
星型结构:一个表和多个表进行连接
筛选过程中,多表出维度,单表出度量
当确定为建立多表之间连接时可以之间在pp中找到第三部分,直接对表与表之间确定连接关系,*表示多表,1表示一表,双向链接一般最好改成单向连接。当没有连接想要创建连接时,只需要确定表与表之间的连接字段,进行对应的拖拽即可。
在使用过程中不能逆着筛选方向进行筛选,筛选方向:输入方向输出度量,输出方向拖拽度量。如果方向产生错误,无法正确汇总。当然可以解决该问题,可以选择双向筛选。
一般日常工作过程中存在需要跨表筛选时,我们可以使用双向箭头。
交叉筛选器方向
双向交叉筛选:连接的两个表可以互相筛选,适用于星型架构,不适用于交叉模式。
一个表到另一个表的路径是多条路径时,众多路径中只有一条路径是有效连接,其他所有路径都是无效路径。这种连接模型是交叉模型。
单向交叉筛选: 维度表可以筛选度量表,绝大多数情况用单向交叉筛选。
圆圈为类型2,叉和正方形都是类型1,跨表取字段均是类型2。
可以更改路径走向。有效和无效之间可以在属性中的“使此关系可用”选项实现改变。
类型2是可用的,但是实际业务场景中几乎不存在类型二,所以不需要使用类型二。他一般显示的是所出维度的表中对应关键字段的度量值,而不是该维度所对应的度量值。
只要进行跨表筛选都属于类型2,类型2均是不可用的。
层级关系:父子级关系条件:1.一个父级值下对应多个子集值。2.一个子集值只属于一个父级值。
跨表取字段条件:维度与连接用字段间是父子集关系时,可以实现跨表取。
尽量实现多表合并,尽量减少表的数量,防止跨表次数过多,造成错误,降低出错率。
DAX
DAX中只需要考虑度量和计算规则即可,计算规则里面的引用是整个字段,而excel表里面引用的是计算区域。
DAX能做什么:1.创建汇总规则》筛选器中实现 2.可以改变列值
DAX的作用:为工作人员提供观测业务的窗口。》就是计算一种具体的指标值。
度量值是用来帮助工作人员进行分析。
指标和指标体系
业务指标:能够分析当下。
业务指标分类:
1.共通类型指标 :(1)汇总类指标 (合计值,平均数,个数·次数,月销售额,季度销售量,年度利润,MTD:月初到当前日期,QTD:季度初期到当前日期,YTD:年初到当前日期) (2)比较类指标(基准比,均比,标准比,目标完成率,同环比,移动平均);(1)1级指标:由数据直接汇总得到(2)2级指标:由1级指标计算得到。
2.特殊指标
财务指标:具有滞后性,能回顾过去,也能展望未来,不能观察现在。
常用函数
问题:用数据透视表求出每名销售人员手中高赢单率低风险商机金额占总商机金额的百分比 (高赢单率:赢单率=0.75 / 低风险:有无拖欠还款情况=“无”)
制作步骤:
关联商机记录与商机相关企业信息表(商机相关企业信息表是一表,商机记录为多表,字段连接由一对多)
使用switch函数将赢单率中的数值描述替换为文字描述(0.15=>低、0.25=>低、0.5=>中、 0.75=>高) switch(表达式,值1,结果1,值2,结果2…其他情况结果) 计算的是列值:对行进行计算
使用related函数将商机相关企业信息表中的有无拖欠还款情况字段内容合并到商机记录表 中来 related(合并字段)
使用calculate与filter函数的嵌套函数创建高赢单率低风险商机金额加总值
filter(表,筛选条件) 用于提取限制条件
calculate(计算规则,条件1,条件2…) 用于计算在各种条件下的汇总规则
高赢单低风险 = CALCULATE(sum(‘商机记录’[商机金额(M)]),FILTER(‘商机记录’,’商机记录’[winodds]=”h”),filter(‘商机记录’,’商机记录’[risk]=”无”))
用高赢单率低风险商机金额加总值/商机金额加总值求出高赢单率低风险金额百分比
创建行标签为销售人员,值为高赢单率低风险商机金额百分比的数据透视表
当判断使用何种汇总规则时,我们要结合汇总字段和所需要求来综合分析。
在这个标识下找到新建列,在列中编辑函数:对应的函数:calculate:多条件计算;filter:条件范围提取;switch:筛选特定值输出对应值;related提取字段转移到新表中;all:所有所选区域下的值
未标识的是维度,求和符号是度量,计算器图标是新建度量
1 | 全部筛选 = calculate(SUM('商机记录'[金额($M)]),all('区域'[城市名])) |
all(‘区域’[城市名])这里面的all就是忽略了城市名字段,直接计算大范围的求和值。
all(‘区域’)这里面是忽略了所有区域,直接计算总的汇总值。
切片器:用来选择显示部分数据。
维度:汇总维度(我们所写在透视表中的行标签字段);筛选维度(能够影响数据,就是切片器)
allselect(’区域‘)只能忽略汇总维度,但不能忽略筛选维度,可以更改切片器的范围以达到改变定基比的对比值所在范围。
平均值陷阱:平均值行数直接受到表的主键影响,如果主键存在重复值的话,在操作时行数比类别数多时,会造成平均数偏低。
filter(范围,条件1&&条件2)这是取交集 filter(范围,条件1||条件2)这是取并集
calculate(sum,区域in范围值)
calculate(sum,not 区域in范围值)
switch(true(),值1(当前面加上true函数时,可以使用比较函数),结果1,值2,结果2)
dax时间函数
切片器右上角的三个点可以改变切片器样式,可以换成列表值,也可以换成界限值。
PREVIOUSMONTH函数在指定的时间段或者时间点下返回上个月的内容。
dateadd函数(时间日期字段,选择值(位移量),位移的单位)返回的是当前日期的偏移量后的值,并且平移后的范围是在所选时间区域内。可以参照单值也可以参照时间段,参照时间点时,参照的范围是值范围内前点和后点分别对应位移后的范围内的值,后点如果是月份最后一天回返回平移后的月份的相应位置,这种属于特殊情况。
例子
1 | 上月销售额合计 = CALCULATE([销售额合计],DATEADD('日期辅助表'[日期],-1,MONTH)) |
totalmtd(汇总规则,调用日期范围)从月初到当前时点。
1.函数参照的对象时时间段还是时间点。2.函数参照的位移量是多少 3.函数返回的是时间点还是时间段下的汇总值。
pq中直接得到日期数据:转换数据中直接建立空查询,函数中输入=List.dates即可。但是在输出时一般是列表格式,要首先转换为表格式,如果需要可以稍微测试一下。
ranks(区域,排名的字段(不能使用聚合函数),asc/desc)
ranks函数不能把聚合函数与其他函数直接嵌套使用,先用聚合函数创建好度量值,再把度量值的名称引用到其他函数中使用正确。()部分其他函数可以,默认是降序。
calculate()可以让筛选上下文转换成行上下文。
在使用dateadd这类函数时,不能直接在该表下使用dateadd函数,首先要加入一个新的日期辅助表。
使用日期辅助表来计算dateadd的规则顺序:
1.在PQ中使用listdate函数创建连续日期列表。
2.将日期列表转换为表并更改字段数据类型为日期型
3.在关系图下连接日期辅助表与主体字段表
4.凡是用到日期字段的地方都使用日期辅助表下的日期才行。3
图表决策树
决策树有四种:比较,序列,描述,结构。
比较:仪表盘(事项完成程度),空间不同对象大小多少比较,同一对象不同时间之间进行比较。
序列:折线图(时间序列),漏斗图(状态迁移情况)。
描述:业务描述,统计描述(没有业务维度,只是进行统计描述,数据的分布规律和联系关系)。
结构:不同对象在对应环境下的占比关系;迁移叠加型(瀑布图);既要看不同时间节点,同时看不同图例下(堆积图)。
电商案例
money=流量 * 转换率 * 客单价
客户价值模型
交互式可视化界面
1.用交互式的方式实现自助式消息获取。
2.用图表及数值表格的展示形式实现所见即所得。
3.帮助决策者发现问题,找到解决问题的正确方法,实现商业洞察。
在字段列表中是先按照数字进行排序,再根据字母进行排序。
主题风格:在视图下选择,不同主题风格字体背景颜色等都会不同。
当不同量纲的变量个数,需要增加值坐标轴个数,让不同量纲个数等于值坐标轴个数。需要增加值坐标轴个数,也可以减少不同量纲的变量个数。在powerbi中可以使用组合图,柱形图和折线图的合并图表,行值和列值分别是折线图和柱形图。
这是地图中的帮助栏,三个向下的部分是下钻(第一个是深化,显示当前父级下的子级;第二个是只显示子级内容;第三个是既显示子级内容,也显示父级内容),第一个上升的部分是上卷
在选取推进哪种用户投入资金促进消费:两个方向:1.基数大小 2.转化难度
电商互联网流量分析
电商黄金公式:销售额 = 流量 * 转化率 * 客单价
流量数量指标:
访问人数(uv):到达店铺页面的非重复用户数
浏览量(pv):店铺内浏览和查看页面的累加次数。
访问数:一个会话内被用户连续访问的次数。
新访客数:新进访客数
流量质量重要指标:
- 平均访问深度:浏览量/访问次数
- 跳失率:跳出次数/访问次数
- 新访客占比:新访客数/访客数
流量转换率指标:
- 访客数:到达店铺页面的非重复用户数
- 收藏人数:到达访客收藏页面的人数
- 加入购物车人数:代打访客中完成订单支付行为的人数
- 支付人数:到店访客完成订单支付行为的人数
- 收藏人数占比:收藏人数/访客人数
- 支付人数占比:支付人数/访客数
建模下新建参数中,可以生成新的切片器,在切片器下选择显示列表,然后选择只能单项选择,继续使用switch函数进行匹配
餐饮案例
餐饮行业有两部分:快消行业和服务行业
由于是快消行业,要快速发现问题,并作出相应的相应,而餐饮行业的利润率较低,为了保证利润率,必须快速找到问题,并尽快做出响应。相较于大公司,必须尽快做出相应的措施,由于高成本低收益,要实时观察。
指标介绍
- 销售金额:当日店铺实际收入
- 销售kpi:每家店的销售金额与多有店的总平均金额的比
- 折扣额:占消费总额的10%-20%
- 折扣率:10%-20%
- 台数:店铺总台数
- 翻台率:当日店铺每张桌子被使用的平均次数
- 单均消费:当日店铺所有缴费单的平均金额
- 座位数:店铺实际拥有的座位数量
- 上座率:当日店铺每个座位被使用的平均次数
- 人均消费:当日到店每个人的平均消费金额(销售总额/客流量)
翻台率和上座率,翻台率要比上座率更大一些,如果翻台率很大,但上座率很低,说明散客较多,故桌子过大,桌椅布局不合理。更改桌椅布局。
pp里有个计算规则:当度量值要用到两个不同表中的度量计算得到时,要注意翻倍问题
例:翻台率=单数/台数=count(‘单号详细’[单号])/average(‘店铺情况’[总台数])最后结果会出错,在使用这种表达式时,一般会出现表连接表连接的主键是单号马,每个单号下都有一个总台数。
在使用仪表的时候,要设置最大值和最小值时,要在测量轴设置。
步骤:
一、导入原始数据到Power Query
二、复制“点菜明细”表创建“单汇总金额”表
三、复制“单号详细”表创建“店汇总信息”表
三、针对各个表进行处理
“单汇总金额”表:
只保留单号及消费金额字段
使用“分组依据”按照单号对消费金额进行汇总(对重复单号进行排重处理)
“单号详细”表:
使用“单号”字段横向合并单汇总金额表
将“单汇总金额”表中的“单汇总金额”字段展开(为“单号详细”表添加金额信息)
添加“折扣额”字段(折扣额 = 单汇总金额 * 会员折扣)
更改“付费时间”字段为小时:分:秒格式的时间格式字段
“店面情况”表:
- 添加“总座位数”字段(总座位数 = 二人台数2 + 三人台数3 + 四人及以上台数*6)
“点菜明细”表:
用“单号”字段合并“单号详细”表
将“单号详细”表中的“店名”字段进行展开(为之后在Power Pivot里创建与店面情况表的链接时用)
将“店名”字段置为首列
“店汇总信息”表:
使用“单号”字段横向合并“单汇总金额”表
将“单汇总金额”表中的“单汇总金额”字段展开(添加金额列)
添加“折扣额”字段(折扣额 = 单汇总金额 * 会员折扣)
删除“会员折扣”、“单号”、“付费时间”以及“日期”字段
使用分组依据功能对“店名”字段进行汇总
添加“单均消费”字段(单均消费 = 店汇总金额 / 桌数)
为“单均消费”字段取整
添加“人均消费”字段(单均消费 = 店汇总金额 / 来店人数)
为“人均消费”字段取整
使用“店名”字段横向合并“店面情况”表
将“店面情况”表中的“总台数”以及“总座位数”字段展开
添加“翻台率”字段(翻台率 = 桌数 / 总台数)
为“翻台率”字段取整
添加“上座率”字段(上座率 = 来店人数 / 总座位数)
为“上座率”字段取整
将“桌数”字段改名为“单数”
添加“折扣率”字段(折扣率 = 折扣总金额 / 店汇总金额)
快销行业案例
sku:最小的存储单位。
对经销商来说:为了避免风险过大,提高销售次数,加大运营速度,加快汇款速度。
相关指标
销售指标
- 动销次数:在一段时间内产品销售次数
- 动销天数:在一段时间内产品的销售天数
- 销售金额合计:一段时间内的销售金额
- 销售业绩环比:销售业绩好坏程度指标
库存类指标
- 期初库存金额:销售周期开始前的库存金额
- 期末库存金额:销售周期结束时的库存金额
- 库存周转率:销售周期内的销售金额/期初库存金额*100%
进货类指标
- 进货额:采购进货的金额
筛选器:筛选器中有三个部分,这三个部分作用的范围不同,此视觉对象针对的对象是当前选中的视觉对象,此页上的是针对当前页面,而所有页面上的针对的是所有页面的筛选器。
当想要同时在两个页面内同时使用相同的切片器时,可以在视图选项卡下选择同步切片器即可。
乘用车市场案例
案例中要体现的重点:1.明确自己车企的情况 2.知道自己与竞争对手车企的比较情况 3.知道自己车企不同属性的车型和市场中同属性车型 的比较情况。
销售管理分析(销售漏斗管理模型)
关系型销售运营模式:需要销售人员维持关系,销售周期长,需要与客户接触,了解客户需求,提出解决方案,每一条商机都非常重要,跟进实时的进展情况。
非关系型销售运营模式:在企业面向客户,在网站上展出商品直接面向客户,不需要销售人员维持关系,不需要销售人员维系,只需要客户自己进行选择。
电商类型是非关系模式。
关系型销售运营模式下 的销售漏斗管理模型
几乎所有的关系型销售管理模型都是销售漏斗管理模型,分为售前(获得更多的商机),售中(销售人员跟进,提高商机成功率),售后(售后服务活动良好的口碑,以便获得更多的商机)。
CRM:客户关系管理系统
销售漏斗管理模型是针对售终的阶段的模型。
华为的销售漏斗:L2C(Leads to Cash),从销售引领开始到回款为止。
IBM的销售漏斗:O2C(Opptunity to Close),从商机开始到商机成交为止。
售中:商机还为成交,不能叫订单,还是处于商机阶段。
销售漏斗模型:
先将发现潜在商业机会开始到现金回收为止的整个销售过程分为不同销售阶段。
再对每一个销售阶段进行有针对性的细致管理。
最终达到及早发现并回避潜在商机风险的目的。
尽可能降低每个阶段的销售阶段的商机流失。
数据分析要做到提前预测不同接单商机流失的风险
商机的各个指标基本都可变,故我们进行分析时存在很多困难。
一个季度的运营周期是十三周,第一周到第五周真第一阶段,第六周到第十周是第二阶段,第十一周到第十三周是第三阶段。销售周期开始前,要把商机池里的商机分配给不同的销售人员,预计签约日是一个重要指标,要选择预期签约日在周期内的商机分配给不同的销售人员。商机的总量要足够大,观测商机推进效果,销售状态对比,要根据当周和上周状态进行对比,是否向前推进,如果没动或者倒退,那么推进过程过慢。在第二三阶段时,要判断绝对的销售阶段高低,以及转化情况(处在上升阶段的商机的风险较小,转化情况较好)。分析仪要展示的主要是每周销售阶段的变化情况,以及销售阶段的占比情况。第一阶段销售经理要看的是整体的商机的走势以及各个阶段商机的占比情况。经过第一阶段剩下的商机量,要关注商机量与目标商机成单数之间的关系,过低说明在之后的所有阶段不能再有流失,过高,可能牵扯过多销售投入。如果商机量不足,我们可以新增商机量,或者筛选绝对销售阶段低的商机更换。销售经理对于是补充还是继续维持,要进行选择,这是的判断标准是商机的成交可能性(及风险)以及销售人员的能力,补充的商机是来自商机池里的商机,一般都是劣质商机,推进时间已经不足,在这种情况下是从第六周进行补充的商机。销售例会要观测商机的具体情况,及推进水平,商机风险,绝对销售阶段。
经理分为:区域经理和产品经理,区域经理关注区域内的商机,产品经理关注产品销售的商机。
商机赢单:“销售人员根据自己销售行为的进展,根据经验可以给每个阶段一个‘赢率’,即胜算的机会值,如可以给出5%、10%、20%、30%、……、95%、100%等”计算公式=成功签约的合同数/销售人员跟进的商机数
串讲
区域和表
区域到表是为了提高数据处理的效率。
添加列中产出时间对应的年龄,在添加列选项卡下找到日期,选择年限,再在转换选项卡下选择持续时间年数,再进行舍入。