壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 366|回复: 0

解决关于FM时间维度排序错乱的问题

[复制链接]
发表于 2012/3/16 15:05:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
有一个问题在论坛里频繁出现:Framework Manager里的时间维度排序显示正确,但用lag,lead取出的结果顺序是乱的,如下图

这个问题的根源就出在日期维度的最底层day,很多时候开发人员喜欢用date格式的day做 _business key、并排序。
解决方法如下:
1、数据格式:采用字符串格式的 Day_key、Month_key和Year_key为主键、也作为first排序键
如 (20120215,201202,2012),对应的属性为 (Feb 15,2012 12:00:00AM,02,2012年)
至于怎么转换,可根据数据库类型的函数来处理,如Oracle用 to_char(cur_date,'yyyymmdd')即可得到day_key

2、维度year设置:

month设置

day设置,这里day_date是日期格式,role不设置,Day_key为_business key/_memberCaption

3、排序是最关键的一步,请看图中红色部分:Always Olap commpatible,Day_key一定要设置为 First,month_key同理。

将Key设置为First
6、RS运行的效果,取2005年的后一年,即2006年

结果显示是正确的。
  一般情况下,在tree里显示是正确的,也许有些开发人员没有主意到这个问题。但我们用lag,lead等多维函数计算同比、环比、累计运算的时候,就会出现数据问题。希望这个小知识点能给大家带来帮助,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 16:38 , Processed in 0.010269 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表