2016-03-15 27 views
0

這是我的問題:我有一些重複的行(具有相同的ID)。我想要的是根據特定的列值來隱藏行。提到的列顯然不是ID列(它是描述列)。如何隱藏SSRS 2005中的特定重複行?

我想這個就行可見(表達):

=IIF (Fields!Incident_ID.Value = Previous(Fields!Incident_ID.Value) 

AND 

ReportItems!Description.Value <> "Incident Status Change to Work In Progress from Open", true, false) 

所以,我想排除將說明不等於「事件狀態更改爲從開放的工作進行中」的行。

,我得到的消息是:

The Hidden expression for the table 'table 1' contains an error: Object variable or With block variable not set.

在這個任何想法?

在此先感謝

+0

爲什麼你選擇使用ReportItems!作爲描述值而不是字段!我只是要求澄清。 –

+0

我試過Fields!但是我仍然得到完全相同的消息:「表'表1'的表的隱藏表達式包含錯誤:對象變量或未設置塊變量。」我沒有使用ReportItems!出於特定的原因而不是Fields !,我只是想弄明白爲什麼它不起作用。 –

+0

您可能在此表達式中測試的查詢結果中是否存在任何NULL值的可能性?我想你會在這種情況下收到這條消息。如果是這種情況,那麼你還需要爲你的表達式添加一個NULL值測試。 –

回答

0

我認爲你是在正確的軌道上只使用ReportItems代替領域!

=IIF(Fields!Incident_ID.Value = Previous(Fields!Incident_ID.Value) AND Fields!Description.Value <> "Incident Status Change to Work In Progress from Open", true, false) 
+0

我試過這個,但我仍然得到完全相同的消息:「表'表1'的隱藏表達式包含錯誤:對象變量或塊變量未設置。「 –

1

我想是因爲有您的查詢結果的一個或多個行具有在Description領域NULL值你可能得到這個錯誤。

您可以通過簡化你的表情這驗證這一理論:

=IIF(Fields!Incident_ID.Value = Previous(Fields!Incident_ID.Value), true, false) 

只是爲了看看是否可以運行沒有錯誤的報告。

如果這樣,那麼您需要爲NULL值添加一個測試,作爲較大條件測試的一部分,以回到您想要的邏輯。

試試這個:

=IIF(Fields!Incident_ID.Value = Previous(Fields!Incident_ID.Value) AND IsNothing(Fields!Description.Value) = false AND Fields!Description.Value <> "Incident Status Change to Work In Progress from Open", true, false) 

這應該防止的條件,當DescriptionNULL值的最後部分的評價避免錯誤。

+0

大衛,當我只使用簡化的表達式的報告工作,並給出了預期的結果。我試着你的建議除了代碼(AND IsNothing(Fields!Description.Value)= false),但我得到的消息:隱藏的表達式表'table1'包含一個錯誤:[BC30451]名稱'falseANDFields'沒有聲明 –

0

SSRS有時候可能會不起作用。嘗試加括號:

=IIF(((Fields!Incident_ID.Value = Previous(Fields!Incident_ID.Value)) AND (IsNothing(Fields!Description.Value) = false) AND (Fields!Description.Value <> "Incident Status Change to Work In Progress from Open")), true, false) 
+0

非常感謝,您的反饋很有用,似乎可以大規模解決問題,但問題仍然存在但是,我找不到他們的一種模式。 –