ssas cube分区处理问题

0
看图一图二这3个门诊度量组,用的源表都是同一个,之前不知道为什么要分开建,后来看到的那个cube构建规范,非重复计数最好分开单独创建度量组,估计因为这个哈。
但是有一点疑问,就是如果分成这3个度量组,那在cube每次执行更新处理的时候,每个度量组都会去加载一遍这个相同的源表数据么?还是cube内部会自动识别,只要查询加载一次,其他两个度量组就不用再加载这个源表了呢??这里不太明白。。。
图3图4是我按日期进行分区的,但是我只分了一个“门诊处方”,其他两个还是默认分区,这种情况,cube又是怎么处理查询的呢??分区查询先分别执行一遍,然后另外两个度量默认分区的,再完整执行一遍或两遍查询??
QQ截图20141222211802111.jpg


QQ截图20141222211853222.jpg


QQ截图20141222212026333.jpg


QQ截图20141222212156444.jpg

已邀请:
1

梁勇 - 天道酬勤、上善若水。爱好商业智能 2014-12-26 回答

可以单独处理某个分区的,只会重新加载这个分区的数据,记得选择 处理数据即可。具体的增量处理这块,参考如下
SSAS Cube优化笔记记录大全 来自天善与xpivot经典问与答 【N年经验实战分享,经典12问12答,持续更新】 http://www.flybi.net/article/311 实战分享,可以好好看看。。

理解下处理更新、处理数据、处理索引就明白啦,一般Cube处理可以使用。增量处理+ 索引处理。若系统内存有限,可考虑先 ProcessData ,然后 ProcessIndexes,而不要直接用 ProcessFull。。。

维度可以处理更新、分区可以选择处理数据,可以单独处理某一个分区的。类似与如下设置
1.jpg



处理选项和设置 (Analysis Services) http://msdn.microsoft.com/zh-C ... .aspx
处理默认值 检测对象的处理状态,进行必要的处理,将未处理对象或部分处理的对象转变成为已完全处理的对象。 多维数据集、数据库、维度、度量值组、挖掘模型、挖掘结构和分区均支持此处理选项。
处理全部 处理 Analysis Services 对象及其包含的所有对象。 对已被处理的对象执行“处理全部”时,Analysis Services 将删除该对象中的所有数据,然后再处理该对象。 如果对对象进行了结构更改(例如,添加、删除或重命名属性层次结构),则需要此类处理。 多维数据集、数据库、维度、度量值组、挖掘模型、挖掘结构和分区均支持此处理选项。
处理增量 添加新的可用事实数据并只处理相关分区。 度量值组和分区支持该处理选项。
处理更新 强制重新读取数据并更新维度属性。
处理索引 为所有已处理的分区创建或重新生成索引和聚合
处理数据 只处理数据,而不生成聚合或索引。
不处理 删除指定对象和任何低级构成对象中的数据。

简单的来说 :处理全部就是整个Cube重新处理,类似DB里面的, 全部DROP,在 INSERT.
处理增量 类似 DB 里面新增记录 (只会新增记录,做INSERT,要写一个增量的Query。这个一般用于缓慢变化维度)
处理更新:在维度的处理有这个概念,事实表没有。表示的是处理增量数据(这个日处理的时候常用的操作,不要进行全量处理),还可以生成聚合和索引。
处理索引 : 重新生产聚合和索引,是Cube性能达到最优
处理数据: 在维度表 和事实表都有这个概念,也是处理增量数据的意思,但跟处理更新区别是 这个不生产聚合 和索引,在度量值组经常用处理 数据就可以啦。


CUBE增量处理疑问 http://www.flybi.net/question/5692 这两篇文章可以好好看看

要回复问题请先登录注册