Различные подходы к доступу к SSAS - PullRequest
19 голосов
/ 22 декабря 2009

Мне интересно знать несколько разных подходов для извлечения данных из служб Analysis Services, для использования в объектах в коде или для отчетов конечных пользователей.

В прошлом я использовал два разных подхода: один использовал ADOMD для извлечения результатов и помещения их в набор данных, другой использовал SQL OPENQUERY на связанный сервер SSAS для получения результатов в виде набора результатов хранимой процедуры SQL , Оба из них имели свои преимущества и недостатки.

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

Я рассматривал результирующие наборы XML из SSAS через HTTP, затем из Linq в XML - у кого-нибудь есть опыт?

В идеале мне нужен набор данных с типизированными столбцами или объекты со свойствами, но меня больше интересует общий подход, чем примеры кода. Как вы получили данные из SSAS, кроме SSRS / других элементов управления приборной панели?

Ответы [ 5 ]

8 голосов
/ 22 декабря 2009

Я знаю, что MS должна поддерживать XML / A (XML для анализа). Вскоре я выпускаю библиотеку ajax для выполнения запросов XML / A с веб-страниц.

Хотя в настоящее время я сосредоточен на Mondrian в Пентахо, он должен работать и для MS SQL XML / A. Если вам интересно, я делаю презентацию об этом 13 января (см .: http://wiki.pentaho.com/display/COM/January+13,+2010+-+Roland+Bouman+-+OLAP+and+Analysis+for+web+applications+using+XMLA) Я тоже буду выпускать свой код к тому времени (вероятно, по лицензии LGPL)

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

UPDATE:

проект теперь доступен по адресу http://code.google.com/p/xmla4js/ Есть документация по API, примеры кода и сценарии сборки. Это LGPL, так что вы можете использовать его в своих приложениях, даже в коммерческих целях. Лицензия требует, чтобы вы выпустили любые модификации самой библиотеки как LGPL (но это не влияет на приложение, которое использует библиотеку)

UPDATE2

Проект не находится на github в https://github.com/rpbouman/xmla4js Он работает как в браузере, так и в nodejs.

4 голосов
/ 05 января 2010

Я никогда не использовал его сам, так как мы используем ADOMD и Excel только для подключения к SSAS, но в какой-то момент мы решили использовать HTTP и XML. В итоге мы пошли по маршруту ADOMD из-за сокращенного графика разработки, но я думаю, что это еще один вариант, который позволяет получить доступ к SSAS за пределами мира .Net.

Вот ссылка, которую я нашел полезной при создании прототипа: Настройка HTTP-доступа к службам аналитики SQL Server 2008 в Microsoft Windows Server 2008

3 голосов
/ 01 января 2010

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

Вместо этого я использовал ADOMD.NET для получения результатов в коде; класс CellSet, в частности, довольно богат. Для анализа конечного пользователя (срезы и кости) чаще всего я использую сводные диаграммы Excel (которые невероятны!); иногда я также использую Visio Pivot Diagrams. Для фиксированных отчетов службы Reporting Services могут напрямую обращаться к SSAS и даже имеют собственный построитель запросов.

Кстати, если это поможет, в моей книге есть глава об интеграции SSAS с веб-сайтами в качестве способа разгрузки SQL Server: Сверхбыстрый ASP.NET . Мои примеры кода используют ADOMD; Я также рассмотрел создание простого куба, настройку автоматических обновлений с помощью служб SSIS, использование упреждающего кэширования, создание простых запросов MDX и т. Д.

2 голосов
/ 15 октября 2011

Другой способ (и я бы сказал самый простой) для получения данных из кубов SSAS OLAP в .NET - это использование LINQ + ADO.NET Entity Framework + SSAS Entity Framework Provider .

(я работаю в компании, которая разработала SSAS Entity Framework Provider).

2 голосов
/ 05 января 2010

Другой подход заключается в использовании поставщика MSLEAP OLE DB. Наш код в настоящее время использует этот метод.

...