Reporting services SSRS开关带有表达式,需要帮助,第二个条件不正确

Reporting services SSRS开关带有表达式,需要帮助,第二个条件不正确,reporting-services,ssrs-expression,Reporting Services,Ssrs Expression,我需要以下表达式的帮助,我已经 column A - Date, Column B- Yes/No , Column C - Date. 条件 如果列B=是且列A有日期,则*灰色中的文本框 如果列A没有日期,则检查列C是否有日期 如果列C日期>今天和列B=没有文本框绿色 如果列C日期今天和列B=无文本框红色 此外,如果任何列中没有条目,则没有颜色 我尝试在switch语句之前使用And运算符将ISNOTHING(对于所有3列)添加到所需单元格的font/color属性中,并将您的条件

我需要以下
表达式的帮助,我已经

column A - Date, 

Column B-  Yes/No , 

Column C - Date.
条件

如果
列B
=是且
列A
有日期,则*灰色中的文本框

如果
列A
没有日期,则检查
列C
是否有日期

如果
列C
日期>
今天
列B
=没有文本框绿色

如果
列C
日期
今天和
列B
=无文本框红色

此外,如果任何列中没有条目,则没有颜色


我尝试在switch语句之前使用And运算符将ISNOTHING(对于所有3列)添加到所需单元格的font/color属性中,并将您的条件作为表达式添加

=SWITCH(
    Fields![Column B].Value = "Yes" AND IsNothing(Fields![Column A].Value), "White",
    IsNothing(Fields![Column A].Value) and Fields![Column C].Value > Today() and Fields![Column B].Value = "", "Red",
    Fields![Column C].Value > Today() and Fields![Column B].Value = "Yes", "Gray",
    Fields![Column C].Value < Today(), "Green"
    )
=开关(
字段![Column B].Value=“Yes”和IsNothing(字段![Column A].Value),“White”,
IsNothing(字段![A列].Value)和字段![C列].Value>Today()和字段![B列].Value=“”,“红色”,
字段![C列].Value>Today()和字段![B列].Value=“是”,“灰色”,
字段![C列]。值<今天(),“绿色”
)

将条件作为表达式添加到所需单元格的font/color属性中

=SWITCH(
    Fields![Column B].Value = "Yes" AND IsNothing(Fields![Column A].Value), "White",
    IsNothing(Fields![Column A].Value) and Fields![Column C].Value > Today() and Fields![Column B].Value = "", "Red",
    Fields![Column C].Value > Today() and Fields![Column B].Value = "Yes", "Gray",
    Fields![Column C].Value < Today(), "Green"
    )
=开关(
字段![Column B].Value=“Yes”和IsNothing(字段![Column A].Value),“White”,
IsNothing(字段![A列].Value)和字段![C列].Value>Today()和字段![B列].Value=“”,“红色”,
字段![C列].Value>Today()和字段![B列].Value=“是”,“灰色”,
字段![C列]。值<今天(),“绿色”
)

首先,它可能与我提供给您的不一样,但您应该尝试一下

=
SWITCH
(
    CStr(Fields!ColumnB.Value) = "Yes" AND NOT(IsNothing(CDate(Fields!ColumnA.Value))), "Grey",
    IIF(IsNothing(Fields!ColumnA.Value),IIF(NOT(IsNothing(Fields!ColumnC.Value)),IIF(CDate(Fields!ColumnC.Value) > Today() AND Fields!ColumnB.Value="","")),"Green")
    CDate(Fields!ColumnC.Value) > Today() AND Fields!ColumnB.Value="Yes","Red"
    IsNothing(Fields!ColumnA.Value) AND IsNothing(Fields!ColumnB.Value) AND IsNothing(Fields!ColumnC.Value), ""
)

另外,如果上面的语句不起作用,那么尝试使用单独的IIF语句。这会更容易。

首先,它可能与我提供给您的不一样,但您应该试试这个

=
SWITCH
(
    CStr(Fields!ColumnB.Value) = "Yes" AND NOT(IsNothing(CDate(Fields!ColumnA.Value))), "Grey",
    IIF(IsNothing(Fields!ColumnA.Value),IIF(NOT(IsNothing(Fields!ColumnC.Value)),IIF(CDate(Fields!ColumnC.Value) > Today() AND Fields!ColumnB.Value="","")),"Green")
    CDate(Fields!ColumnC.Value) > Today() AND Fields!ColumnB.Value="Yes","Red"
    IsNothing(Fields!ColumnA.Value) AND IsNothing(Fields!ColumnB.Value) AND IsNothing(Fields!ColumnC.Value), ""
)

另外,如果上面的语句不起作用,那么尝试使用单独的IIF语句。这会更容易。

我注意到你已经编辑了你的问题,这就是为什么我也更新了我的答案。你能试一下我的答案吗?希望对你有帮助我试过了,因为B列是复选框值,它返回位0/1,所以我只是更改了=1而不是是或否。但情况是,我在a列或C列中没有日期,B列未选中,此外,C列日期必须根据今天日期更改颜色,b列必须取消选中。我注意到您已编辑了您的问题,这就是为什么我还更新了我的答案。你能试一下我的答案吗?希望对你有帮助我试过了,因为B列是复选框值,它返回位0/1,所以我只是更改了=1而不是是或否。但情况是,我在a列或C列中没有日期,B列未选中,此外,C列date必须根据今天的日期更改颜色,b列必须取消选中。我尝试了它,因为b列是复选框值,它返回位0/1,因此我只是更改了=1,而不是“是”或“否”。但情况是,我在a列或C列中没有日期,b列未选中,此外,C列日期必须根据今天日期更改颜色,b列必须取消选中。对不起,我不明白你的意思,你在上面的评论中提到,
,但情况是当我在a列或C列中没有日期,b列未选中时,
-那么在这种情况下,颜色应该是什么?请详细说明……我有这些情况,如果A列、B列和c列没有任何值-没有颜色,如果A列中有日期,如果B列被选中=“灰色”,如果A列没有任何值,我们检查c列是否有日期,如果有日期,我们检查该日期是否>Today=“绿色”,如果列c date,但情况是当我在a列或C列中没有日期,b列未选中时,-那么在这种情况下,颜色应该是什么?请详细说明……我有这些情况,如果A列、B列和c列没有任何值-没有颜色,如果A列中有日期,如果B列被选中=“灰色”,如果A列没有任何值,我们检查c列是否有日期,如果有日期,我们检查该日期是否>Today=“绿色”,如果列c date