Могу ли я (ab) использовать службы SQL-Server Analysis Services для создания пользовательских отчетов?

Вопрос:

Мы (то есть я, один человек) должны внедрить "отчеты, созданные пользователями" (максимум через 1 месяц, представление в конце месяца/начале нового месяца).

Проблема 1:
Под пользователем я подразумеваю пользователей, которые не обладают какими-либо техническими навыками, такими как SQL или VBA.

Проблема 2:
Технология ТОЛЬКО .NET, поэтому я не могу использовать Java (и вещи, основанные на Java, такие как Jasper)

Проблема 3.
Должен быть возможен экспорт в Excel (я имею в виду XLS или XLSX, а не XML или CSV).

Проблема 4.
Должна быть предусмотрена возможность группировки данных (несколько групп).

Проблема 5.
База данных — это Microsoft SQL-Server (предположительно 2008 R2, но может оказаться 2008 R1 или 2005)

Бонусная «проблема»:
веб-интерфейс с ASP.NET WebForms, но также может быть и настольный компьютер, если веб-сайт невозможен.


Теперь, помимо явной нелепости этих требований и временных ограничений...

Одним из решений может быть построитель отчетов, предоставляемый SSRS (служба отчетов SQL-Server). Тем не менее, есть некоторые недостатки, которые я считаю довольно серьезными:

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

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

  3. Если они собираются создать матрицу и суммировать промежуточные итоги из неокругленных значений, сумма итогов не будет совпадать с суммой промежуточных итогов, потому что в отчете будет что-то отображаться. как только 2 цифры после запятой (и, следовательно, округление значения до 2 цифр) для промежуточных итогов, но он будет вычислять итог из суммы всех значений (которые НЕ округлены), а не из суммы промежуточных итогов (которые округлый). Опять же, они обвинят в этом меня или данные, или построителя отчетов.

  4. Поскольку построитель отчетов не будет отображать количество результатов после добавления дополнительной таблицы с объединением, пользователь не сможет сказать, правильное ли количество записей у него, что неизбежно приведет к неправильным результатам. Опять будут обвинять меня.

  5. Фильтры по датам: их нужно применять, но не обязательно в месте, а в соединении. Построитель отчетов не поддерживает это. Невозможно создать такой серьезный отчет.

  6. Статус: как уже говорилось, мы используем мягкое удаление и поле статуса со статусом 99 для удаленных записей. Статус фильтрации в where опасен и иногда должен возникать в соединении. Опять же, Report Builder не поддерживает это, если только вы не используете необработанный SQL, что бессмысленно, поскольку пользователи не будут знать SQL.

  7. Для установки построителя отчетов требуются права администратора или ИТ-отдел компании-заказчика для его установки. И соответствующую платформу .NET для соответствующего ReportBuilder и соответствующий ReportBuilder для соответствующего Report-Server, поскольку служба отчетов SQL-Server 2005 НЕ будет работать с отчетами для служб отчетов SQL-Server 2008, а SQL 2008 R1 не будет работать с отчетами. Р2. А также для этого требуется, чтобы все пользователи, способные на это, были в определенной роли пользователя генератора отчетов службы отчетов SQL-Server, что требует, чтобы ИТ-отдел поместил пользователей в соответствующую группу активного каталога, которая до сих пор никогда не работала ни с одним из клиенты у нас были. Кроме того, я не верю, что ИТ-отдел знает, что они устанавливают соответствующий ReportBuilder, если они вообще соглашаются его установить.


Однажды мне (давным-давно) довелось посмотреть презентацию SSAS (SQL-Server Analysis Services) на YouTube.
Но ссылку уже не нахожу.
Но в любом случае у меня нет опыта работы со SSAS, только с SSRS.

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

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

Кто-нибудь знает SSAS достаточно хорошо, чтобы сказать мне, возможно ли это за такое время?
И совместима ли надстройка, необходимая для сервера анализа и версий Excel (2007/2010), со всеми версиями сервера анализа? , или если есть проблемы с доступом к 2008 R2 из Excel 2007 или SSAS-2005 из Excel 2010.

Или я должен столкнуться с большим количеством проблем с SSAS, чем с ReportBuilder?


person Stefan Steiger    schedule 18.08.2012    source источник


Ответы (1)


Если ваш вопрос заключается в том, является ли SSAS разумным подходом к вашей проблеме, мой ответ — да. Преимущество SSAS заключается в том, что, вообще говоря, данные моделируются таким образом, чтобы они были понятны бизнес-пользователям и легко манипулировались в Excel для создания различных отчетов без знания языка запросов. С любой версией SSAS можно использовать версии Excel 2007 или 2010. Для этого не требуется надстройка — провайдер уже встроен в обе версии Excel. Кроме того, помещая модель в SSAS, вы фактически делаете свои данные более доступными для различных инструментов — вы можете использовать Excel или SSRS или различные сторонние инструменты, если хотите. Другими словами, при таком подходе вы не ограничиваете свои возможности, а расширяете их по сравнению с построителем отчетов.

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

Я могу указать вам на пару ресурсов. В качестве введения я написал статью для TechNet: http://technet.microsoft.com/en-us/magazine/ee677579.aspx. Он был написан для SSAS 2008, но принципы применимы к SSAS 2005, SSAS 2008, SSAS 2008 R2 и SSAS 2012.

Если вы предпочитаете вводное видео, см. http://channel9.msdn.com/Blogs/rdoherty/Demo-Developing-a-SQL-Server-2008-R2-Analysis-Services-Database для запуска. Вы можете найти множество бесплатных видеоматериалов о SSAS на канале 9. Просто выполните поиск SSAS.

person Stacia    schedule 19.08.2012