3

谁能告诉我如何获得计算字段的最大值?下面是我的情况的图像:

表结构分组图片

请注意,Flag 的类型为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 天,上述表达式会发出警报。

可以向下钻取最顶部的行(部门、经理)以查看报告的更详细视图。现在我的问题是,在列(FLAG)中,如果特定部门的任何员工缺席超过 3 天,我需要创建背景颜色更改。这样我们就不必深入了解所有部门以查看是否有员工是否缺席。所以我的方法是查看 Max(Sum(Flag))>2 然后创建颜色变化。我试过了:

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

它在部门级别不起作用,因为它基本上考虑 (SUM(Sum(Flag)))。

谢谢................

4

1 回答 1

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”一词出现在框中。如果你想让它改变颜色,你必须把它放在属性中的“填充颜色”表达式中。

于 2013-05-17T17:11:22.077 回答