Единственный способ заставить меня работать софтом:
Каждый отчет имеет 2 набора данных.
- ReportData
- DataHeaders
«DataHeaders» должен иметь правильное имя полей данных в «ReportData».Будьте внимательны, поскольку SSRS заменяет пробелы и специальные символы на «_»
. Теперь создайте таблицу (или матрицу) и перетащите заголовки DataHeaders в качестве столбцов вашего отчета.(Это должен быть сгруппированный столбец).Если вы запустите его на этом этапе, вы увидите все свои столбцы без каких-либо данных.Теперь приходит волшебство:
Создайте еще один отчет, который принимает параметр «DataField».Создайте в этом отчете другую таблицу или матрицу и установите для ее свойства набора данных «ReportData».В ячейке DATA для таблицы установите для нее выражение = Fields (Parameters! DataField.Value) .Value
Теперь вернитесь к своему первому отчету.Щелкните правой кнопкой мыши и вставьте подотчет.Щелкните правой кнопкой мыши на подотчете и выберите «Свойства подотчета».Под общим выберите второй созданный вами отчет, который будет использоваться в качестве подотчета.В параметрах выберите параметр DataField и установите для него значение: = Fields! DataField.Value
В моем случае я выполнил некоторое форматирование в этом выражении, чтобы устранить вышеупомянутую проблему с пробеламии специальные символы, поскольку моя хранимая процедура изначально использовалась в ASP.NET, и это было просто доказательством концепции.
Кроме того, по моему опыту, производительность невелика.На самом деле это было довольно медленно, хотя у меня не было возможности переключить его на использование общего набора данных, что, как я подозреваю, могло бы немного помочь.Пожалуйста, дайте мне знать, если вы найдете лучшее решение.