2011-06-06 40 views
0

我有一個數據集,我需要報告爲矩陣。在數據集中,我將一週內CDN的個人總數以及本週內所有CDN的總數合計在一起。我這樣做是爲了方便計算報告中的每週百分比。如何在矩陣的小計內格式化一行?

我正在使用Visual Studio 2005來構建報表。您可以在Sheet2上看到矩陣定義。

一切工作良好,直到我到底部總。正如你在Sheet3上看到的那樣,總的提供是正確的,但是%到Total是不正確的。事實上,我甚至不需要在Total部分可見的這一行。我怎樣才能隱藏這一行?

回答

3

以下是兩種可能的方式來隱藏 SSRS報表的小計部分中的行或行值。下面顯示的示例使用SSRS 2005

A。第一個選項是在單元上設置Initial Visibility表達式來隱藏行。總計標籤單元格將跨越兩行,可能看起來不太好。請參閱屏幕截圖#。

B。第二種選擇是根據範圍顯示單元格中的數據。這不會隱藏行,但不會顯示任何數據。請參閱屏幕截圖#。

以下各節介紹如何實現上述每個選項。

使用選項A:在具有​​和CDN source表達細胞

  1. 右鍵單擊並選擇編輯組...如圖截圖#。

  2. 記下名稱。在這裏,這個例子使用名稱PhoneNumber。點擊OKCancel。請參閱screemshot#。在包含文本% to Total細胞

  3. 右擊並如圖截圖#選擇Properties

  4. Textbox Properties對話框中,單擊Visibility選項卡並選擇Expression單選按鈕。在表達式中,輸入值=Not(InScope("PhoneNumber"))。請參閱屏幕截圖#。上含有表達,以計算%至總計值和如圖截圖#選擇Properties細胞

  5. 單擊鼠標右鍵。對於這個單元也重複步驟。

使用選項B:

  • 執行在先前的選項提到的步驟1 & 2。在包含文本% to Total細胞

  • 右擊並如圖截圖#選擇Expression。上含有表達,以計算%至總計值和如圖截圖#選擇Expression細胞

  • 更改表達式=IIf(InScope("PhoneNumber"), "% to Total", Nothing)

  • 單擊鼠標右鍵。

  • 更改表達=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)

  • 確保您根據您的要求改變的表達。選項

  • 輸出可以在屏幕截圖#和選項的輸出可以看出可以在屏幕截圖#看到。

    希望有所幫助。

    截圖#1:

    1

    截圖#2:

    2

    截圖#3:

    3

    截圖#4:

    4

    截圖#5:

    5

    截圖#6:

    6

    截圖#7:

    7

    截圖#8:

    8

    截圖#9:

    9

    +0

    WOW!感謝您提供非常全面的答案。我知道必須有一種方法來使用InScope來做到這一點,但我無法弄清楚邏輯。 – user786028 2011-06-13 12:08:37

    0

    我能想出另一種方式來做到這一點。由於數據的設置方式,SubTotal部分中的WkTotOff.Value總是CDN_Values數量的一個因素。因此,我可以在背景顏色中放置 = iif(Sum(Fields!WkTotOff.Value)/ CountDistinct(Fields!CDN_Val.Value)= Sum(Fields!Offered.Value),「Silver」,「White」)我想要隱藏的行的屬性(在詳細信息部分)。由於單個細節級別永遠不會符合這個標準,因此這些細節將保持可見。

    這似乎有點草率,但我只能算出來。我也會嘗試你的方法。

    PK