我是一个完全的MDX新手,被要求计算出一个我发现很难的计算。我已经阅读了英语的基础知识,并在网上看了一些文章,但很难找到一些可以帮助我的东西。
我对每天的总登录进行了测量。
我有一个Date的维度,它有Date/Month/Year/DayOfWeek属性。
我需要做的是获得特定月份的平均总登录数,但要注意不包括周六/周日。
我一直在玩AVG功能,EXCEPT功能和IIF功能,但似乎不能击中要害。
这是我一直在尝试的一个例子:
WITH
MEMBER [Measures].[MyAvg] AS
(
AVG(Descendants ([Dim Date].[Date].CurrentMember,
[Dim Date].[Date]),
[Measures].[UniqueVisitsDay])
)
SELECT
{[Measures].[MyAvg]} ON COLUMNS,
{NONEMPTY([Dim Date].[Year Month].Members)} ON ROWS
FROM
[MyCube];
这给了我每月的平均值,但不允许我指定月份之间的范围,也不允许我过滤总数,以便不包括星期六/日。
谁能给我指个正确的方向?提前感谢!!
试试这个:
WITH MEMBER [Measures].[MyAvg] AS
AVG(
EXCEPT([Dim Date].[Day Of Week].Members,
{[Dim Date].[Day Of Week].[Saturday],[Dim Date].[Day Of Week].[Sunday]}
), [Measures].[UniqueVisitsDay]
)
SELECT { [Measures].[MyAvg] } ON COLUMNS,
NON EMPTY { [Dim Date].[Year Month].Members } ON ROWS
FROM
[MyCube];
如果你想把你的结果限制在一个特定的日期范围内,用下面的第三行替换:
NON EMPTY { [Dim Date].[Year Month].[2013 November]:[Dim Date].[Year Month].[2014 January] } ON ROWS
(当然,您可能需要将成员名替换为其实际名称,或者更好的是,使用键,例如:[Dim Date]。(年月)。amp; [201311])