近期Office365用戶升級後解決了在Power Pivot中輸入中文的問題,但是同時也帶來了一個新的問題就是表屬性視窗預設為“查詢編輯器”模式,且無法切換回“表預覽”模式。 本文和您分享在這種情況下如何對源數據進行更改操作。 【導入時未進行篩選的情況】 從Excel文件導入數據到PowerPiv ...
近期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里,通過查找功能進行修改,改好後替換回去即可。