データベースのメンバーや組を指定した順序に並べ替えたものをExcelに取り出したり、セットの項目個数を出す【CUBESET関数】・【CUBESETCOUNT関数】

いつもご視聴ありがとうございます!ソフトキャンパスExcel学校です。今回ご紹介するExcel(エクセル)の関数は、【CUBESET(キューブ・セット)関数】と【CUBESETCOUNT(キューブ・セット・カウント)関数】です。

【CUBE関数】といえば、集計に時間がかかってしまう、数百万件くらいある大量のデータベースの集計方法とは違い、集計する方法をあらかじめ決めてから集計結果を検索するため、時間がかからず集計することができるより多次元的な関数の仲間です。

今回は、

  • 【CUBESET(キューブ・セット)関数】:指定したデータを並べ替え取り出す。
  • 【CUBESETCOUNT(キューブ・セット・カウント)関数】:取り出したデータ内のの項目の個数を出す

この2つの関数について、詳しくみていこうと思います!

組やメンバーのセットを取り出したり項目の個数を求める【CUBESET関数】と【CUBESETCOUNT関数】を詳しくみましょう!

『CUBESET・CUBESETCOUNT関数』は、どちらともoffice2010の頃より使われている関数です。

【CUBESET関数】は、Excelデータの中にあるメンバーや組から、指定した並べ替え順序を使って並べ替えてセットを取り出します。また、取り出したセットから項目の個数を求めるのが、【CUBESETCOUNT関数】です。

キューブ関数の仲間を利用するためには、元になる「データベース」とそれをつなぐための「データベースサーバ」が必要になります。これから使用してみようと考えている人は、データサーバや沢山のデータを用意して使用してみましょう!

では、それぞれがどのような関数なのか、詳しくみていきますね!

【CUBESET関数】と【CUBESETCOUNT関数】について詳しくみていきます。

まず、【CUBESET】は、セット、セルの範囲などのを一つ以上のものを、とある基準に合わせて並べ替えをし、その並べ替えたものを取り出す関数です。そして、取り出したセットやデータの中から、項目の個数を求めるのが【CUBESETCOUNT】になります。

ただ、【CUBESET関数】は答えをその場に出すことはできないので、一見どういったことをしているのかがわかりにくいです。

では、書き方含めさらに見ていきます。

2つの関数の書き方を見ていきます。

では、まず2つの関数のうち、【CUBESET関数】の書き方を見ていきます。

《『関数式:=CUBESET(接続名,セット式,キャプション,並べ替え順序,並べ替えキー)』》

また、並べ替えの基準は、「0~6」の数字で決められます。それぞれに割り当てられている基準があります。並べ替えられるものも違います。

次に、求めたデータのセットをもとに、CUBESETCOUNT関数の書き方について見ていきます。関数の作り方は比較的に簡単です。

《『関数式:=CUBESETCOUNT(CUBESET関数のあるセル番地)』》

ちなみに、この関数は、CUBESET関数で作られたセットがあることが前提なので、単体で使うことはありません。

【CUBESET関数】と【CUBESETCOUNT関数】を使ってみよう!

それでは、実際に2つの関数を使って売上の高い順と売上の件数を数えてみようと思います。まずは、売上の高い順に並べ替えていこうと思います。

《関数式:=CUBESET(“ThisWorkbookDataModel”,”[名簿].[売上].Children”,”売上TOP”,2,”[名簿].[売上]”)》と入力してEnterで確定します。

すると、『売上TOP』という結果が表示されました。表示された言葉だけ見ると「あれ?並べ替えてセットを抜き出すのでは???」と思われるかもしれませんが、セルの中にあるデータのなかでは【190、189、187…】というように売上の高い順に並べたセットのデータを取り出しています。

※接続名やセット式のについては、下の表に記載していますので、確認してみてくださいね。

関数に入力する引数引数の解説今回の関数例に使われているもの(意味あい)
接続名接続するサーバ名ThisWorkbookDataModel(Excelデータモデルの接続名)
セット式データを取得したいテーブルや表の名前“[▲▲].[××].Children”※Children:セット名のデータを全て取得する
キャプション,並べ替え順序,並べ替えキー並べ替えるための基準と順序△△△”,2,”[〇〇].[××]”

次にCUBESETCOUNT関数を使って売上セットの中の項目の個数を求めていこうと思います。

《関数式:=CUBESETCOUNT(B3)』》と入力してEnterで確定します。

すると、CUBESETの結果にあった売上の高い順に並べたセット内の項目の個数『15』が表示されました!ちなみに売上のテーブルのデータ内にあるデータの個数は『20個』なのですが、重複しているデータを外しての一意のデータの個数が『15個』ということになります。

データベースのセットを指定した順序に並べ替えたものを返したり、取り出したセットの項目個数を出す【CUBESET関数・CUBESETCOUNT関数】|【まとめ】

Excelに接続したデータベースのセットを指定した順序に並べ替えたものを出したり、セットの項目個数を出す【CUBESET関数】・【CUBESETCOUNT関数】について見ていきましたが、いかがだったでしょうか?少し簡易なご紹介だったため、「結局のところ、この二つの関数は何をするためのものなの?」という方もいるかもしれません。

キューブ関数の仲間は、元になる『2次元的な表の次元的な構造』と『分類や集計項目などの階層構造』等から成り立っている関数です。普段はなかなか見ることのない関数ではありますが、今回ご紹介した2つの関数は、より多次元的にデータのセットの基準から並べ替えをし、その項目の個数を集計ができる関数です。

特に《『CUBESET関数』》は、MOS2016ExcelのExpertでも見かけたことがある方もいる思いますので、一度どういったものなのか実際に使ってみましょう!