Можно ли создать строку, которая охватывает все столбцы матрицы в SSRS 2008? - PullRequest
17 голосов
/ 27 октября 2010

Можно ли добавить в матрицу SSRS 2008 строку, которая охватывает все столбцы матрицы?

Эта грубая диаграмма показывает примерно то, что я ищу:

visual example of the matrix layout I'm looking for

Основная идея состоит в том, что каждая позиция - это человек, а каждый столбец - это поле в форме для этого человека.Сами поля являются динамическими (и реализованы в виде групп столбцов на матрице).Дополнительные группы столбцов включены для добавления нединамических полей формы, например, когда была введена запись и кто ее ввел.Под записью каждого человека находится поле комментариев, которое должно охватывать все поля формы над ним.

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

Редактировать: Ключевой проблемой здесь является создание второго интервала строки несколько столбцов групп .

Ответы [ 5 ]

11 голосов
/ 26 марта 2014

Вот что вы можете сделать:

  1. Выберите группу столбцов, которую вы хотите добавить выше, щелкните правой кнопкой мыши и выберите Добавить группу ... Родительская группа ...
  2. Сгруппируйте столбец по тому, что не будет агрегировать данные.Вам нужно выбрать поле из набора данных для группировки, чтобы оно создавало перекрывающуюся группировку столбцов.
  3. Проверьте Добавить заголовок группы box

Теперь вы должны увидеть что-то похожее на это:

Matrix with columns

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

Ваш готовый продукт должен выглядеть следующим образом:

enter image description here

5 голосов
/ 26 июня 2015

Это возможно - и приведенные выше ответы являются частичными, оставляя без внимания один ключевой шаг: объединение ячеек дочернего ряда.

Сначала щелкните правой кнопкой мыши на сгруппированной строке, затем выберите Insert Row -> Inside Group - Below, и вы получите две строки с ячейками, выравнивающимися по столбцам

Во-вторых, ctrl щелкните все ячейки в новой строке (т.е. строке без данных), затем щелкните правой кнопкой мыши одну из выделенных ячеек и выберите Merge Cells.

Теперь у вас есть стол, который вам нравится. Чтобы добавить значение в новую строку: сначала щелкните правой кнопкой мыши новую ячейку (из нескольких столбцов), выберите Create Placeholder, а затем добавьте элемент набора данных, который вы хотите, в качестве заполнителя.

5 голосов
/ 03 апреля 2013

Попробуйте добавить в вас группу столбцов «заголовок» с выражением группировки (1 = 1).Тогда поле детализации должно быть определено.Если вы определите другую группу с правильными данными, тогда «заголовок» будет растянут по всем столбцам сведений.Вам может понадобиться объединить в зависимости от других вариантов.

5 голосов
/ 30 октября 2010

[Изменить]

После нескольких попыток, я собираюсь сказать, что это невозможно в SSRS.Лучшее, что я могу придумать, - это нижний колонтитул группы, который охватывает столбцы 1, 2 и 3, но не столбец пользователя.недавно сделал что-то похожее на это.

Во-первых, какой инструмент вы используете для создания отчетов SSRS?(Я использовал SQL Server Business Intelligence Development Studio)

  • Вы захотите создать группу строк (сгруппированных по Person)

  • Добавитьстроки в таблицу в представлении «Дизайн» (щелкните правой кнопкой мыши «Вставить строку -> Внутри группы - ниже»).

  • Добавьте выражение в строку, которая извлекает значение для вашегоСтолбец «Комментарий» (= поля! Comment.Value).

Дайте мне знать, если это поможет ...

2 голосов
/ 18 марта 2016

Самый простой способ сделать это - создать Табликс с одним столбцом и группировкой строк. Затем вы создаете две строки внутри этой группы. В первой строке внутри группы вы вставляете матрицу, которую затем можете подгруппировать по своему усмотрению.

У меня просто была похожая проблема, и это было мое решение.

Я долго бился головой о стену, пока не понял, что решение моей проблемы не в том, чтобы «создать ячейку, охватывающую несколько групп столбцов», а «разделить ячейку на несколько групп столбцов». 1005 *

...