SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

難解クエリー言語「MDX」に挑戦

多次元データベースクエリー言語「MDX」入門
~クエリー結果の整形手法(3)

第3回

1)NULL値だけの行(列)を表示しない

 SELECT句の軸の指定に「NON EMPTY」と指定することで、その軸のすべての項目がNULLとなるデータを除外できます。次のMDXを実行してみましょう。

SELECT { [TOKUISAKI].[TOKUIMEI].CHILDREN
	} ON COLUMNS,
	{ [SHOHIN].[SHOHINBUNRUIMEI].CHILDREN
	} ON ROWS
FROM	[Sales]
WHERE  ([Measures].[URIKINGAKU])

 以下のような実行結果が得られたとします。

実行結果
実行結果

 この場合、「指定なし」という行のすべての列が(NULL)になっています。これは「指定なし」という商品分類の商品の売上が存在していないことを表しています。

 通常、このような行はクエリー結果には不要です。この行を表示しないようにするためにはMDXを次のように修正します。

すべての項目がNULLとなる列を除外
SELECT 	{ [TOKUISAKI].[TOKUIMEI].CHILDREN
	} ON COLUMNS
	NON EMPTY{ [SHOHIN].[SHOHINBUNRUIMEI].CHILDREN
	} ON ROWS,
FROM	[Sales]
WHERE  ([Measures].[URIKINGAKU])

 実行結果は次のようになります。

実行結果
実行結果

 このように、「すべての項目がNULLとなる行(または列)を、クエリー結果から除外する」場合は、その軸のセットの記述前に「NON EMPTY」を指定します。

2)データの並べ替え(ORDER)

 次に、データの並べ替えを行います。データの並べ替えにはORDER関数を使用します。

 構文:ORDER (セット,数値または文字式,並べ替えオプション)

 第1パラメータのセットは並べ替えるセットを指定し、第2パラメータの数値式は並べ替えの根拠となる数値または文字式を指定します。第3パラメータには昇順(ASC)、降順(DESC)を指定します。

 例として、「売上数量の多い順」に得意先を並べてみます。

「売上数量の多い順」に表示する
SELECT	{ [Measures].[SURYO]
	} ON COLUMNS,
	{ ORDER([TOKUISAKI].[TOKUIMEI].CHILDREN,
[Measures].[SURYO],DESC)
} ON ROWS FROM [Sales] WHERE ([URIAGE DATE].[YEAR].[2009年])

 実行結果は次のようになります。

実行結果
実行結果

 このように、「2009年の売上数量の多い順」に得意先が並びました。

次のページ
3)プロパティ表示(コードと名称)

この記事は参考になりましたか?

難解クエリー言語「MDX」に挑戦連載記事一覧

もっと読む

この記事の著者

大家 正巳(オオヤ マサミ)

株式会社ヴィバーク代表取締役。 システムアナリスト。 この度、当社では SQL Server Analysis Services に接続し、MDXの発行が可能な BIシステム構築ツール「CubeWalker」を開発しました。2009年10月より発売致します。 高速かつ安価なBIシステム作りに、是非お...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/4336 2009/09/23 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー