Недавно Тимо Климмер, мой коллега из компании Microsoft, с помощью процедур объекта Custom Report Item блестяще расширил набор функций службы SSRS, которая теперь позволяет использовать код R Graphics и графические средства. Он назвал этот проект «» и был настолько любезен, что поделился результатами своей работы с общественностью на CodePlex. Объекты Custom Report Item могут быть использованы для расширения возможностей механизмов и визуализации системы SSRS в режиме SharePoint Mode или Native Mode. Эти объекты существуют, по крайней мере, с момента выпуска версии SQL Server 2005. Несколько примеров проектов Visual Studio, использующих объекты Custom Report Item, были включены в сборник примеров программного кода от компании Microsoft (msftrsprodsamples.codeplex.com/wikipage?title=SS2008R2!Custom%20Report%20Item%20Sample&referringTitle=Home), выпущенный в коробочной версии. В обычной среде построения отчетов объекты Custom Report Item используются редко, потому что кривая обучения инструментарию. NET, которое необходимо пройти для создания таких дополнений, имеет слишком большую крутизну. Чаще их можно обнаружить в дополнениях, созданных сторонними разработчиками или в ресурсах, специализирующихся на разработке приложений. Однако если код объектов Custom Report Item уже был написан, скомпилирован и установлен, их достаточно просто использовать в рамках отчета SSRS. Можно перетаскивать установленный объект Custom Report Item, как если бы вы работали с объектами Chart или Table из инструментария SSRS Toolbox (см. экран 1).

 

Работа с объектами Chart или Table из?инструментария SSRS Toolbox
Экран 1. Работа с объектами Chart или Table из?инструментария SSRS Toolbox

Установив решение R Graphics Device, вы сможете экспериментировать со множеством различных визуализаций данных, поддерживаемых графическими библиотеками языка R. Популярные библиотеки визуализации языка R, такие как ggplot2, теперь могут быть выбраны для использования в классических отчетах SSRS. Чтобы добавить визуализацию данных c помощью языка R, скопируйте и вставьте фрагменты кода R в окно свойств решения R Graphics Device в среде SSRS. Текущая версия также поддерживает передачу параметров из среды SSRS в код R (см. экран 2). Библиотеки визуализации языка R содержат классические диаграммы, статистические области построения и даже сложные графики. Возможности продукта не ограничены созданием основной диаграммы, во многих случаях можно добавлять аннотации, затенения или линии для выделения доверительных интервалов или квартилей. Приведу несколько примеров визуализаций языка R:

  • Тепловые карты
  • Плоские деревья
  • Облака слов
  • Гистограммы
  • Графики плотности
  • Блочные диаграммы
  • Сетевые диаграммы
  • Диаграммы Сэнки
  • Деревья принятия решений
  • Поверхностные диаграммы

 

Фрагменты кода R в R Graphics Device в?среде?SSRS
Экран 2. Фрагменты кода R в R Graphics Device в?среде?SSRS

Если вы хотите больше узнать о библиотеках визуализаций и сценариях в языке R, рекомендую ознакомиться с книгами R Graphics Cookbook Уинстона Вонга или ggplot2 Хэдли Уикхема. Кроме того, можно поискать в интернете примеры визуализаций в языке R и учебники.

Помимо визуализации данных, вы можете использовать решение R Graphics Device для обращения к усовершенствованным механизмам анализа данных языка R и вычислительным алгоритмам машинного обучения из отчета SSRS. Например, можно использовать механизмы Principal Component Analysis, Clustering, Time Series Forecasting, Social Network Analysis, а также множество других приложений.

Если вы хотите установить и протестировать бесплатное решение R Graphics Device, код решения для оболочки Visual Studio 2013 можно загрузить с ресурса https://rgraphicsdevice.codeplex.com/. Имейте в виду, что версия оболочки Visual Studio, необходимая для компиляции dll-библиотеки R Graphics Device в вашем окружении, не соответствует версии Visual Studio BIDS, в которой вы разрабатываете отчеты SSRS. Две разновидности Visual Studio могут быть установлены «бок о бок». Для создания установочной dll-библиотеки решения R Graphics Device вам потребуется версия оболочки Visual Studio 2013, предназначенная для разработчиков (www.visualstudio.com/en-us/products/compare-visual-studio-products-vs.aspx). Чтобы ссылаться на определенные библиотеки окружения системы SSRS, вы должны свободно владеть навыками изменения настроек проектов Visual Studio. Если вы изучаете проект R Graphics Device, то в первую очередь установите и протестируйте его на сервере разработки. Не тестируйте этот проект в производственной среде — для него не существует отдельной технической поддержки.

Для использования проекта SSRS Custom Report Item R Graphics Device требуется предварительная настройка.

  • Установите язык R (с ресурсов r-project.org, Revolution Analytics или с любого другого) с желаемым пакетом визуализации (ggplot2 или каким-либо другим) на сервер SSRS и/или на машину разработчика.
  • Создайте ссылку на свою версию библиотеки Microsoft.ReportingServices.ProcessingCore.dll системы SSRS (в версиях SSRS 2005, 2008, 2008R2, 2012 или 2014) в коде проекта R Graphics Device Customer Report Item. NET с помощью оболочки Visual Studio. Для этого скомпилируйте библиотеку SSRS.CustomReportItems.dll, а затем скопируйте скомпилированную библиотеку в свою папку с библиотеками SSRS в соответствии с инструкциями, которые находятся в том же пакете, что и код.
  • Добавьте решения R Graphics Device в инструментарий SSRS Toolbox другой версии оболочки Visual Studio — Visual Studio Business Intelligence Development Studio (BIDS), в которой вы разрабатываете отчеты SSRS.

Более опытных разработчиков на платформе NET C# я призываю не стесняться и продолжать расширять этот код для решения других задач. Если вы пополните набор функций, пожалуйста, поделитесь своими усовершенствованиями с сообществом бизнес-аналитиков на ресурсе CodePlex.