运算表格怎么做

圈圈笔记 88

链接回表是PowerPivot常用的一种DAX查询模型数据表信息的方式,不仅能把查询到的信息载入Excel工作表中,而且查询出来的表还可以当作工作表中的表再次引入Excel数据模型,与原有模型内的表格搭配使用。

示例:使用链接回表创建考勤底表

统计员工考勤是一种常见的管理需求,考勤统计中的主要难点在于考勤数据记录中缺勤记录的不确定。一般情况下,当纳入考勤统计的人员花名册确定时,需要结合考勤周期(通常是自然月)的天数,先绘制一张人数为行数、日期为列数的二维统计表,然后把结果逐项填入,确保统计完整,如图17-101所示。

图17-101传统考勤表统计布局

众所周知,这种表格数据结构不仅不符合数据透视表的数据源结构,而且效率很低,也不能和考勤机的原始数据进行快速匹配。但如果能够获得一张以人数结合天数为总行数,并且包含所有人员工号与日期组合的一维表来作为统计基本考勤信息底表,那么通过数据透视表即可获得最终的统计效果,如图17-102所示。

图17-102每一个工号根据天数获得相应行数的底表记录

在传统的Excel处理方式中,要想取得图17-102中的考勤底表是一个难点。下面介绍使用链接回表的方式来快速生成考勤底表,具体操作步骤如下。

步骤1将准备好的日期表添加到数据模型,如图17-103所示。

图17-103将日期表添加到数据模型

步骤2在【PowerPivotforExcel】窗口中,单击【开始】→【从其他源】按钮,在弹出的【表导入向导】对话框中选择【Excel文件】命令,单击【下一步】按钮,在【友好的连接名称】文本框中输入花名册,选择目标文件17.22使用链接回表创建考勤底表的花名册所在路径,选中【使用第一行作为列标题】复选框将花名册工作表中的信息添加到数据模型,单击【下一步】按钮,如图17-104所示。

图17-104外部获取花名册信息

步骤3在【表导入向导】对话框中单击【预览并筛选】按钮,在【预览所选表】中单击【状态】下拉按钮,取消选中【离职】复选框,单击【确定】按钮,在此处使用【预览并筛选】功能既能减少数据的载入,提升效率,又能过滤【花名册】中【状态】为离职的人员信息,最后单击【完成】按钮,如图17-105所示。

图17-105【预览并筛选】功能

步骤4数据导入成功后,单击【关闭】按钮向PowerPivot载入花名册工作表中的数据信息,如图17-106所示。

图17-106向PowerPivot载入数据

步骤5新建一张Excel工作表,选择【数据】选项卡,单击【现有连接】按钮,在弹出的【现有连接】对话框中选择【表格】选项卡,在【新花名册】选项区域选择【花名册】选项,单击【打开】按钮,在弹出的【导入数据】对话框中单击【确定】按钮,将模型中的表以链接表的形式载入工作表中,如图17-107所示。

图17-107从模型中加载一个链接回表到工作表环境

完成后获得一个花名册的链接表副本,如图17-108所示。

图17-108创建初始链接回表

步骤6此时载入的花名册虽然还不是目标的考勤底表,却具有一项很特殊的功能即可以通过编辑DAX语言来调整内容的返回,这是链接回表最重要的步骤。鼠标右击当前表格中的任意一个单元格(如B2),在弹出的快捷菜单中执行【表格】→【编辑DAX】命令,在弹出的【编辑DAX】对话框中单击【命令类型】右则的下拉按钮,在下拉列表中选择【DAX】选项。并在【表达式】中输入:

Evaluate

GENERATE(SUMMARIZE(花名册,[工号]),日期表)

单击【确定】按钮获得所需的考勤底表,如图17-109所示。

图17-109对链接回表进行DAX编辑

表达式解析:

Evaluate是必需的声明语句,可以使用换行或空格将具体的DAX表达式隔开。GENERATE语法如下。

GENERATE(table1,table2)

将两个列表进行组合运算,返回两个表的交叉连接表。

SUMMARIZE语法如下。

SUMMARIZE(Table,[GroupByColumnName1],…,[Name1],[Expression])

创建按指定列分组输入表的摘要。此处花名册的信息较多,而且可能存在工号重复出现的情况,因此将【花名册】表按照工号字段汇总来获得单独的工号列表,以便参与交叉连接计算。

提示:这种将两个列表信息进行交叉连接的计算方式也被称为笛卡儿积运算。

END

上一篇:

下一篇:

  推荐阅读

分享