[Logo] MyDWBI---致力于打造最专业的中文数据仓库,商务智能社区
  [Groups]首页  [Blog] 博客   [Search] 搜索   [Recent Topics] 最新主题   [Hottest Topics] 热门主题   [Hottest Download] 热门下载   [Members]  会员列表  
[Register] 会员注册 / 
[Login] 登入 
经常遇到的指标运算---抛砖引玉  XML
论坛首页 » Informatica
前往:   
发表人 内容
lxz123
漫步云天


初级会员
[Avatar]

注册时间: 2008-07-02 00:56:01
文章: 7
离线

项目中有些常见的指标运算 同期 累计 同期累计

同期和累计遇到的相同问题就是补全。
如原表 A
month_id ....dept.....number
200601 .......A .......100
200602 .......A .......200
200604....... A....... 300
200605 .......A....... 400
200701 .......A....... 1000
200702 .......A .......2000
200704 .......A....... 4000

目标表 B
month_id .....dept ....number ......同期 ....... 累计 ...... 同期累计

200601 ....... A .......100 ....... NULL ....... 100 ....... NULL
200602 ....... A ....... 200 ....... NULL ....... 300 ....... NULL
200603 ....... A ....... NULL ....... NULL ....... 300 ....... NULL
200604 ....... A ....... 300 ....... NULL ....... 600 ....... NULL
200605 ....... A ....... 400 ....... NULL ....... 1000 ....... NULL
200606 ....... A ....... NULL ....... NULL ....... 1000 ....... NULL
200606 ....... A ....... NULL ....... NULL ....... 1000 ....... NULL
200607 ....... A ....... NULL ....... NULL ....... 1000 ....... NULL
200608 ....... A ....... NULL ....... NULL ....... 1000 ....... NULL
200609 ....... A ....... NULL ....... NULL ....... 1000 ....... NULL
200610 ....... A ....... NULL ....... NULL ....... 1000 ....... NULL
200611 ....... A ....... NULL ....... NULL ....... 1000 ....... NULL
200612 ....... A ....... NULL ....... NULL ....... 1000 ....... NULL
200701 ....... A ....... 1000 ....... 100 ....... 1000 ....... 100
200702 ....... A ....... 2000 ....... 200 ....... 3000 ....... 300
200703 ....... A ....... NULL ....... NULL ....... 3000 ....... 300
200704 ....... A ....... 4000 ....... 300 ....... 7000 ....... 300

抛砖引玉,希望那位朋友提出一个更好的解决办法。

这篇文章被编辑了 3 次. 最近一次更新是在 2008-07-03 01:46:58

lynx286
一失足成千古风流人物!


论坛CEO
[Avatar]

注册时间: 2008-04-22 11:52:00
文章: 652
来自: 四海为家
离线

一般小的数据仓库这些都是在前台报表里面完成的,如MicroStrategy里面的“转换”可以做“去年同期”,“上月同期”等同比,环比分析。

累计值在BO和MicroStrategy里面都可以用runingsum 函数处理,不知道informatica里面有没有类似函数。

这类问题属于预处理数据汇总问题,一般适用于大型数据仓库。也是个很值得讨论的话题,希望大家各抒己见。


唯大英雄能本色,是真名士自风流.
[WWW]
zdcku
嘉颖


高级会员
[Avatar]

注册时间: 2008-05-06 22:32:12
文章: 152
来自: 江苏南京
离线

好帖!
MSTR可以很好的实现
但有些工具 比如ARCPLAN就不是很方便了(虽然也有累计函数)
希望有好的解决方法
笨的方法倒是有
遍历month_id 分别得到number ......同期
然后用变量实现两个累计的计算

学习
[MSN]
lxz123
漫步云天


初级会员
[Avatar]

注册时间: 2008-07-02 00:56:01
文章: 7
离线

zdcku wrote:好帖!
MSTR可以很好的实现
但有些工具 比如ARCPLAN就不是很方便了(虽然也有累计函数)
希望有好的解决方法
笨的方法倒是有
遍历month_id 分别得到number ......同期
然后用变量实现两个累计的计算

基本把设计的思路说出来了,但细节还需要考虑

一 补全数据是如何实现的呢。
如 200703无数据,如不补全数据。当前台选择 时间---200703 单位----A
数据库中没有这条数据,虽然200703本期无值。但是 累计和同期累计是有值的。
二 初始和增量应分开设计的

这篇文章被编辑了 1 次. 最近一次更新是在 2008-07-03 20:49:06

zdcku
嘉颖


高级会员
[Avatar]

注册时间: 2008-05-06 22:32:12
文章: 152
来自: 江苏南京
离线

可以以月度维度作源 LEFT JOIN该表
然后200703这条记录是有了 本期无值 累计和同期累计正常处理
嗯 初始和增量 分开 好处理些
初始的就没问题了 那样可以
累计和同期累计在第一个月为0 然后累计
增量时 可以使用变量存储前一个月的累计值 也可以通过LKP得到上个月的累计值 也可以。。。得到还是很容易的

学习
[MSN]
bi51

初级会员

注册时间: 2008-07-04 04:35:31
文章: 10
离线

在oracle和db2中可以使用olap function进行处理,非常方便,在数据仓库中讲这些值一次存放到粒度不同的表中通过join 和union 来得到需要的结果,不知说得对否,请大家继续讨论

这篇文章被编辑了 1 次. 最近一次更新是在 2008-07-05 03:55:54

 
论坛首页 » Informatica
前往:   

网站地图 |  联系我们 |   |  招聘版主 |  免责声明 |  意见建议 |  系统帮助 | 
Copyright © 2008, mydwbi.com, All Rights Reserved | Powered by JForum 2.1.8 © JForum Team