【问题标题】:SSRS IIF statements expressions for conditional date formatting (BETWEEN)用于条件日期格式的 SSRS IIF 语句表达式 (BETWEEN)
【发布时间】:2015-03-17 16:14:23
【问题描述】:

我想对日期范围进行条件格式。所以如果日期开始/结束范围(在参数@Begin@End中选择)在5到7天之间,显示“星期”,如果between 28 days and 31 days,显示"Month",其他一切,显示"X days"等。

我有类似的东西,但语法上不计算。我正在努力解决这个问题,所以任何人都可以帮助或指出正确的方向吗?

我所拥有的示例;

=Iif(Parameters!DateBegin.Value = today() AND Parameters!DateEnd.Value = Today(), "Today", Iif(Parameters!DateBegin.Value = DateAdd("d",-1,Today()) AND Parameters!DateEnd.Value = Today(), "Yesterday", Iif(Parameters!DateBegin.Value AND Parameters!DateEnd.Value *difference is BETWEEN 5-7 days*, "Week", Iif(Parameters!DateBegin.Value AND Parameters!DateEnd.Value *difference is BETWEEN 28-31 days*, "Month", Everything else = *difference BETWEEN* Parameters!DateBegin.Value AND Parameters!DateEnd.Value & "days"

我该如何实现这一目标? :)

【问题讨论】:

    标签: date reporting-services conditional iif ssrs-expression


    【解决方案1】:

    听起来您正在寻找DATEDIFF() 函数。

    例如(5-7天):

    Iif(
    (DateDiff("d", Parameters!DateBegin.Value, Parameters!DateEnd.Value) > 4) AND (DateDiff("d", Parameters!DateBegin.Value, Parameters!DateEnd.Value) < 8), "Week", [etc]
    

    【讨论】:

    • 感谢工作。对于陈述的真实部分。为了得到'ELSE'部分,我试过了: DateDiff("d", Parameters!DateBegin.Value, Parameters!DateEnd.Value) & "days" 但它看起来好像在最后寻找一个比较运算符,比如 =/
    • 查找比较运算符的唯一位置是在 IIF 语句中。 IIF的三个部分是Comparison StatementExpression if TrueExpression if false。比较语句必须解析为布尔值 true 或 false,因此您可能需要检查 IIF 嵌套。
    猜你喜欢
    • 2014-12-20
    • 2012-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多