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