SQL Сервер - SSRS - отображать содержимое таблицы / представления непосредственно в отчете (без использования таблицы / матрицы) - PullRequest
1 голос
/ 05 августа 2020

У нас есть представление на SQL сервере, которое постоянно развивается.

Мы хотим показать его в отчете таким, какой он есть (если мы добавим / удалим поле в представлении, у нас не будет для изменения отчета и добавления / удаления поля вручную).

своего рода таблица / матрица, которая обновляется сама по себе.

Заранее спасибо за вашу помощь.

1 Ответ

0 голосов
/ 05 августа 2020

Без использования таблицы или матрицы? Почему нет? Вы действительно не можете сделать это без использования одного из этих элементов управления ...

Если не обращать внимания на это на мгновение, проблема, с которой вы столкнетесь, заключается в том, что запрос набора данных должен всегда возвращать одну и ту же структуру каждый раз, когда он run, чтобы вы не могли напрямую указать его на запрос, который постоянно меняется. на том. Используя матрицу, вы можете восстановить таблицу в отчете.

У этого подхода есть недостатки. Все данные значений должны быть преобразованы в постоянный тип данных, поэтому, если каждая строка имеет сочетание текстовых и числовых c значений, все они должны быть преобразованы в текст.

Этот подход также предполагает наличие ключевой столбец в таблице / представлении.

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

SELECT * FROM #result where keyid in (207,208) order by KeyID, ColumnPosition

введите описание изображения здесь

Теперь вы можете создать простой отчет с помощью матрицы, иметь группу строк, группирующуюся по KeyID, и группу столбцов, группирующуюся по ColumnName. Сортировка группы столбцов может быть установлена ​​на ColumnPosition, а ячейка «данных» матрицы установлена ​​на ColumnValue.

Весь этот процесс эффективно воссоздает таблицу / представление и будет динамически c.

...