2012-04-19 57 views
8

如果在Tablix(表)中有分組列的rdlc報表。我想添加一個跨越所有動態創建的列的頁腳行,並顯示所有列的總計。 如何告訴單元格它應該跨越由該組創建的所有創建的列?如何爲分組列創建總計行

|-------|-------|-------| 
| col 1 | col 2 | col 3 | 
|-------|-------|-------| 
| Column-Group Total | 
|-----------------------| 

請注意,計算總數不是我的問題。我只是在尋找一種方法來告訴報表查看器合併通過特定行的列組自動創建的單元格。

更新
可悲的是,到現在爲止,我還沒有找到一個解決這個。此外,我也在報告中遇到過同樣的問題,我不得不在合併列中添加行組的總計。

|------|-------| 
|row 1 |  | 
|------| Row- | 
|row 2 | Group | 
|------| Total | 
|row 3 |  | 
|------|-------| 

我覺得這是一種很常見的顯示總數的方法。 這是不可能的,或者我錯過了明顯的東西?

UPDATE2
這裏我的意思截圖:

Spanning Category Total

在中間有一組。這會在運行時創建n列。我想要做的是跨越所有動態創建的列的「spanning category total」。這意味着,細胞的柱頭是n。只有一個單元格,在這個單元格中,我將顯示所有類別的總數。這與報表查看器在組頂部自動創建的結果基本相同。

+0

動態列是這種某種關鍵(財政年度的列頭,例如在該財政年度花費的美元的數據值)? – Pulsehead 2012-04-24 16:43:02

+0

@Pulsehead:正如你所提到的那樣,有一些關鍵年份的報告。例如。 col1 = 2005,col2 = 2006,col3 = 2007,列組總數應顯示col1-col3的總數。在其他報告中,還有其他分組列,如辦公地點,月份名稱等。列的數量不固定,取決於要顯示的數據。 – HCL 2012-04-24 18:34:05

回答

-1

因爲它看起來像你有一個動態列組,你可能會投入列:

領域ColHeading.Value |共
場DataValue.Value     |! = SUM(Fields!DataValue.Value)

如果您更喜歡圖形界面,請右鍵單擊總數值字段並單擊表達式。在彈出窗口中,展開常用函數並單擊Aggregate並在項目窗口中雙擊Sum。輸入或點擊數據字段,你會得到這樣的:Filled out Expression Window

點擊確定,你很好走!

+0

感謝您的回答,但它不響應我的問題 - 我必須知道,我如何告訴報表引擎合併爲總行的動態創建的單元格,以便總單元跨越所有自動創建的列。類似於總計行中HTML的ColSpan。 – HCL 2012-04-25 15:12:03

0

據我所知,rdlc是您在Report Wizard或Visual Studio上編輯的報告文件,而不是在BIDS上開發報告文件的rdl。

我不知道這是否會在RDLC文件的工作,因爲我只用BIDS,但我認爲它值得嘗試:

  1. 行組選項卡(鈕左)右擊你的組和 選擇加總 - >之後,它會添加一個總行。
  2. 總和細胞(總)臨時複製到其他地方的 報告使用SHIFT,選擇細胞通過細胞上要合併的行(因爲下一步會,如果你不刪除它)
  3. (不 選擇該行本身)
  4. 右鍵單擊它並選擇合併單元格
  5. 粘貼複製走的步驟2

結果(我希望你能看到)的總和細胞:

enter image description here

編輯:

回答你的問題,是的,我敢肯定,這是可以做到,因爲我做到了幾次,你也看到了打印屏幕上。 我正在爲我的行粘貼XML,我想祕密在<ColSpan>8</ColSpan>標籤上。我的報告中有8列。

<TablixRow> 
<Height>0.25in</Height> 
<TablixCells> 
    <TablixCell> 
    <CellContents> 
     <Textbox Name="textbox18"> 
     <CanGrow>true</CanGrow> 
     <KeepTogether>true</KeepTogether> 
     <Paragraphs> 
      <Paragraph> 
      <TextRuns> 
       <TextRun> 
       <Value>=Sum(Fields!myField.Value)</Value> 
       <Style> 
        <FontFamily>Tahoma</FontFamily> 
        <FontSize>9pt</FontSize> 
        <Format>'$'#,0.00;('$'#,0.00)</Format> 
       </Style> 
       </TextRun> 
      </TextRuns> 
      <Style> 
       <TextAlign>Right</TextAlign> 
      </Style> 
      </Paragraph> 
     </Paragraphs> 
     <rd:DefaultName>textbox16</rd:DefaultName> 
     <Style> 
      <Border> 
      <Color>LightGrey</Color> 
      <Style>Solid</Style> 
      </Border> 
      <BackgroundColor>White</BackgroundColor> 
      <PaddingLeft>2pt</PaddingLeft> 
      <PaddingRight>2pt</PaddingRight> 
      <PaddingTop>2pt</PaddingTop> 
      <PaddingBottom>2pt</PaddingBottom> 
     </Style> 
     </Textbox> 
     <ColSpan>8</ColSpan> 
     <rd:Selected>true</rd:Selected> 
    </CellContents> 
    </TablixCell> 
    <TablixCell /> 
    <TablixCell /> 
    <TablixCell /> 
    <TablixCell /> 
    <TablixCell /> 
    <TablixCell /> 
    <TablixCell /> 
</TablixCells> 
</TablixRow> 
+0

感謝您的回答。我嘗試過,但Visual Studio不讓我合併單元格(第3步+ 4步)。只要選擇屬於組的一部分的單元格,編輯器的合併命令就會被禁用。你是否確信BIDS可以做到這一點?如果是的話,可能有機會在xml中定義合併,因爲就我所知,渲染引擎是相同的。在這種情況下,它只是編輯器的限制。您能否說出BIDS允許合併分組單元格?這對於進一步的搜索會有很大幫助... – HCL 2012-04-26 14:26:51

+0

是的,我確定。看看我的編輯 – Diego 2012-04-26 14:35:04

+0

,但你想要什麼?所有行上的col1 + col2 + col3的總和?那只是將你的表達式從= Sum(Fields!col1.Value)改爲= Sum(col1 + col2 + col3) – Diego 2012-04-26 15:35:41

1

不知道你是否已經找到一個答案,但,但如果沒有...

通常,總計有望在最後一列列最後的分組數據行以數據分組成行...

但是,根據您的範圍和分組級別,您可以通過將tablix嵌入到外部tablix中,然後添加一個行添加到彙總數據的外部tablix。

我在矩形和列表中使用了多個數據區域來操縱各種佈局。你只需要使用範圍,並且可能調整你的輸出數據(如果這些範圍不合作,則按存儲過程中的組進行求和/平均)。讓我知道它是否可以解決您的問題。

+0

嘗試添加一個截圖,你應該能夠。 – saluce 2012-06-12 21:05:52