2012-09-16 38 views
1

我有一些使用Report Builder 3爲MSSQL 2008 Reporting Services構建的報告。 我的報告中的某些字段顯示「#Error」,而不是我想只顯示一個簡單的「 - 」。有沒有內置函數或自定義代碼來克服這個問題?要修復的自定義代碼#在SSRS報告中顯示的錯誤

+0

+1的問題,但我仍然要問:修復錯誤不是一個選項? – Jeroen

+0

這不是一個選項,因爲我使用的是Previous函數,因此對於第一行它總是會顯示#Error,我需要修正並只顯示一個「 - 」。 –

+1

你能詳細說明給出#Error的情況,就像引發它的公式以及它發生的條件一樣嗎? –

回答

0

我仍然很想看看你的配方,但你似乎決心不顯示它,所以我會採取一個野生刺探在沒有它的回答。我想象你正在做一些事情,比如將當前行上的字段與前一行中的字段分開。但是,這會給你第一行Infinity,而不是#Error,所以還有其他的事情發生。但是,由於我們沒有你的公式,所以讓我們一起來運行。

解決此問題的最常見方法是檢查Previous函數返回的Nothing,通常表示您位於第一行(假定您的字段始終有數據)。這也有利於在不保證有價值的領域工作。

=IIF(IsNothing(Previous(Fields!MyField.Value)), "-", Fields!MyField.Value/Previous(Fields!MyField.Value)) 

這裏是另一種方式,你可以使用行號,它總是會檢查的第一行,無論做:

=IIF(RowNumber(Nothing) = 1, "-", Fields!MyField.Value/Previous(Fields!MyField.Value)) 

這假設錯誤是由價值公式造成的,而不是通過其他一些機制,比如將表達式應用於其他屬性,如格式,在沒有前一行時無效的顏色。