我是MDX的全新手,并被要求制定一个我觉得很难的计算。我已经阅读了有关该语言的基础知识,并查看了在线文章,但很难找到可以帮助我的东西。
我每天都有一个TotalLogins的度量。
我有一个日期维度,具有日期/月/年/日的周期属性。
我需要做的是获取特定月份的平均TotalLogins,但需要注意不包括星期六/星期日。
我一直在玩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];
这给了我一个月的平均值,但不允许我指定介于两者之间的月份范围,并且不允许我过滤总数以便不包括星期六/星期日。
有人能指出我正确的方向吗?
提前致谢!!
答案 0 :(得分:1)
试试这个:
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];
如果您想将结果限制在特定日期范围内,请使用以下内容替换底部的第3行:
NON EMPTY { [Dim Date].[Year Month].[2013 November]:[Dim Date].[Year Month].[2014 January] } ON ROWS
(当然您可能需要用实际名称替换成员名称,或者更好的是,使用键,例如:[Dim Date]。[Year Month]。& [201311])