2013-02-15 52 views
0

在SSAS上构建多维数据集时,我遇到了一个奇怪的问题。我有一个事实表,让我们说FactActivity。然后我有一个DimActivity维度,它与这个事实有1对1的关系,并且所有的外键都与维度绑定。因此,日期维度,产品维度等都绑定到DimActivity。构建整个SSAS多维数据集不起作用,按维度构建维度 - 构建顺序?

当我构建整个立方体时,它似乎是在维度之前构建事实,因此它给了我错误。但是,如果我在事实之前手动构建维度,它就可以工作。

SSAS中是否有任何地方可以配置构建顺序,而不是使用Analysis Services处理任务从SSIS执行此操作?

非常感谢!

+0

在你上面说“当我建立整个立方体”。我认为你需要更精确,因为这可能有很多意义。 – 2013-02-18 03:36:25

回答

0

对于其他人谁遇到类似的问题....

我之所以越来越偶尔多维数据集处理失误,是清爽的是在同一时间发生的事情 - 由于计划每小时进口。

我现在正在使用日志来查看SSIS包正在运行。在导入活动时,我在该表中插入了一条记录,并显示“正在运行”状态。

在处理多维数据集之前,我有一个信号量来检查此表中是否有数据导入并具有“正在运行”状态的记录。如果当前没有导入,我只允许刷新多维数据集。当多维数据集正在处理时,导入也会有信号量,并且不会开始导入,除非当前没有多维数据集处理正在“正在运行”。

执行此逻辑后,处理多维数据集时我从来没有收到任何错误。

1

处理多维数据集不会处理与其相关的维度,因为它们在SSAS中构建为单独的实体。在实践中,这意味着一个维度可以存在,被处理和访问,而不会与多维数据集有关系。

有没有这样的事情作为“一般构建命令来配置”。您应该决定如何处理AS对象。有很多工具可以帮助实现这一点,他们都会做同样的事情:构建XMLA脚本以在AS服务器上运行。

  1. SSIS:Analysis Services处理任务
  2. 配置SQL代理作业。
  3. 使用SSMS执行手动过程。
  4. 使用AMO
  5. ...

重要计划你的处理活动,是,你应该处理您的维度您处理多维数据集之前。一个简单的解决方案是处理整个SSAS数据库(包含您的立方体和尺寸)。这样,SSAS将在处理立方体之前自动处理尺寸。

Documentation on processing Analysis Services objects

+0

我通过使用SSIS处理任务来绕过它,但认为BIDS中的某些应该可以对其进行配置。 – Mez 2013-02-15 14:01:10