Visual Studio для SSRS 2008 - Как организовать отчеты в подпапках в обозревателе решений? - PullRequest
28 голосов
/ 22 июля 2010

Прямо сейчас у меня есть проект, называемый отчетами с несколькими отчетами. В обозревателе решений это выглядит так:

Shared Data Sources
 -- DEV
Reports
 -- Report1
 -- Report2
 -- Report3

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

Shared Data Sources
 -- DEV
Folder A
 -- Report1
Folder B
 -- Report2
 -- Report3

Кто-нибудь знает, как это сделать?

Ответы [ 7 ]

28 голосов
/ 23 июля 2010

Я использую SSRS 2005 - я думаю эта часть работает так же, как и 2008.

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

Чтобы создать новую папку, щелкните правой кнопкой мыши решение в обозревателе решений и выберите Добавить> Новый проект ...

Введите новое имя проекта (например, MyProject) и выберите «Проект сервера отчетов» из списка установленных шаблонов Visual Studio. Нажмите кнопку ОК, и ваш новый проект должен появиться в конце списка проектов в обозревателе решений.

(Существуют другие способы настройки нового проекта отчетов, но это, кажется, самый быстрый способ.)

Если вы теперь щелкнете правой кнопкой мыши по вашему новому проекту отчета и выберите «Свойства», вы увидите TargetReportFolder, который по умолчанию будет соответствовать вашему новому имени проекта (например, MyProject). При развертывании отчетов из SSRS они развертываются в этом месте. (Вы можете изменить местоположение, если хотите - мне легче отслеживать, что и где, используя имя проекта.)

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

Итак, чтобы получить структуру диспетчера отчетов, которую вы хотите увидеть:

  • Создание проектов, называемых папкой A и папкой B
  • Переместить / скопировать Report1 в папку «Отчеты» в папке проекта A
  • Перемещение / копирование Report2 и Report3 в папку «Отчеты» в папке проекта B
  • Перемещение / копирование источника данных DEV в папки общих источников данных в папке проектов A и папке B
  • Развертывание отчетов

Не забудьте проверить изменения в управлении исходным кодом.

4 голосов
/ 26 июля 2010

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

Затем я установил скрипт в RS, который:
- Создает единый источник данных, используемый всеми отчетами, в моем случае
- Прокручивает все каталоги в папке решения
- Создает то же имя папки на сервере RS
- Развертывает все файлы в этом каталоге в эту папку на сервере RS
- Использует rs.SetItemDataSources в каждом отчете, чтобы перенаправить его в мой основной источник данных

И это в основном все.

Предостережения: иногда вы загружаете файлы, которые вам не нужны (например, удаленные отчеты, в которых все еще находятся файлы .RDL). Но вы можете написать сценарий вокруг этого или просто выбросить его в RS и заново загрузить.

Для этого у меня есть один сценарий, но я могу развернуть структуру в многочисленных разных родительских папках, каждая с разными источниками данных, и иметь все отчеты в папке, получая данные из другой базы данных. Это позволяет мне запускать 1x экземпляр RS, но иметь области разработки, тестирования, обучения и т. Д.

3 голосов
/ 09 марта 2017

Мы справляемся со связанными отчетами в SSRS. Мы разворачиваем отчеты в папке «Распределение отчетов», скрытой от пользователей, затем создаем связанные отчеты в веб-интерфейсе служб Reporting Services (опция в разделе «Управление» для каждого отчета). Вы можете создать связанный отчет в любой папке, чтобы вы могли построить необходимую структуру папок и поместить связанные отчеты в нужное место.

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

2 голосов
/ 23 июля 2010

У меня есть проект BI, работающий в SSRS2008 с примерно 80 отчетами - и это мой опыт развертывания отчетов в папки.Это мой первый опыт разработки в службах Reporting Services, поэтому любой гуру, пожалуйста, шлепните меня, если я собираюсь на обед.

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

Насколько мне известно, единственный способ создать структуру папок в SSRS - это использовать интерфейс диспетчера отчетов и создавать папки на сервере отчетов.Я предполагаю, что оттуда вы бы изменили путь в свойствах отчета в Visual Studio.Либо так, либо вы должны определить путь при первой настройке отчета.Я не проверял это, поэтому YMMV.

Итак, в заключение: невозможно создать папки в BIDS и развернуть ваши отчеты в папки, используя IDE.Надеюсь, что это решено в 2008R2, потому что все эти отчеты объединяются в обозревателе решений, и это своего рода боль.

1 голос
/ 13 мая 2013

Вы можете хранить файлы в отдельных папках на диске / в контроле источника, однако в Visual Studio они располагаются по списку и сортируются в алфавитном порядке.

Я не вижу пользовательский интерфейс для управления вышеуказанным, но если вы редактируете файл проекта (один файл проекта решения VS), вы можете указать тег XML FullPath для каждого файла отчета.

0 голосов
/ 01 сентября 2015

@ skiwii правильно, с VS 2013 Community Edition и SQL Data Tools - Business Intelligence, вы не видите узел Solution в верхней части дерева в VS Solution Explorer, и у вас естьвзломать файл .SLN, чтобы открыть его.

  1. Начните с требуемого главного файла .sln и одного файла .rptproj в дереве исходного кода.назовите этот «родитель».
  2. Создайте новый пустой файл служб отчетов .rptproj в новой подпапке (в папке, содержащей файл .sln).например, проект - «child1».VS также выдаст вам файл child1.sln в этой папке.
  3. Закройте все окна VS.
  4. С помощью вашего любимого текстового редактора (teco!)
    1. open child1.sln,
    2. Скопируйте 2 строки вверху;Project ... и EndProject
    3. Открыть parent1.sln
    4. Вставить эти строки в существующий Project / EndProject.
  5. Теперь откройте parent1.sln вVS.Вы волшебным образом увидите узел Solution в верхней части окна Solution Explorer.

Если вам очень повезло, вы также увидите второй проект child1.Но если нет, то нет проблем.Вы можете просто щелкнуть правой кнопкой мыши по решению и добавить новый проект типа Report Services.

0 голосов
/ 26 августа 2014

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

Файл решения Microsoft Visual Studio, версия формата 10.00

Visual Studio 2008

Project ("{F14B399A-7131-4C87-9E4B-1186C45EF12D}") = "RestOfWorld", "RestOfWorld \ RestOfWorld.rptproj", "{D24D5EEA-88A4-4375-802B-7CA877202787}" EndProject

Project ("{F14B399A-7131-4C87-9E4B-1186C45EF12D}") = "Северная Америка", "Северная Америка \ NorthAmerica.rptproj", "{C64A3BDC-F526-4037-AD48-31799BECC3AD}" EndProject Global

...