2017-07-25 56 views
0

如果没有日期,我希望我的代码不显示任何内容。如果该物品没有日期,则不显示

这里是我的代码:

=format(IIF(Fields!Phase.Value = "Pre-Feasibility" OR Fields!Phase.Value = "Selection", Fields!PreFeasibilityCurrentTargetDate.Value, IIF(Fields!Phase.Value = "Feasibility" OR Fields!Phase.Value = "Definition", Fields!FeasibilityCurrentTargetDate.Value, IIF(Fields!Phase.Value = "Implementation", Fields!ImplementationCurrentTargetDate.Value, ""))), "dd-MMM-yy") 

因为我它格式化到dd-MMM-yy,它显示的是,当该项目没有一个日期。如果它没有日期,我怎么能改变这个显示什么都不显示。

Image

回答

1

改变你的表达不了了之

=Iif(Fields!Phase.Value="Operation","-", format(
IIF(Fields!Phase.Value = "Pre-Feasibility" OR Fields!Phase.Value = "Selection", 
    Fields!PreFeasibilityCurrentTargetDate.Value, 
    IIF(Fields!Phase.Value = "Feasibility" OR Fields!Phase.Value = "Definition", 
     Fields!FeasibilityCurrentTargetDate.Value, 
     IIF(Fields!Phase.Value = "Implementation", 
     Fields!ImplementationCurrentTargetDate.Value, Nothing))) 
, "dd-MMM-yy")) 

空白值我也建议你使用,而不是内部的格式化功能字段格式属性价值表达。在这种情况下,即使字段值为空,它也可以工作。

+0

我已更新我的答案。你为这个检查写一个iif,并把所有其余的表达式放在else部分。 – niktrs

0

检查MSDN的形式在这里, https://msdn.microsoft.com/en-us/library/ms157406.aspx

它明确提到,“如果你指定了无效的格式字符串,格式化的文本被解释为它覆盖的格式文本字符串。”

所以。你需要格式化后检查字符串,

IIF(output="dd-MMM-yy","",output)