SSRS:根据字段值将差异背景颜色设置为数据透视矩阵中的整行,包括该行中的 empty/null 个单元格
SSRS: Set diff background colors to entire row in Pivot Matrix based on field value , including empty/null cells in that row
** 使用 SSRS 2008 R2
我在尝试突出显示(设置背景颜色)数据透视矩阵中的整行时遇到了一个问题 - 它只会更改行中具有值的单元格的背景颜色。其他人保持白色。我希望为整行设置背景颜色,甚至是那些空单元格。
在编辑器中,我突出显示了该行,并在 "BackgroundColor" 属性 中为表达式添加了一个 switch 语句。
=开关(字段!Department.Value="Accounting","Yellow",字段!Department.Value="HR","Blue",字段! Department.Value="Marketing", "Red")
Department JAN FEB MAR APR MAY
-----------------------------------------------------------
John 3 2
Mark 1 4 1
Tim 2
因此在上面的示例中,这仅适用于员工姓名单元格,以及具有数字值的单元格,其余(空单元格)没有背景色。
关于如何获取整行的任何帮助,约翰(在会计中)的 IE 如何让 JAN、MAR、APR 也变成黄色?
任何帮助将不胜感激,谢谢!!
问题是由于该月没有数据,因此没有部门。
我认为您可以通过使用部门的行分组的 MAX 来解决这个问题。 MAX 将忽略 NULL 值并使用
=Switch(MAX(Fields!Department.Value, "<DeptGroupName>") = "Accounting", "Yellow",
MAX(Fields!Department.Value, "<DeptGroupName>") = "HR", "Blue",
MAX(Fields!Department.Value, "<DeptGroupName>") = "Marketing", "Red")
<DeptGroupName>
是部门行组的名称。这会将值限制为该行组中的值。
如评论中所述,我的解决方案是使用部门字段创建一个隐藏列,然后直接引用文本框。您将在 month/date 列之后添加一个新列,在列的任何分组之外。您可以右键单击 header 列并导航至 "Column Visibility",然后 select 隐藏选项。从那里,将部门字段输入到与每个名称和日期对齐的文本框中。我猜默认的文本框名称将类似于 Textbox6,所以只需使用 ReportItems!Textbox6.Value
来引用它。表达式应如下所示。
=Switch(ReportItems!Textbox6.Value="Accounting", "Yellow",
ReportItems!Textbox6.Value="HR", "Blue",
ReportItems!Textbox6.Value="Marketing", "Red")
** 使用 SSRS 2008 R2
我在尝试突出显示(设置背景颜色)数据透视矩阵中的整行时遇到了一个问题 - 它只会更改行中具有值的单元格的背景颜色。其他人保持白色。我希望为整行设置背景颜色,甚至是那些空单元格。
在编辑器中,我突出显示了该行,并在 "BackgroundColor" 属性 中为表达式添加了一个 switch 语句。
=开关(字段!Department.Value="Accounting","Yellow",字段!Department.Value="HR","Blue",字段! Department.Value="Marketing", "Red")
Department JAN FEB MAR APR MAY
-----------------------------------------------------------
John 3 2
Mark 1 4 1
Tim 2
因此在上面的示例中,这仅适用于员工姓名单元格,以及具有数字值的单元格,其余(空单元格)没有背景色。
关于如何获取整行的任何帮助,约翰(在会计中)的 IE 如何让 JAN、MAR、APR 也变成黄色?
任何帮助将不胜感激,谢谢!!
问题是由于该月没有数据,因此没有部门。
我认为您可以通过使用部门的行分组的 MAX 来解决这个问题。 MAX 将忽略 NULL 值并使用
=Switch(MAX(Fields!Department.Value, "<DeptGroupName>") = "Accounting", "Yellow",
MAX(Fields!Department.Value, "<DeptGroupName>") = "HR", "Blue",
MAX(Fields!Department.Value, "<DeptGroupName>") = "Marketing", "Red")
<DeptGroupName>
是部门行组的名称。这会将值限制为该行组中的值。
如评论中所述,我的解决方案是使用部门字段创建一个隐藏列,然后直接引用文本框。您将在 month/date 列之后添加一个新列,在列的任何分组之外。您可以右键单击 header 列并导航至 "Column Visibility",然后 select 隐藏选项。从那里,将部门字段输入到与每个名称和日期对齐的文本框中。我猜默认的文本框名称将类似于 Textbox6,所以只需使用 ReportItems!Textbox6.Value
来引用它。表达式应如下所示。
=Switch(ReportItems!Textbox6.Value="Accounting", "Yellow",
ReportItems!Textbox6.Value="HR", "Blue",
ReportItems!Textbox6.Value="Marketing", "Red")