1.计算字段基础
概念、类型、创建、使用、编辑
概念
计算字段是根据数据源字段(包括维度、度量、参数等等),使用函数和运算符来构造公式,从而定义的字段。
跟其他字段一样,计算字段也能拖放到各个功能区里面来构建视图,还能构建新想计算字段。
计算字段的返回值分为数值型、字符型等等。
打开“全球超市订单数据.xlsx”
如果创建了一个新的计算字段,计算字段会加入数据源字段中。
类型
计算字段有三种类型
- 基本计算字段。对日期、数值和字符进行常规操作。
- 详细信息级别表达式,又称为LOD。
- 表计算。
创建和使用
在工作表1,创建基本计算字段【成本字段】。
成本是销售额-利润。
【分析】——【创建计算字段】。
还有种创建计算字段方式是在【度量】下的空白处右击【创建计算字段】。
修改计算字段名称为【成本】,将【销售额】拖入,输入-,将【利润】拖入,点击确定。
可见计算字段对话框里有“计算有效”,如果有错,会红色提醒。
双击【国家/地区】,将【成本】拖到【颜色】。
修改【成本】颜色。
【成本】下拉三角——【度量】——【平均值】。
创建有逻辑关系的基本字段——【盈利标志】
盈利标志就是如果利润>0,则盈利;利润< 0 ,则亏损。
【度量】下的空白处右击【创建计算字段】
计算名称为“盈利标志”
逻辑关系为
IF SUM([利润])>0 THEN "盈利"ELSE "亏损"END
注意:
- 表达式单词最好使用大写字母。
- 不分行也可以运行,鼓励分行,这样逻辑比较清晰
- IF语句里必须要有END,否则会报错。
计算字段对话框的右边给出了解释和示例。
点击【确定】,创建了【盈利标志】字段。
回到【数据源】,可以看到有【成本】和【盈利标志】字段。
复制工作表1 ,拖走【成本】,将【盈利标志】拖到【颜色】上。
编辑
右击【盈利标志】——【编辑】,可以编辑计算字段。
2.粒度、聚合与比率
粒度
新建工作表,创建散点图。
将【利润】拖到【列】,将【销售额】拖到【行】,将【市场】拖到【颜色】。
粒度概念源于散点图,表示数据的颗粒浓度。
将【国家/地区】放到【详细信息】里,发现粒度更浓。
要显示最大浓度,则点击【分析】——【聚合度量】,显示数据源每条记录的利润与销售额的关系。
聚合
聚合分两种
- 度量聚合
- 维度聚合
度量聚合
多数使用的是度量聚合。
新建工作表4,将【利润】拖到【列】,【总和(利润)】里的总和就是对利润的度量聚合。
点击下拉三角——【度量】,可以见到各种度量聚合。
维度聚合
将【产品ID】拖到【列】中。
点击下拉三角——【度量】,可以见到4种度量聚合。
默认聚合
可以设置默认聚合属性。
右击【利润】——【默认属性】——【聚合】,选择聚合方式,则下次聚合时自动更新默认的聚合方式。
比率
右击【维度】下【类别】——【分层结构】——【创建分层结构】,命名为类别。
将【子类别】和【行ID】拖入到【类别】下边。
创建计算字段【利润/销售额】如下:
创建计算字段【sum(利润)/sum(销售额)】如下:
比较利润/销售额 和sum(利润)/sum(销售额)的区别
将【度量名称】拖到【筛选器】,勾选如下,点击【确定】。
将【度量名称】放到【列】,将【类别】放到【行】,并下钻到【子类别】。
选择视图为【适合宽度】。
将【度量值】放到【文本】。
调整【度量值】下三个字段的顺序如下:
下钻【行】里的【子类别】到【行ID】。
右击【度量值】下的【总和(利润/销售额)】——【设置格式】,修改数值格式为百分比。
右击【度量值】下的【聚合(sum(利润)/sum(销售额))】——【设置格式】,修改数值格式为百分比。
可以发现在下钻到【行ID】时,利润/销售额)=sum(利润)/sum(销售额)
但在【子类别】这个层级,就发现利润/销售额)不等于sum(利润)/sum(销售额)。
为什么不相等?因为聚合方式不同。利润/销售额是对每个行ID的利润/销售额的比率求和,是先算行ID的比率,再求和。
sum(利润)/sum(销售额)是先对利润求和,销售额求和,在两者相除,这才是正确的比率。
所以在计算比率的时候,一定要注意聚合方式。
3.详细级别表达式
详细级别表达式是稍微复杂点的计算字段。
查看数据
新建工作表5。
双击【国家/地区】。
将【利润】拖到【颜色】,将【利润】拖到【标签】。
右击颜色和标签的【总和(利润)】——【度量】——【平均值】。
右击标签的【总和(利润)】——【设置格式】,在【货币(自定义)】里,修改小数位数为0,前缀里输入“美元”符号(用搜狗输入法打出美元两字,会出现美元符号)。
查看数据。悬浮在阿根廷国家上面,点击【查看数据】标志,或右击阿根廷国家地区——【查看数据】。
点击【摘要】,可以看平均值。
点击【完整数据】,可以看详细值。
数据里计算产品的利润平均值,是按照每个订单的产品价格总和/产品数量计算的,但是忽略了产品类型。
比如1支笔是1美元,1个手机是99美元,计算利润平均值是50美元。但实际上两者类型不一样,应该按产品类型计算,平均收入应该是100美元。
创建详细级别表达式
复制工作表5,重名为“平均每单利润”。
一是需要汇总每笔订单利润。
二是对所有国家和地区取平均。
汇总每笔订单利润
在【度量】下空白处右击【创建计算字段】,计算字段名称为“订单利润”
详细级别表达式为{INCLUDE [订单 ID]: SUM([利润])}
其中
- 详细级别表达式是涵括在{}里面的。
-
INCLUDE
为关键字 -
[订单 ID]
是对应的维度。 - : 是对详细级别的声明。
-
SUM([利润])
为表聚合表达式。
将【平均值(利润)】的颜色和标签拖走。
将【订单利润】拖到【颜色】和【标签】上。
右击颜色和标签的【总和(订单利润)】——【度量】——【平均值】。
可见阿根廷的平均利润有所变化。
FIXED和INCLUDE区别
详细级别表达式有三个关键字:
- INCLUDE:在其他任何维度的基础之上使用指定的维度计算。
- FIXED:使用指定的维度计算值,不参考视图中的其他任何维度。
- EXCLUDE :忽略指定的维度,即使在视图中使用了该维度也是要被忽略。
同样计算订单利润,对法国和比利时,使用FIXED进行计算,得出的值是不管对于哪个国家,只根据订单ID计算所有产品的利润,法国和比利时的订单利润是一样的。
使用INCLUDE,是针对法国和比利时,对同一个订单分别进行计算,分出相应的利润值。
4.表计算
表计算包括两种:
- 快速表计算
- 自定义表计算
4.1快速表计算
复制工作表4,重命名为【快速表说明】。
右击【利润】——【创建】——【计算字段】。
命名为【利润2】,点击【确定】。
右击【度量名称】——【编辑筛选器】,勾选【利润2】和【销售额】,点击【确定】。
调整【度量值】下各字段的顺序,将【利润】和【利润2】放在一起。
可见快速表计算的字段如下
- 汇总
- 差异
- 百分比差异
- 合计百分比
- 排序
- 百分位
- 移动平均
- 复合增长率
- 年度同比增长
- YTD总计
- YTD增长
汇总
右击【利润2】——【快速表计算】——【汇总】
【总和(利润2)】出现三角符号,说明进行了表计算。
【汇总】的意思就是累加。
差异
右击【利润2】——【快速表计算】——【差异】。
差异默认是当前值减去上面的值。
右击【利润2】——【相对于】,可以计算是相对于上一个、下一个、第一个或最后一个的差异。
百分比差异
右击【利润2】——【快速表计算】——【百分比差异】
右击【利润2】——【相对于】——【第一个】
这样得出的就是每个值减去第一个值,然后再除以第一个值,从而得出的百分比。
合计百分比
右击【利润2】——【快速表计算】——【合计百分比】
就是所有值相加求出总和,然后用当前值除以总和。
排序
右击【利润2】——【快速表计算】——【排序】
按从大到小的顺序进行排名。
百分位
右击【利润2】——【快速表计算】——【百分位】
按从大到下的顺序排名,最大的是100%,最小的是0%,其他的按照排名的线性比例分隔。
移动平均
右击【利润2】——【快速表计算】——【移动平均】
移动平均一般用于股票市场上,默认三个值相加的平均值,下面计算就是当前值和当前值上面两个值相加的平均值。
其他
【复合增长率】和【年度同比增长】是和时间相关的,用到的不多。
4.2自定义表计算
真正从事数据分析的人才能用的上【自定义表计算】。
做一个利润按月移动的平均值。
新建工作表7。
右击空白,【创建计算字段】,字段名为【按月移动平均值】,右侧提示选择【表计算】
左侧输入公式WINDOW_AVG(SUM([利润]),-2,0)
SUM([利润])
是表达式,
-2,0
是从当前值开始往上两个值。
点击【默认表计算】
选择【订购日期】和【订购日期 月】,点击【确定】。
可见计算字段里多了一行字,点击【确定】。
将【度量名称】移到【筛选器】,点击【无】,勾选【利润】和【按月移动平均值】,点击【确定】。
将【度量名称】拖到【列】,将【订购日期】拖到【行】,将【度量值】拖到【文本】。
点击【行】里的【订购日期】,选择【月】。
右击【总和(利润)】——【快速表计算】——【移动平均】,可见两列的值是相等的。
右击【总和(利润)】——【清除表计算】。
创建参数
创建参数,从而动态的调整平均值。因为现在只能看3个月的平均值,但我们想看2个月、4个月或其他个数月份的平均值,就像需要参数。
右击空白处——【创建参数】。
参数名称是【N月移动平均】,选【整数】【2】【自动】,选择【范围】,最小值为1, 最大值为12,步长为1, 点击【确定】。
右击【按月移动平均】——【编辑】。
将公式里开始值2去掉,将参数【N月平均移动】拖入,点击【确定】。
右击【N月移动平均】——【显示参数控件】,在右侧显示了显示参数控件,可移动按钮,选择移动月数。
注意,显示参数控件下面显示的数字是从当前值往前推N个月,如果显示4,则往前推4个月,加上当前值,共5个月的平均值。
显示参数控件的数字调整为2,右击【总和(利润)】——【快速表计算】——【移动平均】。可见两列的值是相等的。