cancel
Showing results for 
Search instead for 
Did you mean: 

怎样建模:连接DSO和CUBE中不同的特性

Former Member
0 Kudos

大家好!

我有一个问题,困扰了很久。

现在用户需要一张汇总可追溯报表,里面包含的信息有customer service的基本信息(service order, order status, sales order, material, plant, sold to customer, distribution channel, serial number,收货日期,技术完成日期等),还要能根据customer service order查到delivery的信息(实际发货日期、ship-to customer), 再查到notification的信息(cause text和其他)。

现在的BW系统里已经有了这些基本信息,但是存在三个不同的数据目标里:customer service是一个DSO;Delivery信息存在一个CBUE中,当然里面也包含有Sales order, material, plant, sold to customer, distribution channel 公共信息;Notification信息存在另外一个CUBE中,里面也有material, plant, sold to customer, distribution channel 的公共信息。

我的问题是怎样建模才能实现用户的需求?

首先不想再建ODS来存储delivery和Notification的信息,之前的CUBE是历史遗留问题啦,再建ODS的话,数据会出现冗余。除非没有别的方法可以解决。

另外,我已经测试过新建一个CUBE来存储这些数据,但是在transformation中的routine里不能用select语句去选Delivery和Notification 中的数据, 因为特性在CUBE中是存储维表里的,以维ID显示;

也试图想建multiprovider来实现,结果根本不是我想要的。因为multiprovider要选的是basic infoproviders中的公共特性,选择basic infoproviders不同的KF。

而对于 infoset,也试了,只是performance很差。

哪位也有遇到类似的问题,或者有什么高见?在此非常希望大家能提出自己富贵的见解!

Carina

Accepted Solutions (0)

Answers (2)

Answers (2)

Vince_Lu
Product and Topic Expert
Product and Topic Expert
0 Kudos

<assumed answered.>

Former Member
0 Kudos

hi, Carina,

为什么会出现?

很多时候, 由于各种原因,sa在设计EDW模型的时候可能没有或者未完整考虑可扩展的分析需求情况. 实际上, 在标准的企业级的BW架构中, 还有ODS数据层, 从你的描述看来, 你的报表需求应该从ODS层获取. 综合分析下你的业务需求以及现有的EDW模型, 从逻辑上也许你会发现能独立出ODS层.

怎么解决?

具体到你的问题, 考虑下面3种可能方案,

1, 在原有的customer service DSO基础上增强你需要的字段,

不是从另外2个cube直接更新, 看看cube之下的dso/psa..,

2, 利用变量实现Bex query dropdown, 就是说这些信息不在一张报表里, 但可能通过传递 customer service order参数,获取其他信息

3, 重新考虑下你的模型以及未来可能有的需求, 看看独立出ODS是否有必要, 有时候是很好的解决方案.

另外,

infoset不是好的解决方案.

create new cube更不是. 也尽量不要在你的cube里面存放detail数据.

thanks,

xwu.

Former Member
0 Kudos

xwu,

非常感谢你的建议!

之所以会出现现在这种情况,因为之前的建模不标准,好多开发者没有参照标准的BI CONTENT,还有我需要用的另外两个CUBE没有基础的ODS层。这也是问题的重点!

我会再尝试能不能新建ODS来实现。

Thanks very much.

Carina