2013-05-06 122 views
3

任何人都可以告訴我如何獲得計算字段的最大值?下面是我的情況的圖像:如何獲得總和的最大值?

Table StructureGrouping Pic

注意標誌爲int類型。

我想寫圖像中的表達,但是當我使用它,它有點作用:

Sum(Sum(Fields!Flag.value)) 

誰能幫我出這一點。我想我需要添加範圍爲Sum(Flag),但是當我添加的組範圍爲EMPID爲:

=iif(SUM(Fields!Flag.value,"Fields!EmpID.Value")>2,"RED",nothing) 

這引發了我一個錯誤說一些有關的範圍。

編輯:

我需要每個員工的出勤。如果缺席,FLAG基本上是1,如果有其他的話,則爲0。

底行(標記,日期,狀態,評論)。現在,我已經有一個警告:

=iif(Fields!Flag.Value=1,"RED",Nothing) 

旁邊的文本框(Textbox62)在中間行(的EmpID,EmpName)我沒有表達:SUM(旗),並在文本框屬性填充部分我做:

=iif(SUM(Fields!Flag.value,"Fields!EmpID.Value")>2,"RED",nothing) 

因此,如果員工缺席超過3天,上述表達式會創建警報。

可以查看最上面一行(Department,Manager)以查看報告的更詳細視圖。現在我的問題是,在列(FLAG)中,如果特定部門中的任何員工缺席超過3天,我需要創建背景顏色更改。因此,我們不必深入所有部門以查看是否有任何員工缺席或不在。 所以我的方法是看到Max(Sum(Flag))> 2然後創建顏色變化。我試過了:

=iif(MAX(Sum(Fields!Flag.Value))>2,"Red",Nothing) 

由於它基本上考慮(SUM(Sum(Flag))),它在Department級別上不起作用。

感謝................

+0

*「一個關於範圍的錯誤說明」* ...那麼,那是什麼「某事」,你用它做了什麼? :) – Jeroen 2013-05-06 21:31:16

+0

'TextBox62'的值表達式具有對集合函數無效的範圍參數。它表示scope參數必須設置爲一個字符串常量,該常量等於包含的組的名稱或數據集的名稱或包含數據區域的名稱。 – 2013-05-06 21:33:40

+2

這個錯誤意味着你需要使用GROUP,DATASET或DATA REGION的名稱作爲範圍。您已使用數據集中的字段名稱。你能否更詳細地解釋你想要達到的目標 - 你想要所有員工或每個經理或部門的最大價值? – Nathan 2013-05-06 23:12:30

回答

2

如果不指定骨料的範圍,假設您正在使用的電流範圍。例如,當你說

Sum(Fields!Flag.value) 

它被看作是像

Sum(Fields!Flag.value, "EmpID") 

範圍是集團的名稱,而不是數據集字段的名稱。 取決於它在表格中的位置。當你想說一些像

Sum(Sum(Fields!Flag.value)) 

你需要指定每個不會成爲當前默認的範圍。 在你的情況,你應該使用這樣的事情:

=iif(MAX(SUM(Fields!Flag.value, "EmpID"), "Department")>2,"RED",nothing) 

再次,要注意每個聚集指的是哪裏的表達在桌子上哪個組。

此外,文本框中的這個表達式只會讓「RED」字出現在框中。如果您希望它改變顏色,則必須將其置於屬性中的「填充顏色」表達式中。

+0

嘿史蒂文,感謝您的答覆。但不知何故,這似乎不適用於SSRS 2008或更低版本。它會拋出一個錯誤,說我們不能使用聚合的聚合。你能否告訴我,如果有什麼我可以做的。 – 2013-05-29 13:41:40

+0

它在2008年爲我工作。我需要更多的細節來幫助你。請張貼您使用的表達方式,放置位置以及確切的錯誤消息。 – StevenWhite 2013-05-29 15:42:45

+0

這是我得到的錯誤消息「文本框'Textbox59'的BackgroundColor表達式在另一個聚合函數(或RunningValue)的參數中包含聚合函數(或RunningValue或RowNumber函數)。聚合函數不能嵌套在其他聚合函數函數 構建完成 - 1個錯誤,0個警告「 – 2013-05-29 18:53:01