2012-08-27 65 views
1

我正在使用SSAS多维数据集在我的报告中显示数据。立方体中有一个日期列可能为空。如果它是空白的,我需要显示空白,否则我需要格式化为“MM-yyyy”。我在列中使用下面提到的表达式。SSRS报告 - 格式日期使用表达式的列

=IIf(Trim(Fields!Chargeoff.Value) = "", "", 
    Format(CDate(Fields!Chargeoff.Value), "MM-yyyy")) 

具有日期值的行与显示正确格式的日期是完美的。然而,对于空白行,它会显示错误说

The Value expression for the textrun ‘Chargeoff.Paragraphs[0].TextRuns[0]’ contains an error: Conversion from string "" to type 'Date' is not valid

我IsNothing,空和其他一切来到我的脑海,但不能得到显示空白的尝试。

有没有人有任何建议如何做到这一点?

更新

其实我格式化我的日期,而不是SSAS SSRS的..这奏效了,我..

回答

0

尝试把和空日期为输出,而不是一个空字符串。 00-0000它正在寻找一个日期,你给它一个空字符串。我可以想象,你要么必须给它一个empty dateDefault Date

+0

感谢您的快速反应,但我担心的问题是,“I如果”条件本身并没有计算到对于空白单元格为true,因为错误消息说它试图将“”转换为不支持的日期。但是我尝试使用“00-0000”代替“”,但它不起作用。 – user1627749

+0

请为您的帖子添加更新,以便其他人知道您已尝试过。你有没有尝试过不同的日期格式? – Malachi

+1

我实际上将我的日期格式化为SSAS而不是SSRS ..这对我来说是个诀窍。 – user1627749

1
=IIF(CDATE(IIF(TRIM(Fields!RequiredStart.Value).ToString().Length = 0, 
"1/1/0001", 
Fields!RequiredStart.Value)).ToString() = CDATE("01/01/0001"), 
"", 
Format(CDATE(IIF(TRIM(Fields!RequiredStart.Value).ToString().Length = 0, 
"1/1/0001", 
Fields!RequiredStart.Value)), "dd-MMM-yyyy")) 

:)