データの階層ごとに抽出条件(検索条件)を段階的に絞り込む方法を紹介します。検索の候補値が多すぎて選択に時間がかかる、抽出条件を探すのに一苦労している。といった課題を改善できる応用的な内容です。
なお、基本的な抽出条件の設定方法は下記の記事で紹介しています。
まずは下の画像をご覧ください。売上実績を商品カテゴリで検索できるような集計定義を用意しました。しかし商品大分類で「食品」を選択すると、商品中分類には「おもちゃ」や「お祝い、ギフト」など「食品」と関連のない選択肢まで表示されています。商品中分類は「ソフトドリンク」や「菓子類」などに絞り込まれた方がユーザーにとって親切ですよね。
この記事では、絞り込んだ内容を別の抽出条件にも反映させるような階層型の抽出条件の作り方をご紹介します。Datalizerならマウス操作で簡単に操作できますよ♪それでは、設定方法をご説明していきます。
事前準備:集計定義の作成
あらかじめ集計定義を作っておきましょう。今回はこのような年月別、地域別の売上実績表を用意しました。
抽出条件の作成
集計定義に抽出条件を追加しましょう。新規作成画面の[タイプ]を「複数選択」にするところがポイントです!複数選択を選んだあとは、表示名に任意の名前を入力します。ここでは「商品カテゴリ」と入力しました。適用を押すと以下のような画面になります。この画面で複数の項目(今回の場合は[大分類名称]と[中分類名称])を選択することによって、階層形式の抽出条件が作れます。まずは[テーブル/ビュー]にて使用する項目が含まれているテーブル或いはビューを選択しましょう。続いて[取得項目設定]をクリックします。
抽出条件で使用する項目を選択します。左側の[取得項目一覧]で選択したい項目をクリックし、真ん中の右矢印を押せばOKです。
一通り設定が完了しました。[適用]をクリックし、集計定義を保存しましょう。
それでは確認してみましょう。「食品」を選択すると商品中分類が「ソフトドリンク」や「菓子類」などに絞り込まれます。これでユーザーが迷うことなく検索できるようになりました!
おまけ:抽出時のデータベースの動き
少し内部的なお話になりますが、階層型の抽出条件では、値を選択するたびにデータベースにSQLが発行されています。今回の例でいうと、「商品大分類を食品に絞り込んだときの商品中分類の結果をちょうだいね」とデータベースに問い合わせているイメージです。そのため一般的なデータベースの場合、データ量やデータベースのパフォーマンス次第で検索時の動きが遅くなってしまうのですが、Dr.Sumは集計処理が速いため検索時もストレスなく操作できますよ♪