SSAS - 为什么“进程更新”选项不适用于多维数据集?

时间:2014-05-05 13:07:35

标签: sql sql-server-2008 ssas olap-cube

为什么流程更新选项可用于维度但不适用于多维数据集?是否还有其他等效选项来实现多维数据集的进程更新?

感谢。

1 个答案:

答案 0 :(得分:0)

这取决于ETL中'ProcessUpdate'的主要目的。

如果仅用于添加新数据,则此选项称为“ProcessAdd”。

但是对于之前数据的一些变化 - 很难预测。您可以像这样组织一些手动处理组合(有几个附加条件:您需要知道SQL分区/表和多维数据集的SSAS分区之间的关系):

  1. 在SQL中标记每个使用过的分区/表,并添加新标记'NeedsToProcess'。
  2. 通过SSIS包获取此分区的列表。
  3. 使用每个循环来处理(通过XMLA)仅更改的分区。
  4. P.S。回答你的第一个问题是:因为这太复杂了。假设我们每天只使用MOLAP模型并处理SSAS DB一次。在SQL base充满新的(和更新的旧)数据之后,我们需要找到所有要更改的进程。所以服务器可以扫描每一行,它与ProcessFull I quess相同。或者在SQL上可能有一些隐藏的SSAS服务,它通过从DSV等处获取关系来标记已更改的行。这只是理论,但我认为这对服务器来说太难了。即使我们将“ProcessUpdate”用于一个100万个成员的维度和20-30个层次结构 - 它需要花费几分钟来处理,那么十亿行事实表将会是什么......无限......