はじめに
フィルタマッピングとは、フィルタとしての使用頻度の高いフィールド値のセットをグループ化する機能です。
例えば、ある経理データベースに対してクエリを作成するにおいて、すべての収益勘定科目コードでフィルタをかけたい場合、ひとつひとつ全ての収益勘定科目コードを指定するのではなく、それらを収益と呼ばれるフィルタマッピングでひとまとめにしておき、フィルターとして指定します。
フィルタマッピングの作成
では、実際に作成してみます。
製品としてSunSystemsを使用します。Account Codeに対してフィルタマッピングを作成します。
Sharperlightアプリケーションメニューからクエリビルダ
を起動します。
製品にはSunSystems
、Business UnitはPK1
、テーブルにはChart of Accounts
を選択します。
Account Type
とAccount Code
が既定のフィルターとして表示されます。
ここでは、Account Code
にフィルターマッピングを作成します。
Account Code右隣りの...
ボタンを押して、索引ダイアログを開きます。勘定科目コード一覧が表示されるので、収益に関するコードを全て選択します。選択した状態で右クリックメニューを開き、フィルタマッピング-作成
を選びます。
フィルタマッピングダイアログが開きます。コード
やグループ
には初期値が設定されます。これらは使用前であれば変更可能です。
説明
にも初期値が設定されていますが、これも自由に変更できます。
マッピング
には、先ほど選択した収益に関する勘定科目コードが表示されています。
ルックアップコードパス
には、このフィルタマッピングがどの製品の、どのテーブルに対し、さらにはどのフィールドに対し使用されるかが指定されています。高度なフィルタマッピングを作成する場合等は、ここを編集することも可能です。
今回はこのままで。適用
ボタンを押して保存し、OK
ボタンでダイアログを閉じます。
索引ダイアログの勘定科目コード一覧に作成したフィルタマッピングが追加されます。
フィルタマッピングの使用と検証
では追加されたフィルタマッピングを早速使用します。
追加されたフィルタマッピングをダブルクリックすることで選択できます。OK
ボタンで確定。
フィルタマッピングがフィルタとして指定されました。
では出力アイテムを設定して、クエリ結果を検証してみます。
Account Type
、Account Code
、Description
を出力アイテムとします。
プレビュー
ボタンでクエリ結果を取得します。
フィルタマッピングとしてグループ化した勘定科目コードが返ってきました。
Sharperlightエンジンにより作成されたSQL文も見てみます。
WHERE句に正しく設定されています。
いかがでしたか?フィルター値のグループ化、是非使用してみてくださいね。
では、失礼します。