2013-10-22 17 views
0

我正在編輯以前的報告,並且希望將隱藏表達式添加到新的文本框,並且我正在使用簡單的switch語句來實現此目標。SSRS Fields!(在此處插入字段名稱).Value拒絕工作

=Switch(Fields!cptyLongName.Value="Homer City Generation, L.P.", FALSE, TRUE) 

然後突出顯示Fields!cptyLongName.Value並表示它的未知。如果我忽略它並嘗試預覽報告,它會告訴我: 「文本框'Textbox1'的隱藏表達式包含錯誤:參數'VarExpr'不是有效值。」

奇怪的是,同樣的字段在報告的其他地方使用:

First(Fields!cptyLongName.Value) 

而且在DataSet中的字段cptyLongName存在。我覺得奇怪的是,當你試圖在類別'字段'下面放置一個表達式時,它不在那裏。我已經做了一些reasearch和我都知道,使用:

SomeMethod(Fields!SomeFieldName.Value, "SomeDatasetName") 

應工作和解決的問題。不幸的是,它不能解決任何問題..這整個事情對我來說毫無意義,因爲它在報告的其他部分從數據庫中提取數據,但每當我將相同的細節編輯進去時,它都拒絕工作。

回答

3

原因是文本框超出了數據集的範圍。您必須使用First或其他聚合函數。

=iif(FIRST(Fields!cptyLongName.Value, "YourDataSetName")="Homer City Generation, L.P.", FALSE, TRUE) 

更換YourDataSetName到相關cptyLongName數據集,並把它放在雙引號。

+0

謝謝你這麼親切的先生。這工作! :) –