累計
本日
昨日

MDXクエリの結果を型付データセットに格納する方法

C#やVB.NETからADOMD.NETを使ってMDXクエリの結果を取得する方法にはいくつかある。
http://msdn2.microsoft.com/ja-jp/library/ms123479(SQL.90).aspx
CellSetオブジェクトは多次元DBの構造を維持しているので、プログラム中から条件を指定して結果を取得できるが、単純にクエリの結果を画面に表示するタイプのアプリケーションには向かないと考える。理由は、DataGridViewなどのデータソースにCellSetをセットするのが難しい(できない?)からである。

ここでは、MDXクエリの結果を型付データセットに取得する方法を紹介する。型付データセットを画面に表示する方法は割愛する。
実行するMDXクエリは次のものである。MDXクエリの簡単な作り方は別の記事で紹介している。


結果は2002,2003,2004,2005年それぞれのSalesとTaxを集計した値を、クロス集計表として得ることができる。
Tax Amount Sales Amount
FY 2002 1868842 23360526
FY 2003 33683805 2694704
FY 2004 52714103 4217128
FY 2005 50841 4067

型付データセットに格納するサンプルコード

DataSet1のDatatable1テーブルの列はデザイナで角カッコつきの列名をそのまま貼り付けたものです。(下図)


ただし、角カッコはアンダーバーに置き換えられるのがデータセットの仕様のようなので、ソースコード中で列名を扱うときはアンダーバーを使います。なお、この長くなってしまうカラム名に別名をつけて短くする方法はないようである。


トラックバック

トラックバックURL:
http://www.apricot-jp.com/cgi/mt/mt-tb.cgi/274

関連情報

Copyright(C) 2007 アーキテクト360 Allrights reserved.