SSRS 表达式问题
SSRS Expression Issue
我有一个 sg1 列,其中日期为字符串,并且可能有一些额外的字符,例如
25/10/18 (M)
25/06/15 (P) this is planned.
我的日期格式是DD/MM/YY。
我必须根据单元格值为单元格着色。
我已经为该列编写了背景颜色表达式。
最后一个条件不工作并抛出错误。
=IIF(Fields!sg1.Value = "W","Khaki",
IIF(Fields!sg1.Value="g","Gray",
IIF(Fields!sg1.Value="b","Blue",
IIF((LEN(Fields!sg1.Value)=12 And
Format(LEFT(Fields!sg1.Value,8),"YY-MM-DD")<Today),"Pink",
"Green"))))
我无法理解问题所在。
尝试用这个想法改变你的最后一个条件:
And
CDate(LEFT(Fields!sg1.Value,8))<Today(),"Pink", "Green")
有了你的字段,这段代码应该没问题:
=IIF(Fields!sg1.Value = "W","Khaki",
IIF(Fields!sg1.Value="g","Gray",
IIF(Fields!sg1.Value="b","Blue",
IIF(LEN(Fields!sg1.Value)=12 And
CDate(LEFT(Fields!sg1.Value,8))<Today(),"Pink", "Green"))))
这比我想象的要复杂。我自己测试过,这样应该可以工作:
=IIF(Fields!sg1.Value = "W","Khaki",
IIF(Fields!sg1.Value="g","Gray",
IIF(Fields!sg1.Value="b","Blue",
IIF((LEN(Fields!sg1.Value)=12 And
DateSerial(Mid(Fields!sg1.Value, 7, 2),
Mid(Fields!sg1.Value, 4, 2),
Left(Fields!sg1.Value, 2))
<Today),"Pink", "Green"))))
其中 25/10/18
是 Mid(Fields!sg1.Value, 7, 2) = 18 (YY)
、Mid(Fields!sg1.Value, 4, 2) = 10 (MM)
和 Left(Fields!sg1.Value, 2) = 18 (DD)
。
我有一个 sg1 列,其中日期为字符串,并且可能有一些额外的字符,例如
25/10/18 (M)
25/06/15 (P) this is planned.
我的日期格式是DD/MM/YY。 我必须根据单元格值为单元格着色。 我已经为该列编写了背景颜色表达式。 最后一个条件不工作并抛出错误。
=IIF(Fields!sg1.Value = "W","Khaki",
IIF(Fields!sg1.Value="g","Gray",
IIF(Fields!sg1.Value="b","Blue",
IIF((LEN(Fields!sg1.Value)=12 And
Format(LEFT(Fields!sg1.Value,8),"YY-MM-DD")<Today),"Pink",
"Green"))))
我无法理解问题所在。
尝试用这个想法改变你的最后一个条件:
And
CDate(LEFT(Fields!sg1.Value,8))<Today(),"Pink", "Green")
有了你的字段,这段代码应该没问题:
=IIF(Fields!sg1.Value = "W","Khaki",
IIF(Fields!sg1.Value="g","Gray",
IIF(Fields!sg1.Value="b","Blue",
IIF(LEN(Fields!sg1.Value)=12 And
CDate(LEFT(Fields!sg1.Value,8))<Today(),"Pink", "Green"))))
这比我想象的要复杂。我自己测试过,这样应该可以工作:
=IIF(Fields!sg1.Value = "W","Khaki",
IIF(Fields!sg1.Value="g","Gray",
IIF(Fields!sg1.Value="b","Blue",
IIF((LEN(Fields!sg1.Value)=12 And
DateSerial(Mid(Fields!sg1.Value, 7, 2),
Mid(Fields!sg1.Value, 4, 2),
Left(Fields!sg1.Value, 2))
<Today),"Pink", "Green"))))
其中 25/10/18
是 Mid(Fields!sg1.Value, 7, 2) = 18 (YY)
、Mid(Fields!sg1.Value, 4, 2) = 10 (MM)
和 Left(Fields!sg1.Value, 2) = 18 (DD)
。