2011-09-26 311 views
7

想要在我的SSRS矩陣中添加一列,該列將給出該行中總列的百分比。根據SSRS矩陣中的總列計算總列的百分比

我用下面的表達式,但不斷得到100%的百分比我(我假設這是因爲總被最後評估,所以它只是在做合計/總?

=FORMAT((Fields!ID.Value/SUM(Fields!ID.Value)), "P") 

的現場標識的SQL,不SSRS內calcuted

例如

Site | Value 1 | %1 | Value2 | %2 | Total 
    1 | 20  | 50% | 20  | 50% | 40 
+0

「值1」和「值2」的值是否出於示例目的相同或是否由相同的Fields!ID.Value饋送? – KreepN

回答

16

可能發生這種情況,因爲你需要定義正確的範圍爲SUM函數:

SUM(Fields!ID.Value,"group_name")而不是純SUM(Fields!ID.Value)

更新時間:

我需要一些時間做出了榜樣,因爲我沒有提供報告服務,我第一次回答你。

你可以看到的結果和字段值

enter image description here

enter image description here

+1

這似乎應該是正確的溶劑;但是,當您添加總計列時,它不會被分配組名稱。這使它不可調用。 – Tom

+0

與此戰鬥了幾個小時....感謝解決方案! –

5

努力提供細節,而不會在你的組的設置更多的信息,但你應該看看使用範圍選項到像SUM或第一個合計運營商:

=SUM(Fields!ID.Value, "NameOfRowGrouping")/SUM(Fields!ID.Value, "TopLevelGroupName") 

另外,爲了保持東西清潔n,你應該把你的格式從表達式中移出來,並把它移到包含你的值的佔位符屬性或文本框屬性中。

+0

謝謝 - 當我是最低級組名時'matrix1_SiteName'是行的總值。 – PeterX