报告服务中嵌套的IIfs

时间:2009-10-22 12:03:14

标签: sql-server-2008 service

任何人都可以帮忙。我需要在IIf中将IIf置于IIf内。我有一个名为'Period'的参数,有4个标签,'24小时,3天,7天,月'。我有另一个参数('日期'和隐藏)包含以下DateSerial

'=DateSerial( Datepart("YYYY",Now()),Datepart("m",Now()),Datepart("d",Now())-1 )'

参数Period默认为打开例如20/10/2009 07:00

第三个参数('Date From'也隐藏)是我想放置嵌套IIfs的地方。我希望它从参数'Period'中读取,取决于选择将取决于结果,我的代码到目前为止看起来像这样(尚未完成,因为我想看看前两个IIfs是否有效:

'IIf(Parameters!Period.Value = 1, DateAdd("h", 7, Parameters!Date.Value),
 IIf(Parameters!Period.Value = 2, DateAdd("h", -41, Parameters!Date.Value)))

谁能告诉我哪里出错了。

问候,Althea

1 个答案:

答案 0 :(得分:0)

如果您的期间既不是1也不是2,您需要在第二个IIf中使用“else”值:

=IIf(Parameters!Period.Value = 1, 
    DateAdd("h", 7, Parameters!Date.Value),  
    IIf(Parameters!Period.Value = 2,
        DateAdd("h", -41, Parameters!Date.Value),
        Parameters!Date.Value)) ' If period is neither 1 nor 2 just return the date