2013-04-10 85 views
0

我試圖做的是從因我的報告多次計算(有的增加,有的增減)的變化水平的查詢彙總多個領域。SSRS 2008年總和IIF和變量

例如,我想總結其中有3個條件,我需要檢查一個財務價值。我嘗試創建一個變量併爲其指定一個表達式:

= Sum(IIf((Fields!Year.Value,「Query_Name」)= Parameters!Year AND(Fields!Period.Value,「Query_Name」))= Parameters !Period AND(Fields!Type.Value,「Query_Name」)= Parameters!Type,(Fields!Amount.Value,「Query_Name」),0))

我在檢查年份,期限和類型(預算或實際)是正確的,然後我想總結這些值。它不工作,所以我想知道我做錯了什麼。

我有在報告中多個數據集,但我每次都引用正確的一個。這是不可能的,或者我做錯了嗎?

+0

也許這只是一個錯字,但如果你提的'參數Year'以上 - 這應該是'參數Year.Value'!它看起來像正在引用Field值,而不是參數值。 – 2013-04-10 14:46:39

+0

這只是一個錯字 – Ian 2013-04-10 14:48:49

+0

下面是實際的語句: = Sum(IIF((Fields!FSCSP.Value,「GLIncomeStatement」)= Parameters!intFiscalPeriod AND(Fields!FSCSDSG.Value,「GLIncomeStatement」)=「A」 AND(Fields!ISGRPCODE1.Value,「GLIncomeStatement」)= 1 AND(Fields!ISGRPCODE2.Value,「GLIncomeStatement」)= 1,(Fields!NETPERD.Value,「GLIncomeStatement」),0)) 錯誤是: 的變量(ContractRevenue)爲報告「體」表達使用一個aggreggate表達而不範圍。除非報表只包含一個數據集,否則對於在數據區域之外使用的所有聚合需要一個作用域。 – Ian 2013-04-10 14:53:31

回答

0

嘿,這可能是因爲您在報告中使用了2個數據集而且您需要在每個數據值Dataset1(Fields!FSCSP.Value)之前提到數據集,而不是僅僅使用Fields!FSCSP.Value它會起到訣竅的作用。確切地告訴我,當這個錯誤發生