案例说明(报表生成器)

Case Statement (Reportbuilder)

我有以下案例陈述,AppointmentDate 并不总是被填充,因此需要从其他日期字段中提取 - 希望有一个约会日期(从许多字段中填充)
当运行这个语句,不return完整的结果。

,个案=约会 当 AppointmentDate 为 Null 时,则 ChaseDate 当 ChaseDate 为空则 DueDate 其他约会日期 结束

有没有想过我哪里做错了?

提前致谢。

您没有说明这是 SSRS 中的表达式还是您的数据集查询的一部分。

假设 SQL 服务器在这里...

如果这是您的数据集查询的一部分,那么您可以执行类似

的操作
SELECT 
    FieldA, FieldB,
    myAppointmentDate = COALESCE(AppointmentDate, ChaseDate, DueDate)
FROM myTable

COALESCE 将 return 第一个非空值

如果您尝试在 SSRS 表达式中执行此操作,则需要使用 SWITCH() 语句。

=SWITCH(
        Fields!AppointmentDate.Value <> Nothing, Fields!AppointmentDate.Value,
        Fields!ChaseDate.Value <> Nothing, Fields!ChaseDate.Value,
        Fields!DueDate.Value <> Nothing, Fields!DueDate.Value,
        True, Fields!AppointmentDate.Value
       )

这将 return 第一个表达式 true,如果前三个表达式中的非表达式 return 为真,最后的 True 就像一个 else(在你的情况下 return Nothing 无论如何)