0

我是 SSAS 和表格模型多维数据集的新手。我有一个数据迁移任务,旨在将数据从表格模型导入 SQL Server 数据库。

我尝试过 SSIS,但没有成功。使用 OLEDB 数据源将 SSAS 实例与表格数据库连接,我配置了要执行的数据源和 MDX 命令“评估('Tabular Table Name')”。它成功返回,但只返回部分记录数(大约 1000 条)。因此,我将数据源重新配置为使用 OPENROWSET 并选择了我要查询的表格,但我总是收到与列映射相关的错误,即使列映射是正确的。

4

1 回答 1

2

好的,我建议您尝试这种方式(我使用我们的 PowerPivot 数据库进行了尝试,它与 SSAS Tabular_ 非常相似:

  1. 运行 SSMS 并连接到 SSAS 表格实例
  2. 右键单击要转储到 SQL 表中的数据库,然后选择Script -> Create to -> New Query Window。请耐心等待 SSMS 为您生成 XMLA 脚本
  3. 通过搜索 XMLA 脚本查找用于填充 SSAS 表格的 SQL 查询(关键字 = QueryDefinition)

这是我为我们的数据库得到的:

                     <Partitions>
                            <Partition>
                                <ID>factLinksSeller_484c3291-2123-4391-8627-fd4b584d1726</ID>
                                <Name>factLinksSeller</Name>
                                <Annotations>
                                    <Annotation>
                                        <Name>IsQueryEditorUsed</Name>
                                        <Value>True</Value>
                                    </Annotation>
                                    <Annotation>
                                        <Name>QueryEditorSerialization</Name>
                                    </Annotation>
                                    <Annotation>
                                        <Name>TableWidgetSerialization</Name>
                                    </Annotation>
                                </Annotations>
                                <Source xsi:type="QueryBinding">
                                    <DataSourceID>15719e99-95fb-44c1-8399-18a769ae1be4</DataSourceID>
                                    <QueryDefinition>select
                                                       *
                                                     from
                                                         dbo.factLinksFull X
                                                     where X.signaturePersonID=16
                                    </QueryDefinition>

现在您可以使用此查询通过 SSIS 将数据加载到您的 SQL Server 数据库中

即使您通过外部工具填充 Excel 文件,在将它们导入 SSAS 后,这些数据也应该存储在某个地方,因此您可以在 XMLA 脚本中检查它并决定下一步该做什么

如果您有本地 PowerPivot 工作簿并且您的内存可以处理来自这些工作簿的数据集,则存在一种更简单的方法:

  1. 打开您的 PP 工作簿,运行 PowerPivot
  2. 切换到数据视图
  3. 从您所在的选项卡中复制整个表,方法是按左上角的图标,然后按 CTRL+C 并等待数据传输到内存
  4. 将您的数据粘贴到另一个 Excel 2013 文件中,因为它们现在可以处理几乎任何大小的数据或 MS Access 表。然后将数据导入 SQL Server
于 2015-02-17T14:44:09.650 回答