Ssas MDX currentMember获取我错误

Ssas MDX currentMember获取我错误,ssas,mdx,Ssas,Mdx,此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

此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可以工作

此外,还需要取出值选择器,因为表达式返回一组日期(member:member返回这两个成员之间的所有成员的集合)。

这是有效的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

您好-我不确定您使用currentmember的原因,您可能想发布另一个问题,详细说明您试图使用此脚本实现的目标。你想知道今天的日期吗?(如果你只是在探索——D3确实是mdx的一件好事——那就别理我)