将具有不同列数的表组合在一起,其中一些具有相同的标题名称

你好。 所以我正在使用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 AS来弥补缺失的列的post,但是一旦我添加它,就会得到“无列检测到”错误消息。 实际上,我正在使用几十张从15到70多不等的列,以及从300到350k的行,这就是为什么我要使用PowerPivot。

我通过创build连接到工作表导入我的表到PowerPivot。

PS我是新的PowerPivot和查询编辑器。 提前感谢您的帮助。

我会使用Power Query加载项。 在Excel 2016中,Power Query作为“ 获取和转换”包含在数据function区中。

连接到您的数据库并select2个表。 将“ 加载到”默认为“ 仅创build连接” ,然后取消选中“ 将数据添加到数据模型” 。 这将创build2个查询。

然后通过右键单击“ 工作簿查询”窗格中的第一个查询并select“ 追加”来创build第三个查询。 select第二张桌子,你可能刚刚完成。 查询编辑器将预览结果,您可以根据需要删除或重命名列。

对于第三个查询,将“ 加载到”设置更改为“ 仅创build连接” ,然后选中将此数据添加到数据模型

除了不需要编写和维护复杂的SQL,Power Query还为数据模型添加了一层绝缘层。 您可以自由地包含来自其他来源的数据,例如文件,Web服务 – 您不再局限于单一连接。

您应该从第二个select删除别名

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