19

Analysis Services からデータを取得し、コード内のオブジェクトで使用したり、エンド ユーザーのレポートに使用したりするためのいくつかの異なるアプローチを知りたいと思っています。

過去に 2 つの異なるアプローチを使用しました。1 つは ADOMD を使用して結果を取得し、これらをデータセットに入れる方法でした。もう 1 つは、リンクされた SSAS サーバーに対して SQL OPENQUERY を使用して結果を SQL ストアド プロシージャの結果セットとして取得する方法でした。これらには、どちらも長所と短所がありました。

何年にもわたって、この行に沿ってさまざまな質問を見てきたので、重複を許してください。しかし、SSAS データを他の人のコードで使用できる形式にする他の方法はありますか?

SSAS over HTTP からの XML 結果セット、次に Linq から XML への XML 結果セットを検討しました。

理想的には、型指定された列を含むデータセット、またはプロパティを含むオブジェクトが必要ですが、コード サンプルよりも一般的なアプローチに関心があります。SSRS/その他のダッシュボード コントロールとは別に、どのようにして SSAS からデータを取得しましたか?

4

5 に答える 5

9

MS が XML/A (XML for Analysis) をサポートすることになっていることは知っています。Web ページから XML/A リクエストを行うための ajax ライブラリをまもなくリリースします。

私は現在、Pentaho の Mondrian に焦点を当てていますが、MS SQL の XML/A でも機能するはずです。興味のある方は、1 月 13 日にプレゼンテーションを行います。 +Analysis+for+web+applications+using+XMLA ) その時までに自分のコードもリリースする予定です (おそらく LGPL ライセンスの下で)

他の XML/A サーバーを使用している方からのフィードバックをお待ちしておりますので、ご興味がありましたらご協力いただければ幸いです。

アップデート:

このプロジェクトはhttp://code.google.com/p/xmla4js/で入手できます。API ドキュメント、コード サンプル、およびビルド スクリプトがあります。LGPL であるため、商用目的であってもアプリケーションで自由に使用できます。ライセンスでは、ライブラリ自体への変更を LGPL としてリリースする必要があります (ただし、これはライブラリを使用するアプリケーションには影響しません)。

更新2

プロジェクトはhttps://github.com/rpbouman/xmla4jsの github に存在しません。 これは、ブラウザーだけでなく nodejs でも機能します。

于 2009-12-22T13:30:59.553 に答える
4

SSASへの接続にはADOMDとExcelのみを使用しているため、自分で使用したことはありませんが、ある時点でHTTPとXMLの使用を検討しました。開発スケジュールが短縮されたため、最終的にADOMDルートを使用することになりましたが、.Netの世界の外でSSASにアクセスできるようにするもう1つのオプションだと思います。

プロトタイピング時に役立つと思ったリンクは次のとおりです。MicrosoftWindowsServer2008でのSQLServer2008AnalysisServicesへのHTTPアクセスの構成

于 2010-01-04T21:13:40.640 に答える
3

XMLA は「強力な」アプローチですが、XMLA のすべての機能を実際に公開するツールキットやライブラリを私は知りません。あなたは自分でそれを作り上げたと思います。私が行ったプロジェクトにとって、それはあまりにも多くの仕事です。

代わりに、コードで結果を取得するために ADOMD.NET を使用しました。特に CellSet クラスはかなり豊富です。エンド ユーザー分析 (スライスとサイコロ) には、ほとんどの場合、Excel のピボット グラフを使用します (これは素晴らしいです!)。時々、Visio ピボット ダイアグラムも使用します。固定レポートの場合、Reporting Services は SSAS に直接アクセスでき、独自のクエリ ビルダーも備えています。

ところで、それが役立つ場合に備えて、SQL Server をオフロードする方法として SSAS を Web サイトと統合することについての章が私の本の中にあります: Ultra-Fast ASP.NET。私のコード例では ADOMD を使用しています。また、単純なキューブの作成、SSIS による自動更新の構成、プロアクティブ キャッシュの使用、単純な MDX クエリの作成などについても説明します。

于 2010-01-01T12:36:01.290 に答える
2

SSAS OLAPキューブから.NETにデータを取得する別の方法(そして最も簡単な方法)は、LINQ + ADO.NET Entity Framework + SSAS EntityFrameworkProviderを使用することです。

(私はSSAS Entity Framework Providerを開発した会社で働いています)。

于 2011-10-15T05:09:28.713 に答える
2

もう1つのアプローチは、MSOLAPOLEDBプロバイダーを使用することです。私たちのコードは現在このメソッドを使用しています。

于 2010-01-05T05:50:38.893 に答える