首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIF与成员比较日期

问IIF与成员比较日期
EN

Stack Overflow用户
提问于 2011-04-20 02:37:58
回答 3查看 7K关注 0票数 1

我是MDX的新手,有一个基本的问题。我想要一个计算的度量,返回一个小于指定日期的日期的值,如果大于指定日期,则返回另一个值。我尝试过:

代码语言:javascript
复制
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。你知道我会做错什么吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-16 02:30:23

请使用下面的表达式

代码语言:javascript
复制
IIF
   (
    [Date].[Date].Currentmember.MemberValue  < 
    [Date].[Date].&[20100501].MemberValue
    , 1
    , 2
   )

我已经测试过它的工作情况和预期的一样。

如果你有任何问题请告诉我

票数 1
EN

Stack Overflow用户

发布于 2011-04-20 16:50:23

通过以下方式:

代码语言:javascript
复制
IIF([Date].[Date].CurrentMember < [Date].[Date].&[20100501], 1, 2)

您比较的是两个元组值,而不是日期成员本身。你可以在here上找到关于元组、集合等的教程……

在使用AS时,我认为可以使用DataDiff函数来计算两个日期之间的天数:

代码语言:javascript
复制
DateDiff("d", [Date].[Date].CurrentMember.MemberValue, [Date].[Date].&[20100501].MemberValue )

否则,可能会有一些成员属性可用于此目的:

代码语言:javascript
复制
IIF([Date].[Date].CurrentMember.Properties( 'prop-name', TYPED ) < [Date].[Date].&[20100501].Properties( 'prop-name', TYPED ) , 1, 2)

干杯。

票数 2
EN

Stack Overflow用户

发布于 2011-04-20 14:11:10

IIF需要返回布尔值的逻辑表达式。我认为在你的例子中,[Date].[Date].CurrentMember会返回一个维度值,一个集合。在这种情况下,小于运算符将导致语法错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5721041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档