SSAS:更新维度赢得';t删除聚合过程索引赢得';t重建聚合

SSAS:更新维度赢得';t删除聚合过程索引赢得';t重建聚合,ssas,aggregation,dimension,Ssas,Aggregation,Dimension,我有一个“Employee”维度,每天都会更改(修改),我在多维数据集中创建了每月分区,并且只处理当前月份的完整分区。最近发现,上个月的汇总不会被删除。厌倦了在这个维度上使用“ProcessUpdate”和在分区上使用“ProcessIndex”,但保持不变。还再次尝试设置“ProcessAffectObjects”和“ProcessIndex”,仍然相同,在lazyprocessing true和false上都尝试了,但没有成功。 所以我的问题是,如何删除上个月过时的聚合并显式地重建它们? 它

我有一个“Employee”维度,每天都会更改(修改),我在多维数据集中创建了每月分区,并且只处理当前月份的完整分区。最近发现,上个月的汇总不会被删除。厌倦了在这个维度上使用“ProcessUpdate”和在分区上使用“ProcessIndex”,但保持不变。还再次尝试设置“ProcessAffectObjects”和“ProcessIndex”,仍然相同,在lazyprocessing true和false上都尝试了,但没有成功。 所以我的问题是,如何删除上个月过时的聚合并显式地重建它们? 它是一个独特的计数度量,没有通过向导设计的聚合

尝试在XMAL命令中使用“ProcessClearIndexes”删除索引,效果很好,使用“ProcessIndexes”确实重建了索引和聚合,从SSMS查询执行消息中看到了它们

那么,它可能仅仅因为是一个非聚合度量而与不同的计数相关吗

“非附加措施会在典型的OLAP系统上产生以下问题: 不可能进行汇总。在多维数据集处理过程中预计算结果时,系统无法从其他摘要中推断摘要。所有结果都必须根据详细数据进行计算。这种情况会给处理时间带来沉重负担。 所有结果都必须预先计算。使用非累加性度量,无法从一个预先计算的聚合中推断更高级别的摘要查询的结果。未能预先计算结果意味着结果不可用。无法对系统执行和维护增量更新。单个添加到多维数据集中的nsaction通常会使以前预计算的结果的大部分无效。为了从中恢复,需要进行完整的重新计算。”

“聚合 如前所述,不同的计数是不可加的(这是这些度量如此有问题的主要原因)。因此,所有从加法运算符派生的聚合是完全无用的;”

有人回答了我关于MSDN的问题


如果使用物化引用维度,请确保执行ProcessFull以再次完全重新处理事实表。原因是到中间维度的连接发生在度量值组分区处理查询中:

你为什么认为聚合过时了?您在查询中得到的总数是否有误?或者你只是说磁盘上的agg文件不会随着每次ProcessUpdate而改变?不同的计数结果是错误的,我只是每晚处理当月的分区。当员工更改其所在城市时,不会更改上个月的分区。那么在使用“Employee”维度时,不同的计数编号是错误的。为了得到正确的结果,我必须对这些分区进行完整的处理。但事实数据在我们的例子中是固定的,因此不需要处理数据,只需重建聚合即可。但是从我上面复制的一些文章来看,这些聚合对于不同的计数是无用的,所以现在我正在研究解决方案,以便在night job中完全处理这些分区。如果您所做的只是ProcessClearIndexes,那么ProcessIndexes,这修复了不准确的总数,那么这就是一个bug。您是否已更新到最新的service pack?SSA不应该返回错误的号码。对不起,我没说清楚。我刚才说'ProcessClearIndexes'确实清除了聚合,但是当使用'processindexes'重建聚合时,结果是相同的,不正确。那么这个问题与ProcessIndex或聚合无关。SQL中事实表或维度中的某些值必须已更改。如果整个数据库上的ProcessFull解决了这个问题,那就是你的罪魁祸首。链接解释了一切,我想删除“物化”设置,你以前试过吗,性能有多差?目前,我们在处理旧分区方面遇到了困难,这肯定会在服务器上添加更多内存。如果不具体化引用关系,查询性能肯定会更差。另一个选项是将中间标注和参照标注合并为一个标注。然后ProcessUpdate将完成您想要的。删除“Materialize”将得到正确的数字!但正如所说的,性能很差。我有很多关系,比如“雇员->国家”,“雇员->地区”,“雇员雇员类型”。。。。。有些员工可能会改变他/她的国家,我如何才能将他们合并为一个呢?如果你看看AdventureWorks中的产品维度,它就像雪花一样。您只需在维度设计器中将多个相关DSV表添加到画布中。