MDX DdateDiff返回错误“currentmember函数需要1参数的层次结构表达式。使用了成员表达式”

时间:2014-05-23 16:16:16

标签: sql-server-2008 ssas mdx

我一直在努力解决这个问题,但无法弄明白。基本上,我想计算出发日期和从日期层次结构中选择的日期之间的天数差异。我尝试了以下两个MDX脚本,但都返回了标题中的错误。

VBA!DateDiff("d",[Cruise Details].[Departure Date].member_value, TAIL(DESCENDANTS([Departure Date].[Departure Date].[Hierarchy].CurrentMember)).Item(0).member_value) 

VBA!DateDiff("d",[Order Details].[Departure Date].CurrentMember.member_value, [Date].[Hierarchy].[Date].CurrentMember.member_value)

任何想法如何解决这个问题?提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

刚刚在MSDN论坛上找到了一个解决方案,不知道为什么我原来帖子中的上述代码无效的原因是什么,但这对我有用。

VBA!DateDiff

("n", // "n" = Return # of minutes between the dates

HEAD(EXISTING [Dim Extrusion Process Details].[Start Timestamp].[Start Timestamp],1).item(0).Item(0).MemberValue

TAIL( EXISTING [Dim Extrusion Process Details].[End Timestamp].[End Timestamp], 1).Item(0).Item(0).MemberValue)

http://social.msdn.microsoft.com/Forums/sqlserver/en-US/b2a65cdc-d455-49b8-a5a2-b856e18c0a69/computing-difference-between-dates-in-mdx