如何在矩阵小计中格式化行?

时间:2011-06-06 13:52:32

标签: reporting-services matrix

我有一个数据集,我需要将其作为矩阵报告。在数据集中,我将一周内CDN的个别总数以及本周内所有CDN的总数汇总在一起。我这样做是为了便于计算报告中的每周百分比。

我正在使用Visual Studio 2005来构建报告。您可以在Sheet2上看到矩阵定义。

一切都很好,直到我达到底部总计。正如您在Sheet3上看到的那样,总提供量是正确的,但%to Total是不正确的。事实上,我甚至不需要在Total部分显示这一行。我怎么能隐藏这一排?

2 个答案:

答案 0 :(得分:3)

以下两种方法可以隐藏 SSRS报告的小计部分中的行或行值。以下示例使用 SSRS 2005

<强> A 即可。第一个选项是在单元格上设置Initial Visibility表达式以隐藏行。总计标签单元格将跨越两行,这可能看起来不太好。请参阅屏幕截图# 1

<强>乙即可。第二个选项是根据范围显示单元格中的数据。这不会隐藏行但不会显示任何数据。请参阅屏幕截图# 7

以下部分解释了如何实现上述每个选项。

使用选项A:

  1. 右键单击包含PhonenumberCDN source表达式的单元格,然后选择编辑组...,如屏幕截图# 2 所示。

  2. 记下名称。此处,此示例使用名称PhoneNumber。点击OKCancel。请参考screemshot# 3

  3. 右键点击包含文字% to Total的单元格,然后选择Properties,如屏幕截图# 4 所示。

  4. Textbox Properties对话框中,点击Visibility标签,然后选择Expression单选按钮。在表达式中,输入值 =Not(InScope("PhoneNumber")) 。请参阅屏幕截图# 5

  5. 右键单击包含表达式的单元格以计算%to Totals值,然后选择Properties,如屏幕截图# 6 所示。对该单元格重复步骤 6

  6. 使用选项B:

    1. 执行步骤1&amp;上一个选项中提到的2 A

    2. 右键点击包含文字% to Total的单元格,然后选择Expression,如屏幕截图# 8 所示。

    3. 将表达式更改为=IIf(InScope("PhoneNumber"), "% to Total", Nothing)

    4. 右键单击包含表达式的单元格以计算%to Totals值并选择Expression,如屏幕截图# 9 所示。

    5. 将表达式更改为=IIf(InScope("PhoneNumber"), Round((IIf(Sum(Fields!Offered.Value) = 0 Or Sum(Fields!WeekTotal.Value) = 0, 0, Sum(Fields!Offered.Value)/Sum(Fields!WeekTotal.Value))) * 100, 1).ToString() + " %", Nothing)

    6. 确保根据您的要求更改表达式。

    7. 选项 A 的输出可以在屏幕截图# 1 中看到,选项 B 的输出可以在屏幕截图# 7中看到

      希望有所帮助。

      屏幕截图#1:

      1

      屏幕截图#2:

      2

      屏幕截图#3:

      3

      屏幕截图#4:

      4

      屏幕截图#5:

      5

      屏幕截图#6:

      6

      屏幕截图#7:

      7

      屏幕截图#8:

      8

      屏幕截图#9:

      9

答案 1 :(得分:0)

我能够找到另一种方法来做到这一点。由于我的数据设置方式,SubTotal部分中的WkTotOff.Value始终是CDN_Values数量的一个因子。因此,我可以放置 = iif(Sum(Fields!WkTotOff.Value)/ CountDistinct(Fields!CDN_Val.Value)= Sum(Fields!Offered.Value),“Silver”,“White”)在背景颜色中我想要的行的属性隐藏(在详细信息部分)。由于单个细节级别永远不会满足此条件,因此这些级别仍然可见。

这看起来有点草率但是我能想出来的一切。我也会尝试你的方法。

PK