Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services SSRS:计算字段中的表达式_Reporting Services_Ssrs 2008 R2_Calculated Field_Ssrs Expression - Fatal编程技术网

Reporting services SSRS:计算字段中的表达式

Reporting services SSRS:计算字段中的表达式,reporting-services,ssrs-2008-r2,calculated-field,ssrs-expression,Reporting Services,Ssrs 2008 R2,Calculated Field,Ssrs Expression,我试图在计算字段中编写一个表达式,显示一个日期值是否大于另一个日期值: =(IIF(fields!date1.value>fields!date2.value,"late","on time") 当字段中有一个值时,此选项可以正常工作!日期2 但是,如果字段!date2.value为空,表达式返回“on time”。我不希望它这样做,因为date1可能是1/4/15-如果date2为空,这意味着它已过期,因此我希望计算字段显示“延迟” 因此,如果字段,我希望表达式说“late”!date

我试图在计算字段中编写一个表达式,显示一个日期值是否大于另一个日期值:

=(IIF(fields!date1.value>fields!date2.value,"late","on time")
字段中有一个值时,此选项可以正常工作!日期2

但是,如果
字段!date2.value
为空,表达式返回“on time”。我不希望它这样做,因为
date1
可能是1/4/15-如果
date2
为空,这意味着它已过期,因此我希望计算字段显示“延迟”

因此,如果
字段,我希望表达式说“late”!date1.value
是<今天的日期(基本上,如果它是空的并且
字段!date1.value
在今天的日期之前,则表示它已过期)

有人能建议如何修改这个表达来适应这个问题吗?

让我们关注一下“准时”

以下是“准时”的定义(其他一切都将被视为“迟到”):

  • Date2
    不为空,并且
    Date1
    >=
    Date2
  • Date2
    为空且
    Date1
    >=今天
让我们将其转换为表达式:

  • Not(Fields!date1.Value为Nothing)和(Fields!date1.Value>=Fields!date2.Value
  • Fields!date2.Value为Nothing,Fields!date1.Value>=Today()
下面是完整的表达:

=Iif((Not(Fields!date2.Value Is Nothing) And (Fields!date1.Value >= Fields!date2.Value) Or (Fields!date2.Value Is Nothing And Fields!date1.Value >= Today())), "on time", "late")

只是想澄清一下,
date1
是截止日期,不能为空,
date2
是成就日期,可以为空,对吗?是的,完全正确谢谢你不辞辛劳地回来:这很有帮助,我现在可以做我需要的事情了:我也学到了一些东西。非常感谢。