我很难在MDX中找到一个计算成员。
源表如下所示。
--------------------------------------
| Status | Promised Date |
--------------------------------------
| In-process | 2014-09-15 00:00:00.000|
--------------------------------------
| Quotation | 2014-07-20 00:00:00.000|
--------------------------------------
| In-process | 2014-10-25 00:00:00.000|
--------------------------------------
有一个计算行数的度量。它被称为[Measures]。[SVC Call Count]。
当用户从日期维度中选择日期时,将提供日期。
计算出的成员应该在给定日期之前的14天内返回所有svc调用的行计数。
例如,2014-10-20是给定日期。在这种情况下,只应计算第一行。
在T-SQL
:
SELECT Count(*)
FROM [SVC Call]
WHERE
CALLSTATUS='In-process' and DATEADD("d",14,Promised Date)<= A given Date.
但我是MDX的新手,并且不知道如何在MDX中这样做。目前的尝试如下:
Sum
(
Filter
(
[Service call].[Promised end date].[Promised end date].MEMBERS
-
[Service call].[Promised end date].&[1900-01-01T00:00:00]
-
[Service call].[Promised end date].[All].UnknownMember
,
VBA!Datediff
("d"
,[Service call].[Promised end date].CurrentMember.MemberValue
,LinkMember
(
[DATE].[Date].CurrentMember
,[DATE].[Year - Quarter - Month - Week - Date]
).MemberValue
)
>= 0
)
,[Measures].[Service call count]
)
任何人都可以向我提供建议或提示吗?