2016-09-22 61 views
1

我有我正在處理的SSRS報告。我想要做的是從自己的數據集中獲取一個字段的值,並從另一個數據集中減去另一個字段的值。我可以做這個;然而,價值被分組,而不是給我一個單獨的價值它給我:(所有完成) - (總和所有完成前一年)。 enter image description here一個字段的總和減去另一個SSRS的總和表達式

這是我表達我使用的列「與去年相比」

=SUM(Fields!Completed.Value, "MTDSales") - SUM(Fields!Completed.Value, "MTDminus1") 

"MTDSales""MTDMinus1"是2個獨立的數據集。 MTDSales數據集是當前月份的銷售成果按公司分組MTDMinus1數據集是本月的最後一年數字,因爲我正在分別比較兩個月。

+0

任何原因您無法在查詢中獲取上一年的數據以及當年的數據?引號中的名稱是列組的名稱還是兩個不同數據集的名稱? – Kidiskidvogingogin

回答

2

我不得不在一份報告中這樣做,我從一個數據庫中提取當前數據,從數據倉庫中提取舊數據併合並。你需要做幾件事情:

1.建立一個匹配字段

這可以作爲一個單一的列一樣簡單。如果您需要匹配多個字段,則需要爲每個可匹配的數據集添加一個計算字段。假設你需要匹配的公司和財務年度和每個數據集返回一年的數據,這可能看起來像match_id(假設數值 - 否則,你可能需要使用|什麼作爲分隔符):

`="A" & Fields!fin_year.Value & "B" & Fields!cust_id.Value` 

2.檢索數據到源字段。

在您的Tablix中添加一列,你必須保持擡頭值:

=Lookup(Fields!matchId.Value, Fields!matchId.Value, Fields!Completed.Value, "MTDminus1") 

3.使用數據

現在,您可以彙總數據或做任何進一步的計算您希望該字段是您原始數據集的一部分。

+0

嗨SMM我不明白爲什麼我需要做所有這些只是爲了得到1列的結果 - 另一個分組公司,肯定有一個表達式,可以寫成包含「group by」函數作爲數據集有公司你可以通過一個參數進行分組,爲什麼不是一個字段「= Fields(Parameters!GroupBy.Value).Value」 – RustyHamster

+0

你如何關聯以獲得每一行的正確公司總和?我不確定SSRS有一個功能,可以一步完成。這爲我工作:-)實施它不應該是很多工作。 – SMM

+0

我明白你的意思了,它將如何知道如何區分哪家公司的價值所在。我會嘗試並按照你的步驟謝謝 – RustyHamster

相關問題