SHOEISHA iD

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

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

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

多次元データベースクエリー言語「MDX」入門
~MDX構文の基本文法(1)

第1回

  • X ポスト
  • このエントリーをはてなブックマークに追加

キューブの基本構造

 では、キューブの基本構造を順次、見てみましょう。本書で使用するサンプルとして、次のような簡単なキューブを想定します。

図2:サンプルキューブの設定
図2:サンプルキューブの設定

 このサンプルキューブは売上金額、売上数量などの販売データ(図2の中央「URIAGE」)を集計対象データとし、分析軸として「都道府県-得意先」、「商品分類-商品」、「担当部署-担当者」、および「売上日付」という4つの分析軸(ディメンション)を持った、売上分析用のキューブです。

1)メジャーとディメンション

 ディメンションとは、例えば商品名や年月などの「数値を集計・分析したい軸」であり、メジャーとは、金額や数量などの「集計対象の数値データ」です。MDXではメジャーもディメンションの一種と捉えることができます。「特殊なディメンション」であると考えてよいでしょう。

 サンプルキューブのメジャーとディメンション構造を以下に詳述します。

図3:サンプルキューブのメジャーとディメンション
図3:サンプルキューブのメジャーとディメンション

 このキューブでは、データの最小単位(セルと呼びます)は「売上日」「得意先」「商品」「担当者」ごとの「売上金額」または「売上数量」または「原価金額」です。また、各ディメンションは「商品分類-商品名」「都道府県-得意先」など階層構造を持ち、それぞれの階層ごとにメジャー数値が集計可能です。

 では、このキューブのディメンションの構造についてもう少し詳しく記述します。

TOKUISAKIディメンションの構造

図4:TOKUISAKIディメンションの構造
図4:TOKUISAKIディメンションの構造

<データ構造>

  • 得意先は都道府県コードを属性に持ち、1つの都道府県に属している。
  • 1つの都道府県には複数の得意先が存在している。
  • TOKUISAKI(得意先マスタ)のキーは「TOKUICD」である。
  • TODOFUKEN(都道府県マスタ)のキーは「TODOFUKENCD」である。

<階層構造>

  • [TOKUISAKI]ディメンションはTODOFUKENTOKUISAKIという階層構造を持っており、階層名は「TODOFUKEN-TOKUISAKI」である。
  • 階層「TODOFUKEN-TOKUISAKI」は「TODOFUKEN」「TOKUISAKI」という2つのレベルから構成されている。
図5:TOKUISAKIディメンションのイメージ図
図5:TOKUISAKIディメンションのイメージ図

 [SHOHIN]ディメンション、および[TANTO]ディメンションも同様の構造を持っていることとし、以下にはイメージ図のみを図示します。

図6:SHOHINディメンションのイメージ図
図6:SHOHINディメンションのイメージ図
図7:TANTOディメンションのイメージ図
図7:TANTOディメンションのイメージ図

URIAGE DATEディメンションの構造

図8:URIAGE DATEディメンションのイメージ図
図8:URIAGE DATEディメンションのイメージ図

 [URIAGE DATE]ディメンションには、伝票日付(DENPYMD)から、「年、月、日」の構造を持つ階層[YYYY-MM-DD]を生成してあるものとします。

次のページ
2)ディメンションのメンバー、階層、レベル

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
難解クエリー言語「MDX」に挑戦連載記事一覧

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4334 2009/09/09 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング