在Excel中,我们可以对一份原始数据通过数据透视表进行深入的分析处理,从而生成所需的数据报告,反之,如果有数据已经是“透视”(pivoted)的,如果对其进行反向的操作呢?Power Query编辑器中便有这样一个功能来帮助我们。
在上一期中,我们通过Power Query编辑器对数据进行了一系列的转换,在Excel中得到如下的数据表格,不过此数据表格的最后5列是关于评分的数据,对于我们做进一步的数据分析还是有困难的,因其当前的格式为“透视”的情况,而我们所要用来分析的数据并非此种格式,故需要我们对其进行转换,使得当前作为列标签的“5、4、3、2、1”等在同一列中。
通常情况下,我们的原始数据可能都是如下图中所示的,月份的时间都是在同一列中;为了更好地查看相关数据,可能会对此月份的数据进行透视,以便对比每个月的数据。
回到上面Evaluations数据表中,我们所要做的就是将后面5列进行“逆透视”(unpivot),以获得相关数据,便于我们分析数据。
双击“Evals”查询,进入Power Query编辑器。首先我们需要选择所要逆透视的列,或者选择不需逆透视的列。比如,我们在此例中要逆透视的是最后5列,可以选择后5列,再点击“逆透视列”的第一个功能选项;或者选择前3列(无需逆透视),再点击第二个功能选项“逆透视其他列”。
逆透视操作后,得到如下新的数据表格。
在M代码编辑栏更改“属性”标签为“Rating”,将“值”列删除。
“关闭并上载”以上更新的数据查询到Excel工作表中,我们即可获得更新后的数据表格。
对此更新的数据表格,我们进一步做数据分析:点击Evaluation Report工作表,在其C4单元格上,插入一个数据透视表,数据源即为以上更新的数据表Evals。
将“Question”字段拖到行区间,“Rating”字段拖至值区间,默认“Rating”显示的是计数项,鼠标右键更改其“值汇总方式”为“平均值”,结果返回一个DIV错误。
经初步分析判断,出现错误的原因应该是“Rating”列的数据类型非数字型,回到其对应的数据查询中,发现“Rating”列的数据的确是“文本”,所以我们将其改为“整数”。
再次“关闭并上载”此查询,回到Excel的Evaluation Report工作表中,刷新插入的数据透视表后,不再出现错误。
调整“Rating”的数字格式,保留小数点后两位即可。
对行标签“Question”进行筛选,仅显示“包含”trainer的数据。
在“数据透视图分析”选项卡下,添加筛选后的数据透视表对应的数据透视图。
简单调整一下透视图的格式与设计:不显示“图例”和“字段按钮”,添加合适的图表标题,选择合适的样式等。
完善此图的标题,点击B1单元格,在编辑栏中,后加上一个连接符“&”以及Evaluations工作表中A4单元格的文本数据,相应的课程名。
至此,我们完成了一个从数据处理到制作图表的这样一个数据分析过程,那问题来了,以上使用的查询,能否重复利用,即只需更改数据来源,通过同样一系列查询的步骤,一步到位即可完成数据分析过程,并生成所需的数据图表?答案是肯定的。
再次回到Evals查询中,点击其步骤的第一步“Source”,即可有不同的方式来更改数据的来源:第一是编辑M代码,第二是“主页”选项卡下的“数据源设置”,第三十点击“Source”右侧的设置按钮,然后选择数据源即可。
有话要说...