尚未在SSRS中執行此操作,我正在撓頭。SSRS根據同一行中的其他單元格在一個單元格中查詢結果
基本上,我有一個基於DataSet 1的Tablix。Tablix在一個名爲AssemblyName的字段上進行排序和分組,它也是第一個列值。第二列值基於稱爲數量的字段的總和。 (在數據庫表中,每行都有一個AssemblyName值和一個Quantity值)
棘手的部分是這樣的:數據庫中還有另一個表,其中包含AssemblyName和Quantity的'snapshot'(基於舊的)數據。
而在我的Tablix中,我希望在行的第一個單元格中顯示一個單元格,該單元格的總數爲AssemblyName的舊數量。舊數據將從數據庫表中取出。
基本上,我們的目標是顯示一個由AssemblyName分組和排序的Tablix,並在Tablix中包含以下列:程序集名稱(來自當前數據庫表),當前數量總和(來自當前數據庫表)舊數量總和(來自另一個數據庫表與舊數據)。
我有一切工作,除了舊數據庫表中包含舊數量總和的單元格。
舊的數據庫表位於同一個數據庫中,所以這不是問題,我的問題是,創建基於同一Tablix行中AssemblyName的值在舊錶中對數量進行求和的查詢。
我試着基於來自數據集1拉到參數的查詢創建數據集2,然後在舊的數量單元中寫入此表達式:
=Sum(Fields!Quantity.Value, "Dataset 2")
我在得到的每一個細胞都空值第三列,其中包含上述表達式。我假設它是因爲數據集2實際上沒有在同一個tablix行中讀取AssemblyName的值。然而,我想要做的本質是將包含AssemblyName的tablix中的第一列的值傳遞給數據集2的查詢中的WHERE子句,該數據集的參數依次顯示在第三列的單元格中同樣的tablix行。
萬一有幫助,從數據集2查詢如下:
SELECT AssemblyName
, Quantity
FROM OldData
WHERE AssemblyName = @compare_AssemblyName
我希望這是有道理的,但根據需要,這樣我可以澄清,請提問。
問候。
或許我可以總結在查詢中老數量的數據集1 ? –
您能否顯示來自兩個數據集的一些樣本數據? – Harry
你試過查找嗎?像這樣= LookUp(Fields!AssemblyName.Value,Fields!AssemblyName.Value,Fields!Quantity.Value,「dataset_oldvalue」)。 – Harry