CUBE增量处理疑问

0
1.先处理维度
有以下几个处理选项: 处理默认值,处理全部,处理数据,处理清除,处理添加,处理索引,这个几个选项分别是什么意思,有什么不同?
哪个处理选项可以防止出现以下错误:
因为存在纬度变化什么的,如果只处理添加,会有的事实数据没有关联的纬度,就会报错
2.处理CUBE
如果我想每次全部处理一个度量值,应该选择处理全部,还是和理数据,还是处理默认值?
如果一个度量值只需要处一新增加的,比如新增加的数据有一个状态标志,status=1,每次只处理
状态为1的数据,应该怎么选择,我选择了处理增加然后在设置中选择查询,输入类似如下的语句:
SELECT * FROM FACTSALE WHERE AND STATUS_A=1 。
可是我经常会出现如下错误(出错后我运行包,发现出错的都是在增量更新的度量值上):
多维数据集增量处理,错误
[Analysis Services 执行 DDL 任务] 错误: 元数据管理器中存在错误。
由于未经处理,导致为 FactSale201402 partition 指定的进程类型无效。

已邀请:
2

梁勇 - 天道酬勤、上善若水。爱好商业智能 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性能达到最优
处理数据: 在维度表 和事实表都有这个概念,也是处理增量数据的意思,但跟处理更新区别是 这个不生产聚合 和索引,在度量值组经常用处理 数据就可以啦。



疑问:因为存在纬度变化什么的,如果只处理添加,会有的事实数据没有关联的纬度,就会报错
答案:维度选择处理更新、事实选中处理数据,一般都先处理维度,在处理事实表的,这样弄就不会错误啦,如果确实找不到属性建的错误,可以忽略此错误。


疑问:如果我想每次全部处理一个度量值,应该选择处理全部,还是和理数据,还是处理默认值?
如果一个度量值只需要处一新增加的,比如新增加的数据有一个状态标志,status=1,每次只处理
状态为1的数据,应该怎么选择,我选择了处理增加然后在设置中选择查询,输入类似如下的语句:
SELECT * FROM FACTSALE WHERE AND STATUS_A=1

答案:选择处理数据就可以啊。 如果新添加的数据,选择 处理新增就可以,写对应的增量SQL,参考下上面的讲解


以上设置,有一块会遇到问题,是引用维度的时候 ,如果用引用维度啊,想要解决数据丢失问题,可以做如下设置

2_(2).jpg
0

天涯0403 2015-04-23 回答

您好,
对于错误
[Analysis Services 执行 DDL 任务] 错误: 元数据管理器中存在错误。
由于未经处理,导致为 FactSale201402 partition 指定的进程类型无效。

您最后怎么处理的呢?我做多维数据集增量处理也遇到此问题,不知道怎么解决。

要回复问题请先登录注册