2013-05-06 136 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