Можно ли создать строку, которая охватывает все столбцы матрицы в SSRS 2008?
Можно ли добавить строку в матрицу SSRS 2008, которая охватывает все столбцы матрицы?
Эта грубая диаграмма показывает примерно то, что я ищу:
![visual example of the matrix layout I'm looking for]()
Основная идея состоит в том, что каждая позиция - это человек, и каждый столбец является полем в форме для этого человека. Поля сами являются динамическими (и реализуются как группы столбцов на матрице). Дополнительные группы столбцов включены для добавления нединамических полей формы, таких как время записи записи и кто ее ввел. Под каждой личностью запись представляет собой поле комментариев, которое должно охватывать все поля формы над ним.
На данный момент у меня есть матрица, встроенная в другой tablix, с именем и полями в матрице и комментариями в родительском tablix. Это работает для данных (каждый экземпляр матрицы заканчивается одной строкой), но заголовок повторяется слишком часто (один раз на человека), потому что он привязан к матрице. Единственное, что мне нужно, чтобы исправить это, - создать еще одну матрицу в родительском tablix с той же группировкой и использовать ее для отображения заголовков... Но для этого потребуется довольно много ручной синхронизации, чтобы сохранить две матрицы то же самое.
Изменить: Основная проблема здесь заключается в том, что второй ряд строк содержит несколько групп столбцов.
Ответы
Ответ 1
Вот что вы можете сделать:
- Выберите группировку столбцов, которую вы хотите добавить выше, и щелкните правой кнопкой мыши и выберите
Добавить группу... Родительская группа...
- Группируйте столбец тем, что не будет агрегировать данные. Вам нужно будет выбрать поле из вашего набора данных для группировки, чтобы оно создало перекрывающуюся группировку столбцов.
- Установите флажок Добавить группу заголовков
Теперь вы должны увидеть что-то похожее:
![Matrix with columns]()
Теперь вам просто нужно переместить поле Value1, а заголовок - под новым столбцом справа за разделителями матрицы. После этого просто удалите разгруппированный столбец, в котором вы скопировали значение Value1, и обязательно установите флажок Удалить столбцы только.
Готовый продукт должен выглядеть следующим образом:
![enter image description here]()
Ответ 2
[изменить]
После нескольких попыток я скажу, что это невозможно в SSRS. Лучшее, что я мог придумать, это нижний колонтитул группы, который охватывает столбцы 1,2 и 3, но не столбцы User.
[Исходный ответ]
Недавно я сделал что-то похожее на это.
Во-первых, какой инструмент вы используете для создания отчетов SSRS? (Я использовал SQL Server Business Intelligence Development Studio)
-
Вам нужно создать группу строк (сгруппированных по Person)
-
Добавить строку в таблицу в представлении "Дизайн" (щелкните правой кнопкой мыши, "Вставить строку → Внутри группы - ниже" ).
-
Добавьте выражение в строку, которая вытягивает значение для столбца "Комментарий" (= Поля! Комментарий.).
Сообщите мне, если это поможет...
Ответ 3
Попробуйте добавить в колонку "header" столбца с выражением группировки (1 = 1). Затем необходимо определить поле детали. Если вы определяете другую группу с правильными данными, тогда "заголовок" будет растягиваться по всем столбцам данных. Возможно, вам потребуется слияние в зависимости от других параметров.
Ответ 4
Возможно - И вышеприведенные ответы являются частичными ответами, оставив один ключевой шаг: Слияние ячеек дочернего ряда.
Сначала щелкните правой кнопкой мыши на вашей сгруппированной строке, затем выберите Insert Row -> Inside Group - Below
, и вы получите две строки с выравниванием ячеек в столбцах
Во-вторых, ctrl щелкните все ячейки в вашей новой строке (например, строка без данных), затем щелкните правой кнопкой мыши по одной из выделенных ячеек и выберите Merge Cells
.
Теперь у вас есть таблица, которая вам нравится. Чтобы добавить значение в новую строку: сначала щелкните правой кнопкой мыши на вашей новой ячейке (несколько столбцов), выберите Create Placeholder
, а затем добавьте элемент набора данных, который вы хотите заполнить.
Ответ 5
Самый простой способ сделать это - создать Tablix только с одним столбцом и группировкой строк.
Затем вы создаете две строки внутри этой группы.
В первой строке внутри группы вы вставляете матрицу, которую вы можете затем подгруппировать, как вы предпочитаете.
У меня была аналогичная проблема, и это было моим решением.
Я ударил головой о стену много времени, пока не понял, что решение моей проблемы - это не "создание нескольких групп столбцов", а "разделение ячейки на несколько групп столбцов".