我可以: 邀请好友来看>>
ZOL星空(中国) > 技术星空(中国) > SQL Server星空(中国) > 用 mdx 计算指定时间的累计值
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

用 mdx 计算指定时间的累计值

229浏览 / 0回复

email4u

email4u

0
精华
7
帖子

等  级:Lv.5
经  验:4944
  • Z金豆: 0

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:北京
  • 注  册:2008-04-01
  • 登  录:2016-05-23
发表于 2011-03-11 15:19:37
电梯直达 确定
楼主

用 mdx 计算指定时间的累计值

指定时间段的累计值是数据仓库里经常需要计算的字段,如当年、月截止库存量、销售额等。

星空(中国)7年前的数据,03~04年增加6倍,但还不是增长最快的时候。


这种计算用 mdx 函数实现非常简单。

使用 PeriodsToDate 函数就可以实现

PeriodsToDate(level,member),第一个是层次,第二个是当前成员

下面是一个使用 PeriodsToDate 函数的例子,计算每日的年累计主帖数

with MEMBER [Measures].[年累计主帖数]
 AS sum(
    PeriodsToDate(
        [日期].[日期层次].[年] -- ,
       -- [日期].[日期层次].CurrentMember
       )
    ,[Measures].[主帖数]
)
 
select {
 [Measures].[主帖数],
 [Measures].[年累计主帖数]
 }  on 0,
[日期].[日期层次].[日期].members on 1
from forum

在 sql server ssas 里新建计算成员,直接写:

sum(
     PeriodsToDate(
        [日期].[日期层次].[年] ,
      
        [日期].[日期层次].CurrentMember)
    ,[Measures].[主帖数]
)

PeriodsToDate 还有几个简化函数 YTD,QTD,MTD,分别对应层次年、季度、月份

用起来更简单。

在 sql server ssas 里新建计算成员,计算月累计直接写:

sum(
    MTD()
    ,[Measures].[主帖数]
)

PHP 计算这个要写不少代码。

高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表