互联网服务 数据库商业智能

【结贴】事实表中只有月份,怎么按照季度和年进行汇总

如题,我的数据库中的事实表中的时间字段只有月份一个字段,需求要按照月份,季度和年三个频度分别进行汇总,这个怎么弄呢,求给个思路
参与7

6 同行回答

fengjia_922 fengjia_922 软件开发工程师 华中
也是这样整显示全部
也是这样整 收起
互联网服务 · 2012-10-31
浏览357
hikeplayguitar hikeplayguitar 研发工程师 山东城市商业银行联盟
回复 4# 369873158     水平有限,没看出什么问题显示全部
回复 4# 369873158


    水平有限,没看出什么问题 收起
软件开发 · 2012-10-31
浏览370
hupingzhi hupingzhi 系统架构师 PA
没有时间维度表的话,我也就这么做。显示全部
没有时间维度表的话,我也就这么做。 收起
保险 · 2012-10-30
浏览370
369873158 369873158 技术经理 Infosys
时间格式是yyyymm,我是这么解决的:按照月份,在应用层添加年和季度两个数据项,年的表达式为:substring([月份],1,4)季度的表达式为casewhen (substring([月份],5) in ('01','02','03')) then (substring([月份],1,4)||'1')when (substring([月份],5) in ('04','05','06')) then...显示全部
时间格式是yyyymm,
我是这么解决的:
按照月份,在应用层添加年和季度两个数据项,
年的表达式为:
substring([月份],1,4)
季度的表达式为
case
when (substring([月份],5) in ('01','02','03')) then (substring([月份],1,4)||'1')
when (substring([月份],5) in ('04','05','06')) then (substring([月份],1,4)||'2')
when (substring([月份],5) in ('07','08','09')) then (substring([月份],1,4)||'3')
when (substring([月份],5) in ('10','11','12')) then (substring([月份],1,4)||'4')
else
(null)
end
然后在RS中有个频度可供选择,值为月,季度,年,还有有个年的值提示,取值为数据库中的年,月的取值为1至12月,先选择年限定数据统计到具体某一年,然后选择不同频度时,分别按照月,季度,年进行group by
大家看看这样的解决思路有么有什么问题 收起
互联网服务 · 2012-10-30
浏览383
贝克汉姆 贝克汉姆 软件开发工程师 IBM
在日期维度里解决,最底层是月份显示全部
在日期维度里解决,最底层是月份 收起
互联网服务 · 2012-10-30
浏览352
慕名而来 慕名而来 软件开发工程师 中科软
用什么建的模型呢?你月份字段存储的值是:yyyymm吗?如:201210如果只是mm,如10 那就悲催了。 如果格式是201210这种,可以在FM或TM里边建年的层级。显示全部
用什么建的模型呢?
你月份字段存储的值是:yyyymm吗?如:201210
如果只是mm,如10 那就悲催了。
如果格式是201210这种,可以在FM或TM里边建年的层级。 收起
政府机关 · 2012-10-30
浏览371

提问者

369873158
369873158 0 0 3
技术经理 Infosys
擅长领域: 大数据商业智能cognos
评论916

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2012-10-30
  • 关注会员:1 人
  • 问题浏览:1916
  • 最近回答:2012-10-31
  • X社区推广