★★★:よくある

基本的なクロス集計表と抽出条件を作成したい!では抽出条件の基礎的な作り方をお伝えしました。
今回は抽出条件を使った応用的な内容になります。

まずは下の画像をご覧ください。売上実績を商品カテゴリで検索できるような集計定義をご用意しました。
しかし商品大分類で「食品」を選択すると、商品中分類には「おもちゃ」や「お祝い、ギフト」など「食品」と関連のない選択肢まで表示されています。
商品中分類は「ソフトドリンク」や「菓子類」などに絞り込まれた方がユーザーにとって親切ですよね。

この記事では、絞り込んだ内容を別の抽出条件にも反映させるような階層型の抽出条件の作り方をご紹介します。
Datalizerならマウス操作で簡単に操作できますよ♪
それでは、設定方法をご説明していきたいと思います!

事前準備

あらかじめ集計定義を作っておきましょう。
作り方についてはこちらを参考にしてください。
今回はこのような年月別、地域別の売上実績表を用意しました。

抽出条件の作成

集計定義に抽出条件を追加しましょう。
新規作成画面の[タイプ]を「複数選択」にするところがポイント!
複数選択を選んだあとは、表示名に任意の名前を入力します。ここでは「商品カテゴリ」と入力しました。適用を押すと以下のような画面になります。
この画面で複数の項目(今回の場合は[大分類名称]と[中分類名称])を選択することによって、階層形式の抽出条件が作れます。
まずは[テーブル/ビュー]にて使用する項目が含まれているテーブル或いはビューを選択しましょう。
続いて[取得項目設定]をクリックします。

抽出条件で使用する項目を選択します。
左側の[取得項目一覧]で選択したい項目をクリックし、真ん中の右矢印を押せばOKです。

一通り設定が完了しました。
[適用]をクリックし、集計定義を保存しましょう。

それでは確認してみましょう。
「食品」を選択すると商品中分類が「ソフトドリンク」や「菓子類」などに絞り込まれます。
これでユーザーが迷うことなく検索できるようになりました!

おまけ

少し内部的なお話になりますが、階層型の抽出条件では、値を選択するたびにデータベースにSQLが発行されています。
今回の例でいうと、「商品大分類を食品に絞り込んだときの商品中分類の結果をちょうだいね」とデータベースに問い合わせているイメージです。
そのため一般的なデータベースの場合、データ量やデータベースのパフォーマンス次第で検索時の動きが遅くなってしまうのですが、Dr.Sumは集計処理が速いため検索時もストレスなく操作できますよ♪