我是MDX的新手,有一个基本的问题。我想要一个计算的度量,返回一个小于指定日期的日期的值,如果大于指定日期,则返回另一个值。我尝试过:
with member [measures].[tempmeasure] as
IIF
(
[Date].[Date].CurrentMember < [Date].[Date].&[20100501]
, 1
, 2
)
select
[Date].[Date].Members
*
[measures].[tempmeasure] on columns
from [MyCube]这似乎并不管用。那就是使用MS SSAS 2008。你知道我会做错什么吗?
发布于 2015-08-16 02:30:23
请使用下面的表达式
IIF
(
[Date].[Date].Currentmember.MemberValue <
[Date].[Date].&[20100501].MemberValue
, 1
, 2
)我已经测试过它的工作情况和预期的一样。
如果你有任何问题请告诉我
发布于 2011-04-20 16:50:23
通过以下方式:
IIF([Date].[Date].CurrentMember < [Date].[Date].&[20100501], 1, 2)您比较的是两个元组值,而不是日期成员本身。你可以在here上找到关于元组、集合等的教程……
在使用AS时,我认为可以使用DataDiff函数来计算两个日期之间的天数:
DateDiff("d", [Date].[Date].CurrentMember.MemberValue, [Date].[Date].&[20100501].MemberValue )否则,可能会有一些成员属性可用于此目的:
IIF([Date].[Date].CurrentMember.Properties( 'prop-name', TYPED ) < [Date].[Date].&[20100501].Properties( 'prop-name', TYPED ) , 1, 2)干杯。
发布于 2011-04-20 14:11:10
IIF需要返回布尔值的逻辑表达式。我认为在你的例子中,[Date].[Date].CurrentMember会返回一个维度值,一个集合。在这种情况下,小于运算符将导致语法错误。
https://stackoverflow.com/questions/5721041
复制相似问题