近期Office365用户升级后解决了在Power Pivot中输入中文的问题,但是同时也带来了一个新的问题就是表属性窗口默认为“查询编辑器”模式,且无法切换回“表预览”模式。
本文和您分享在这种情况下如何对源数据进行更改操作。
【导入时未进行筛选的情况】
从Excel文件导入数据到PowerPivot,
注意红色部分的信息:
- 文件名 - 记录了所抓取的Excel文件名称和位置信息
- 源表 -记录了数据所在的工作表信息(Sheet)
- 预览并筛选 - 此处我们没有进行任何筛选操作
数据导入后,我们点击“设计”-“表属性”查看
查询编辑器模式下的SQL语句:
SELECT [Sheet1$].* FROM [Sheet1$]
语句中的* 代表所有的意思,这段语句直译就是:从工作表[Sheet1$] 中选择工作表[Sheet1$] 的所有数据
按这个含义,如果源数据发生列的增减或列名变化,只要数据存放位置不变,PowerPivot就可以刷新获得最新的数据。但此处有一个小Bug,如果源数据的列发生变化,直接刷新是不能获取最新列信息的:
- 增加列:可刷新,但新增列不会出现
- 删除列:刷新出错
- 更改列名:刷新出错
遇到上述问题,我们需要打开表属性窗口,然后不进行任何操作,直接点击保存。Power Pivot会按照该SQL语句自动刷新获取最新的数据进来。
如果原始数据没有发生变化,而我们希望筛选拿掉不需要的列:
- 会SQL语句的话直接修改语句
- 不会SQL语句的话新建一个Excel文件,导入同一个文件并在导入时筛选想要的结果。导入后从表属性里复制该SQL语句并粘贴回原模型文件。
- 不修改,直接在模型中隐藏列。
【导入时已进行筛选的情况】
还有一种情况就是我们在导入时已经进行过筛选,那表属性里的SQL语句大概是这样的:
SELECT [Sheet1$].[省份],[Sheet1$].[收入] FROM [Sheet1$]
把列名逐个列出来,大家需要修改的话直接修改语句即可:
- 增加列 – 用逗号分隔,输入需要新增的列名注意是[Sheet1$].[列名] 的格式
- 减少列 – 直接找到对应的列名删除即可
如果语句很长的话可以复制到word里,通过查找功能进行修改,改好后替换回去即可。
时间: 2024-09-29 04:33:19