问题描述
我想在一项作业中处理多个多维数据集 - 让我们使用示例:多维数据集 A、多维数据集 B、多维数据集 C,它们都位于同一 sql Server 上,不同客户的相似多维数据集。有没有一种方法可以轻松完成,而无需太多手动操作?例如:在 XMLA 脚本中定义多个多维数据集名称或在 ETL 作业 (SSIS) 中使用查找,这将使多维数据集名称与表中的数据匹配?或者其他方式。我只是想避免需要在 ETL 作业中重复步骤的情况(分别为每个多维数据集处理)。提前致谢!
解决方法
如果您在同一个数据库下有多个多维数据集,您可以在数据库级别本身进行处理。在这种情况下,它将处理所有的 Cube。
例如,在 AdventureWorks 示例中,有 2 个立方体:
xmla approach 提供了最简单的处理方式。如果您运行以下命令,它将处理 Analytics 数据库。
<Batch>
<Parallel>
<Process>
<Object>
<DatabaseID>AW2014</DatabaseID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
</Parallel>
</Batch>
但是,如果你的Cubes在不同的数据库下,你可以为不同的数据库生成上述xmla,并一一或并行运行(取决于数据大小/服务器容量)。