MDX currentMember 让我出错
MDX currentMember get me error
此 MDX 函数引发错误:
with member measures.x as
(
[Date].[Date].[Date].&[20160101] : [Date].[Date].[Date].currentmember.value
,
[Measures].[current balance]
)
select measures.x on columns,
[Branch].[HeadOffice Branch].[Head Office Code] on rows
from MyCube
错误是:
CURRENTMEMBER 函数需要 1 个参数的层次结构表达式。使用了成员表达式。
但是当我使用
[日期].[日期].[日期].&[20160101] : [日期].[日期].[日期].&[20160131]
效果不错
为什么?
CURRENTMEMBER 适用于属性层次结构(在您的情况下为 [Date].[Date])。所以 [Date].[Date].CURRENTMEMBER 将起作用。
您还需要取出值选择器,因为您的表达式 returns 一组日期(成员:成员 returns 这两个成员之间的所有成员的集合)。
这是有效的 mdx:
[Date].[Date].[Date].&[20160101] : [Date].[Date].currentmember
虽然这不是:
WITH member measures.x AS
(
[Date].[Date].[Date].&[20160101] : [Date].[Date].currentmember
,
[Measures].[current balance]
)
无效,因为圆括号 (...)
表示元组,但元组需要精确坐标,因此第一个参数不能是集合。
您可以添加一个聚合,例如 SUM:
WITH member measures.x AS
SUM
(
[Date].[Date].[Date].&[20160101] : [Date].[Date].currentmember
,
[Measures].[current balance]
)
这是有效的 mdx
,但如果您在上下文中没有 [Date].[Date]
,即在 WHERE
或 SELECT
子句中,那么它返回的只是 All
成员.
为什么要使用 [Date].[Date].currentmember
?
此 MDX 函数引发错误:
with member measures.x as
(
[Date].[Date].[Date].&[20160101] : [Date].[Date].[Date].currentmember.value
,
[Measures].[current balance]
)
select measures.x on columns,
[Branch].[HeadOffice Branch].[Head Office Code] on rows
from MyCube
错误是: CURRENTMEMBER 函数需要 1 个参数的层次结构表达式。使用了成员表达式。
但是当我使用 [日期].[日期].[日期].&[20160101] : [日期].[日期].[日期].&[20160131] 效果不错
为什么?
CURRENTMEMBER 适用于属性层次结构(在您的情况下为 [Date].[Date])。所以 [Date].[Date].CURRENTMEMBER 将起作用。
您还需要取出值选择器,因为您的表达式 returns 一组日期(成员:成员 returns 这两个成员之间的所有成员的集合)。
这是有效的 mdx:
[Date].[Date].[Date].&[20160101] : [Date].[Date].currentmember
虽然这不是:
WITH member measures.x AS
(
[Date].[Date].[Date].&[20160101] : [Date].[Date].currentmember
,
[Measures].[current balance]
)
无效,因为圆括号 (...)
表示元组,但元组需要精确坐标,因此第一个参数不能是集合。
您可以添加一个聚合,例如 SUM:
WITH member measures.x AS
SUM
(
[Date].[Date].[Date].&[20160101] : [Date].[Date].currentmember
,
[Measures].[current balance]
)
这是有效的 mdx
,但如果您在上下文中没有 [Date].[Date]
,即在 WHERE
或 SELECT
子句中,那么它返回的只是 All
成员.
为什么要使用 [Date].[Date].currentmember
?