您可以根據當前FoodId
你組的其他數據集查找值:
=Lookup(Fields!FoodId.Value, Fields!FoodId.Value, Fields!SimilarFoods.Value, "SimilarFoodsDataset")
這是假設FoodId
值之間的一個一對一的關係。如果您有一個值列表,請在相關表格中爲每個FoodId
說幾行類似的食物,然後您要使用子報告或LookupSet
。
子報表
子報表是一個很好的選擇,因爲它們會自動工作,並提供了很多的靈活性,格式化和佈局。如果你想顯示多個字段,這當然是使用的選項。
創建一個名爲SimilarFoods
的新報告。它應該只是列出類似食物的表格,並且有一個名爲FoodId
的參數。它的數據集都會有這樣的SQL:
SELECT FoodId, SimilarFood
FROM SimilarFoods
WHERE FoodId = @FoodId
回到主報表,在表格的組頁腳中插入從工具箱Subreport
並設置ReportName
到你上面創建的SimilarFoods
報告(你可能想合併頁腳行的單元格,以便報表佔用整個表格長度)。右鍵單擊報告並選擇Subreport Properties...
,單擊Parameters
選項卡並添加一個參數Name
設置爲FoodId
,並將值設置爲[FoodId]
(您可以從下拉列表中選擇此字段)。
現在運行您的報告,併爲每個食物你會得到一個類似的食物在組頁腳。
LookupSet
LookupSet作品像Lookup
但顧名思義它返回的結果集。結果不能直接在文本框中使用 - 您必須先操作它。但是,如果您只需要顯示一個字段,那麼這是一個不錯的選擇。
=Join(LookupSet(Fields!FoodId.Value, Fields!FoodId.Value, Fields!SimilarFood.Value, "SimilarFoodsDataset"), vbCrLf)
您使用的具體哪個版本的SSRS的:
你會在這樣一個表達式中使用它? –
哦對不起。 2008年,上面添加了這一點。 –