SSRS:如何使用OR来组合AND表达式

时间:2017-08-07 22:03:26

标签: visual-studio-2010

我正在尝试编写一个表达式,它将执行以下操作: 如果此字段等于此文本并且创建日期和到达日期之间的日差小于90天,则将其设置为红色,否则为白色 要么 如果此字段等于此文本且创建日期与到达日期之间的日差小于60天,则将其设为红色,否则为白色

这是我到目前为止的表达方式。

example.com

他们都是单独工作,但是当我把它们放在一起时," OR"即使条件得到满足,也没有什么变成红色。

有什么想法?谢谢!

2 个答案:

答案 0 :(得分:0)

尝试:

=iif
(((Fields!Type.Value="Discovery Email Sent") and (datediff("d",Fields!CreatedDate.Value,Fields!ArrivalDate.Value)<90)) 
or 
((Fields!Type.Value="Menu Proposal Sent") and (datediff("d",Fields!CreatedBy.Value,Fields!ArrivalDate.Value)<60)),
"red","white") 

间距只是为了澄清。我已将这些条件合并到一个语句中,如果满足您指定的这两个条件(它们本身由两个条件组成)中的任何一个条件,则执行该语句。

答案 1 :(得分:0)

将这两个区块分开。 而不是:

if((Fields!Type.Value="Discovery Email Sent") and (datediff("d",Fields!CreatedDate.Value,Fields!ArrivalDate.Value)<90),"red","white") or (iif((Fields!Type.Value="Menu Proposal Sent") and (datediff("d",Fields!CreatedBy.Value,Fields!ArrivalDate.Value)<60),"red","white"))

使用:

if(((Fields!Type.Value="Discovery Email Sent") and (datediff("d",Fields!CreatedDate.Value,Fields!ArrivalDate.Value)<90),"red","white")) or (((Fields!Type.Value="Menu Proposal Sent") and (datediff("d",Fields!CreatedBy.Value,Fields!ArrivalDate.Value)<60)),"red","white")