Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 如何获得一个总和的最大值?_Reporting Services_Ssrs 2008 - Fatal编程技术网

Reporting services 如何获得一个总和的最大值?

Reporting services 如何获得一个总和的最大值?,reporting-services,ssrs-2008,Reporting Services,Ssrs 2008,谁能告诉我如何得到一个计算域的最大值?下面是我的情况: 请注意,标志的类型为int 我想在图像中写下表达式,但当我使用它时,它有点: Sum(Sum(Fields!Flag.value)) 有人能帮我解决这个问题吗。我想我需要为Sum(Flag)添加范围,但是当我将组范围添加为EMPID时: =iif(SUM(Fields!Flag.value,"Fields!EmpID.Value")>2,"RED",nothing) 这让我犯了一个关于范围的错误 编辑: 我需要每个员工的出席。

谁能告诉我如何得到一个计算域的最大值?下面是我的情况:

请注意,标志的类型为
int

我想在图像中写下表达式,但当我使用它时,它有点:

Sum(Sum(Fields!Flag.value)) 
有人能帮我解决这个问题吗。我想我需要为
Sum(Flag)
添加范围,但是当我将组范围添加为EMPID时:

=iif(SUM(Fields!Flag.value,"Fields!EmpID.Value")>2,"RED",nothing)
这让我犯了一个关于范围的错误

编辑:

我需要每个员工的出席。如果不存在,则标志基本上为1,如果有其他内容,则标志基本上为0

最下面一行(标志、日期、状态、注释)。现在我有一个警告:

=iif(Fields!Flag.Value=1,"RED",Nothing)
在中间行(EmpID,EmpName)的文本框(Textbox62)旁边,我做了表达式:SUM(Flag),在文本框属性的Fill部分我做了:

=iif(SUM(Fields!Flag.value,"Fields!EmpID.Value")>2,"RED",nothing)
因此,如果员工缺勤超过3天,上述表达式将创建一个警报

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

=iif(MAX(Sum(Fields!Flag.Value))>2,"Red",Nothing)
它在部门一级不起作用,因为它基本上考虑(SUM(SUM(Flag)))


谢谢…………

如果您没有指定聚合的范围,则假定您使用的是当前范围。例如,当你说

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”一词出现在框中。如果要更改颜色,必须将其放入属性中的“填充颜色”表达式中。

“关于范围的错误说明”。。。那是什么“东西”,你用它做了什么“TextBox62”的值表达式具有对聚合函数无效的作用域参数。它表示范围参数必须设置为字符串常量,该常量等于包含组的名称、数据集的名称或包含数据区域的名称。该错误意味着需要使用组、数据集或数据区域的名称作为范围。您已在数据集中使用了字段的名称。你能再解释一下你想要实现的目标吗?你想要所有员工的最大值,还是每个经理或部门的最大值?关于
=iif(max(max(SUM(Fields!Flag.value,“EmpID”))>2,“RED”,nothing)
灾难再次降临。。。这在SSRS 2008中不起作用。它基本上是说,总的来说,总的来说是不可能的。。谁能告诉我怎么做……嘿,史蒂文,谢谢你的回复。但不知何故,这似乎不适用于SSRS 2008或以下版本。它抛出一个错误,表示我们不能使用聚合的聚合。你能告诉我我能做些什么吗?它在2008年对我有效。我需要更多的细节来帮助你。请将您使用的表达式、放置位置以及确切的错误消息发布。这是我收到的错误消息“文本框'Textbox59'的BackgroundColor表达式在参数中包含聚合函数(或RunningValue或RowNumber函数)到另一个聚合函数(或RunningValue).Aggregate函数不能嵌套在其他聚合函数中。生成完成--1个错误,0个警告“表达式(文本框59):=iif(最大值(总和)(字段!Flag.value,“EmpID”),“部门”)>2,“红色”,无任何内容)Try=iif(最大值(总和(字段!Flag.value,“详细信息”),“EmpID”)>2,“红色”,无任何内容)