2012-04-19 2 views
8

Если у вас есть rdlc-отчет с группированными столбцами в таблице (таблице). Я хочу добавить строку нижнего колонтитула, которая охватывает все динамически созданные столбцы и показывает общее количество для всех столбцов. Как я могу передать ячейке, что она должна охватывать все созданные столбцы, созданные группой?Как создать итоговую строку для сгруппированных столбцов

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

Пожалуйста, обратите внимание, вычисляя общее это не моя проблема. Я только ищу способ сообщить программе просмотра отчетов объединить ячейки, созданные автоматически через группу столбцов для определенной строки.

Update
К сожалению, до сих пор, я не нашел решение этой проблемы. Более того, тот же вопрос, который я также встретил в отчете, где мне приходилось добавлять итоговые значения группы строк в объединенном столбце.

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

Я нахожу это довольно распространенным способом отображения итогов. Разве это невозможно в любом случае или я не вижу чего-то очевидного?

Update2
Вот скриншот того, что я имею в виду:

Spanning Category Total

В середине есть группа. Это создает во время выполнения n столбцов. То, что я хочу сделать, это «общая категория охвата» для охвата всех динамически создаваемых столбцов. Это означает, что columspan ячейки составляет n. Существует только одна ячейка, и в этой ячейке я покажу общее количество всех категорий. Это почти так же, как средство просмотра отчетов автоматически создается в верхней части группы.

+0

Динамические столбцы, это какой-то свод (глава столбца Финансового года и стоимость данных долларов, потраченных в этом финансовом году, например)? – Pulsehead

+0

@Pulsehead: Правильно, есть отчеты с разворачивающимися годами, как вы упомянули. Например. col1 = 2005, col2 = 2006, col3 = 2007, а общая группа столбцов должна показывать общее количество col1-col3. В других отчетах есть и другие группированные столбцы, такие как офисные места, имена месяцев и т. Д. Количество столбцов не фиксировано, оно зависит от данных, которые нужно визуализировать. – HCL

ответ

-1

Так это выглядит, как у вас есть динамическая группа столбцов, вы, вероятно, положить в колоннах:

Fields ColHeading.Value | Всего
Поля DataValue.Value     |! = SUM (Fields! DataValue.Value)

Если вы предпочитаете графический интерфейс, щелкните правой кнопкой мыши по полному значению поля и нажмите «Выражение». В раскрывающемся списке разверните Общие функции и нажмите «Агрегировать» и в окне «Элемент», дважды щелкните «Сумма». Введите или щелкните поле данных, и вы получите примерно следующее: Filled out Expression Window.

Хит Хорошо, и вы в порядке!

+0

Спасибо за ваш ответ, но он не отвечает на мой вопрос - я должен знать, как я могу сообщить движку отчета объединить динамически созданные ячейки для общей строки, так что общая ячейка охватывает все автоматически созданные столбцы. Что-то вроде ColSpan в HTML для итоговой строки. – HCL

0

Как я знаю, rdlc - это файлы отчетов, которые вы редактируете в Мастере отчетов или визуальной студии, в отличие от rdl, которые являются файлами отчетов, разрабатываемыми на BIDS.

Я не знаю, если это будет работать на RDLC файлов, потому что я использую только предложения, но я думаю, что его стоит попробовать:

  1. на вкладке групп строк (Боттон слева) щелкните правой кнопкой мыши на вашей группе и выберите добавить total -> after, он добавит общую строку.
  2. временно скопировать сумму ячейки (общее) в другое место в отчете о (потому что следующий шаг будет удалить его, если вы не)
  3. с помощью SHIFT, выберите ячейку с помощью ячейки на строку, которую нужно объединить (не выбрать саму строку)
  4. правой кнопкой мыши и выберите объединить ячейки
  5. вставить ячейку сумму, которую вы скопировали прочь на шаге 2

Результат (я надеюсь, что вы можете увидеть):

enter image description here

EDIT:

, отвечая на ваш вопрос, да, я уверен, что это может быть сделано, потому что я сделал это несколько раз, а также вы видели на экране печати. Я вставляю 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

Спасибо за ваш ответ. Я пробовал, но визуальная студия не позволяет мне объединять ячейки (шаг 3 + 4). Как только я выбираю ячейку, входящую в группу, команда слияния редактора отключается. Вы уверены, что это возможно с BIDS? Если да, возможно, будет возможность определить слияние в xml, потому что, насколько мне известно, механизм рендеринга одинаков. В этом случае это будет только ограничение редактора. Можете ли вы сказать, что BIDS позволяет сгруппировать сгруппированные ячейки? Это было бы большой помощью для дальнейших поисков ... – HCL

+0

Да, я уверен. Взгляните на мое редактирование – Diego

+0

, но что вы хотите? сумма col1 + col2 + col3 для всех строк? это только вопрос изменения вашего выражения от = Sum (Fields! col1.Value) до = Sum (col1 + col2 + col3) – Diego

1

Не знаю, если вы нашли ответ на этот вопрос, но, а если нет ...

Обычно, итоги, как ожидается, в последнем столбце данных, сгруппированных в столбцах и последний строка для данных, сгруппированных по строкам ...

Однако, в зависимости от области действия и уровня группировки, вы можете достичь того, чего хотите, вставив ваш tablix во внешний tablix, а затем добавив строка к внешнему tablix, который суммирует данные там.

Я использовал несколько областей данных внутри прямоугольников и списков для управления всеми видами макетов. Вам просто нужно поиграть с областями и, возможно, настроить выходные данные (суммы/средние по группам в хранимой процедуре), если эти области просто не взаимодействуют. Дайте мне знать, если это решит вашу проблему.

+0

Попробуйте добавить скриншот сейчас, вы должны быть в состоянии. – saluce

Смежные вопросы