2011-06-15 143 views
7

Im建立一個使用兩個數據集的報告。當我預覽我覺得這些類型的錯誤...Sql Server 2008報告服務:使用兩個數據集錯誤

錯誤19
[rsFieldReferenceAmbiguous]
文本框「Textbox3」值表達式直接指到外地「PerZipCode」沒有指定的數據集聚集。當報告包含多個數據集時,數據區域外部的字段引用必須包含在指定數據集範圍的聚合函數中。

什麼樣的聚合函數是需要的,哪裏有一個選項來設置它?

回答

7

最小或最大或平均等:大部分these

的總需要其他數據集減少到一個值(值等的最大值),因爲你正在使用的東西不是在局部範圍內(如數據集綁定到數據區域)。無法將其他DataSet中的行與本地範圍DataSet匹配。

如果您的文本框是獨立的(不在數據區域中),同樣適用:需要聚合告訴SSRS需要採取哪一行(Max等)或對數據集進行什麼計算(Avg等)

+0

一如既往gbn你回答我的問題,並解釋「爲什麼」。再次感謝! – 2boolORNOT2bool 2011-06-15 17:43:01

+0

最後一個問題,我有另一個報告,我已經開發使用三個數據集。它工作正常,沒有錯誤。兩者之間唯一真正的推遲是我使用表達式而不是從UI中拉出字段。這是因爲即時通訊顯式引用數據集= =第一(Fields!RegistrationTime.Value,「DataSet1」) – 2boolORNOT2bool 2011-06-15 19:52:19

+1

首先是一個聚合和數據集1是你的範圍。所以,正如MSDN所說你應該是 – gbn 2011-06-15 19:57:54

8

如果您要將多個數據集添加到報表中,上述內容可能無法解決您的問題。聚合時可能出現以下錯誤:

[rsMissingAggregateScope]文本框'textbox6'的值表達式使用不帶範圍的聚合表達式。除非報表恰好包含一個數據集,否則在數據區域之外使用的所有聚合需要使用範圍。

你可能需要的是這樣的:

First(Fields!MyField.Value, "DATASETNAME") 

,你可以通過使用表達式生成器,而不是字段從數據集拖放得到。

+0

這也是'文本框的值表達式使用沒有範圍的聚合表達式'錯誤的解決方案。 – 2016-06-02 13:07:41

0

要在SSRS報告上使用多個數據集值,我們需要使用下面的代碼。

First(Fields!MyField.Value,「Datasetname」)。

如果鍵入這一點,你仍然得到同樣的問題,然後在文本框中單擊鼠標右鍵,然後選擇&表達的表達點擊數據集。選擇你的數據集&,然後雙擊所需的列。點擊確定後。

如果你有多個控件,然後按照同樣爲所有這些&通過執行報告驗證的相同。

0

如果你已經有一個聚集並且有這個錯誤,可能是因爲該報告的領域是不是最新的與數據集(一個或多個)。您可以通過refreshing the fields of the report解決問題。

要填充字段集合,請使用「數據集屬性」對話框上的「刷新字段」按鈕。 在「數據集屬性」對話框關閉之前,字段集合不會顯示在「報表數據」窗格中。

刷新特定數據集的字段 在「報告數據」窗格中,右鍵單擊數據集,然後單擊「數據集屬性」。

注意: 如果「報表數據」窗格不可見,請在「查看」菜單上單擊「報表數據」。如果窗格以浮動窗口打開,則可以停靠它。有關更多信息,請參閱如何:停靠報表數據窗格。

在「查詢」窗格中,鍵入查詢。或者,您可以使用「導入」按鈕從另一個.rdl文件導入查詢。 單擊刷新字段。 單擊確定。 在「報告數據」窗格中,展開數據集節點以查看當前定義的字段集合。