有谁能告诉我如何获得计算字段的最大值?以下是我的情况图片:
请注意,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)
在中间行(EmpID,EmpName)的文本框(Textbox62)旁边,我做了表达式: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)))。
感谢................
答案 0 :(得分: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”出现在框中。如果您想要更改颜色,则必须将其放在属性中的“填充颜色”表达式中。