我创建了一个 SSRS 报告,其中将小时显示为列名,将日期显示为行名。单元格值表示特定日期特定时间的销售额。
我的报告中的表格如下:
日期 |第 1 小时|第 2 小时|第 3 小时|最大销售额|最小销售额
2015 年 4 月 10 日| 5 | 10 | 15 | 15 | 5个 2015 年 4 月 11 日| 30 | 10 | 20 | 30 | 10
我希望在销售额最大的单元格中使用绿色背景,在销售额最小的单元格中使用红色背景。所需的输出如下:
日期 |第 1 小时 |第 2 小时 |第 3 小时 |最大销售额|最小销售额
4/10/2015|5(红色)| 10 |15(绿色)| 15 | 5个 2015/4/11|30(绿色)|10(红色)| 20 | 30 | 10
我为 GetColor 写了一个自定义代码如下:
Function GetCellColor(ByVal minValue As Integer,ByVal maxValue As Integer, ByVal currentValue As Integer) As String
If currentValue = maxValue Then
return "Green"
Else If currentValue = minValue Then
return "Red"
Else
return "WhiteSmoke"
End If
End Function
根据单元格值返回颜色。我无法传递一行的 maxValue、minValue。
提前致谢。
最佳答案
您应该能够按照自己的方式完成此操作,但您需要使用与填充Min 和Max 相同的字段或表达式> 代码调用中的列。如果您使用表达式来计算它,您将使用相同的公式。
=Code.GetCellColor(Fields!Max_Sales.value, Fields!Min_Sales.value, Fields!YourField.value)
正如 Koryu 所提到的,您可以通过将逻辑放在背景颜色属性的 Expression 中来完成此操作而无需使用代码:
=IIf(Fields!YourField.value = Fields!Max_Sales.value, "Green",
IIf(Fields!YourField.value = Fields!Min_Sales.value, "Red",
"WhiteSmoke"))
关于reporting-services - 如何在ssrs矩阵报告中的一行中获取列值的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29606786/