2016-07-05 76 views
0

你好。所以我正在使用PowerPivot的查詢編輯器。我在PowerPivot窗口中有兩個表格,我正在使用表格屬性選項卡中的查詢編輯器進行編輯。這些表具有不同數量的列,它們具有相同的一些列,每列包含唯一的列。他們共享的列具有相同的標題名稱。我想將一個表格放在另一個表格的頂部,同時將新列添加到原始表格中。組合具有不同列數的表格,其中一些具有相同標題名稱。

For example:<p></p> 
 
<table><i>TableA</i> 
 
    <th>Col1</th><th>Col2</th><th>Col3</th> 
 
    <tr><td>A</td><td>B</td><td>C</td> 
 
    </tr> 
 
    </table><p></p><table><i>TableB</i> 
 
<th>Col1</th><th>Col2</th><th>Col4</th> 
 
    <tr><td>D</td><td>E</td><td>F</td> 
 
    </tr> 
 
    </table><p></p> 
 
<table><i>Combined</i> 
 
    <th>Col1</th><th>Col2</th><th>Col3</th><th>Col4</th> 
 
    <tr><td>A</td><td>B</td><td>C</td><td>-</td> 
 
    </tr> 
 
    <tr><td>D</td><td>E</td><td>-</td><td>F</td> 
 
    </tr> 
 
    <tr> 
 
    
 
    </table> 
 
<p></p>

示例代碼:

SELECT tableA.col1, tableA.col2, tableA.col3, NULL AS col4 
FROM [tableA$] 
UNION 
SELECT tableB.col1, tableB.col2, NULL AS col3, tableB.col4 
FROM [tableB$]; 

我看到用NULL作爲以彌補缺少的列(S)後,但一旦我在我添加它獲取「未檢測到列」錯誤消息。實際上,我正在使用幾十張從15到70多不等的列,以及從300到350k的行,這就是爲什麼我要使用PowerPivot。

我通過創建與工作表的連接將我的工作表導入PowerPivot。

P.S.我是PowerPivot和查詢編輯器的新手。感謝您提前提供任何幫助。

回答

1

我會用電源查詢外接此。在Excel 2016中,Power Query包含在數據功能區中作爲獲取&轉換

連接到您的數據庫並選擇2個表格。更改加載到默認爲僅創建連接,並取消選中將此數據添加到數據模型。這將創建2個查詢。

然後創建一個由3次查詢右鍵單擊在工作簿查詢窗格中的第一個查詢和選擇追加。選擇第二張桌子,你可能就要完成了。查詢編輯器將預覽結果,您可以根據需要刪除或重命名列。

對於第三查詢,更改負載要設置爲只有創建連接,檢查此數據添加到數據模型

除了不需要編碼和維護複雜的SQL,Power Query爲您的數據模型添加了一層絕緣層。您可以自由地包含來自其他來源的數據,例如文件,網絡服務 - 您不再侷限於單一連接。

+0

謝謝!我能夠附加電子表格。然而,有一個問題,連接是否會將100萬行限制作爲正常的電子表格?我試圖使用PowerPivot(分析數據除外)的原因是它可以在數據模型中顯示所有數據。 – Brendan

+0

不,只要您不選擇Load To/Table,那麼它只受正常的Power Pivot限制(即可用內存)的限制,如果您正在運行32位Office,則限制在大約3GB。 –

0

您應該從第二刪除該別名選擇

SELECT tableA.col1, tableA.col2, tableA.col3, NULL AS col4 
FROM [tableA$] 
UNION 
SELECT tableB.col1, tableB.col2, NULL , tableB.col4 
FROM [tableB$];