我有一个'员工'每天都会更改(修改)的维度,我在多维数据集中创建每月分区,只处理当前月份分区。最近发现过去一个月的聚合不会被删除。厌倦了'ProcessUpdate'在这个维度和' ProcessIndex'在分区但保持相同。还尝试了设置' ProcessAffectObjects' ProcessIndex'再次,仍然相同,尝试lazyprocessing true和false没有运气。 所以我的问题是如何在过去一个月中删除陈旧的聚合并明确重建它们? 它是一个独特的计数测量,没有通过向导设计的聚合
尝试使用' ProcessClearIndexes'删除索引。在XMAL命令中,它工作正常并使用' ProcessIndexes'确实重建了索引和聚合,从SSMS查询执行消息中看到它们。
那么它可能只与非重复计数有关,只是因为它是非聚合测量?
"非附加措施会在典型的OLAP系统上产生以下问题: 卷起是不可能的。在多维数据集处理期间预先计算结果时,系统无法从其他摘要中推导出摘要。必须根据详细数据计算所有结果。这种情况给处理时间带来了沉重的负担。 必须预先计算所有结果。使用非附加度量,无法从一个预先计算的聚合中推断出更高级别的摘要查询的结果。未能提前预先计算结果意味着结果不可用。无法执行和维护系统的增量更新。添加到多维数据集的单个事务通常会使先前预先计算的结果的大部分无效。为了从中恢复,需要完全重新计算。"
"聚合 如前所述,DISTINCT COUNTs不是附加的(这是这些措施如此成问题的主要原因)。因此,聚合(均来自附加运算符)完全没用;"
有人在MSDN上回答了我的问题
答案 0 :(得分:0)
如果使用实体化参考尺寸,请确保执行ProcessFull以再次完全重新处理事实表。原因是中间维度的连接发生在度量值组分区处理查询中: http://sqlblog.com/blogs/alberto_ferrari/archive/2009/02/25/ssas-reference-materialized-dimension-might-produce-incorrect-results.aspx