微软BI开拓者

首页 » 多维分析专区 » MDX » 一个求日均额的问题
eric - 11/6/2007 2:33:00 PM
根据时间维度中实际所选的日期范围如何用MDX得到相应的天数,每天用度量值除以实际的天数得到相应的日均额?
The - 11/6/2007 5:37:00 PM
求一个SET中的tuple数...?
使用count函数:
with member measures.test as
count({
        [Time].[Time].&[2005-01-11T00:00:00]:[Time].[Time].&[2005-01-14T00:00:00]
    })

select measures.test on 0
from [MyCube]
eric - 11/7/2007 9:26:00 AM
日期能不能不写死成固定值??根据用户自己选择的日期范围求值?
The - 11/7/2007 10:15:00 AM
使用参数:
with member measures.test as
count({
        strtomember(@begintime):strtomember(@endtime)
    })

select measures.test on 0
from [MyCube]
eric - 11/7/2007 5:39:00 PM
这个如果在计算成员里改如何实现呢?
eric - 11/7/2007 5:40:00 PM
这个如果在计算成员里改如何实现呢?
The - 11/8/2007 8:54:00 AM
下面的不就是一个计算成员吗?



引用:
原帖由 The 于 2007-11-7 10:15:00 发表
使用参数:
with member measures.test as
count({
        strtomember(@begintime):strtomember(@endtime)
    })

select measures.test on 0
from [MyCube]
eric - 11/8/2007 5:35:00 PM
我指的是在VS2005环境中,在一个cube里新增一个计算成员,日期的范围是在外部通过时间维度来获取,能这么使用变量吗??
www2002 - 11/11/2007 1:38:00 AM
时间相关的计算在MDX中就像爱情在小说或电影中一样,是永恒的主题.

根据环境与需求不同,有多种动态计算天数方法.
The兄给出了最直接,经典的方法. 在能用参数的场合,这种方法效率最高.

在不能使用参数的情况下,可尝试下面两种方法:

1. 把事实表中的日期外键添加到度量组中,取名为"天数"或...,缺省聚合为distinctCount.
这种方法最简单,但受到一些限制, 仅适用于有限的环境.
比如事实表中日期不连续,而您需要计算连续的天数,此方法就无能为力了.

2. 在CUBE中增加一个度量组,其IgnoreUnrelatedDimensions属性设为"True",并建一个度量"天数".
该度量的值与日期维度主键一一对应, 缺省聚合为Count.


SSAS 2008 中的动态命名集可以方便地处理类似动态天数计算的问题.
就2005而言, 还有一些其他方法, 可参考这里:

http://sqljunkies.com/WebLog/mosha/archive/2007/05/27/counting_days_mdx.aspx

如果需要计算累加天数, 可参考这里:

http://blogs.conchango.com/christianwade/archive/2006/04/30/MDX-Sprocs-and-Scripting_3A00_-An-Interesting-Example.aspx


俺的发言完了,请各位领导批评指正
danielc0214 - 11/16/2007 3:02:00 PM
我也有同样的需求.我算的是月平均额.对MDX一窍不通.只会改别人的...见笑
danielc0214 - 11/16/2007 3:17:00 PM
楼主一共用了几个计算单元?我这里有同期/环比/本年累计要是需要请联系我
1
查看完整版本: 一个求日均额的问题