MENU
環境変数を使ってデータの絞り込みを複数実現させたいが管理が複雑になって苦戦している方はいらっしゃいませんか?この記事では環境変数を複数条件であいまい検索できるようにしてシンプルに環境変数を管理する方法をご紹介します。
環境変数とはグループやユーザーに持たせられる変数のことでデータの絞り込みに使用できます。例えば関東に所属している人には関東のデータしか見せない、といった運用を実現することができます。
図のように部門が複数あり、第一営業部に所属している人は第一営業部のデータのみ参照できるようにする方法をお伝えします。
まず所属部門となる「第一営業部」というグループの編集画面で「環境変数」を選択し、
環境変数1に「第一営業部」と入力しておきます。
次にビューを作成する際に抽出条件に「IN(GET_GROUP_INFO(ENV1))」と入力します。そうすることで ENV1 すなわち 環境変数1 を絞り込みの条件として使うことができるようになります。
図のように営業部が「第一営業部」「第二営業部」「第三営業部」のように共通ワード
「~営業部」で構成されています。こういった構成の場合、環境変数にワイルドカード文字「%」を使うことであいまい検索が実現できます。
すべての営業部を参照したい上位層の「営業部」に「%営業部%」と入力します。
ビューを作成する際の抽出条件に「SIMILAR TO (GET_GROUP_INFO_LIST(ENV1))」と入力します。
そうすることでワイルドカード「%」を含めた環境変数 ENV1 を絞り込み条件に使用できます。
※注意:シナリオ1の GET_GROUP_INFO(ENV1) は固定文字参照になるためワイルドカード「%」を含む場合は使用できません。
図のように「~営業部」「~開発部」をまとめて参照したい場合の方法をお伝えします。
まずシナリオ2のように「営業部」と「開発部」にワイルドカード「%」を含めた形で環境変数をセットしておきます。
ビューを作成する際の抽出条件に「SIMILAR TO (GET_GROUP_INFO_LIST(ENV1,’|’))」と入力します。このようにパイプライン「|」を指定することで連結された文字列を SIMILAR TO の抽出条件に使用できOR条件での検索が可能となります。
ビューの「抽出条件」はWHERE句と同等のため、このようにSELECT文で記述することももちろん可能です。
<サンプル文>
SELECT * FROM 経費データ WHERE 部門 SIMILAR TO (GET_GROUP_INFO_LIST(ENV,’|’))
固定値でOR条件の絞り込みも可能です。
<サンプル文>
SELECT * FROM 経費データ WHERE 部門 SIMILAR TO ('%営業部%|%開発部%')
※注意事項
SIMILAR TO はバージョン5.5以降でしか使用できません。
会社の規模が大きくなると部門数が多くなったり、絞り込みたいデータの対象が増えたりと環境変数の管理が複雑になってしまいます。今回ご紹介したように環境変数をあいまい検索で使用できるようになれば、すっきりした環境変数の管理が実現できるかと思います。
是非やってみてください。
また他の記事にも環境変数の使い方の解説がありますので、あわせてご覧ください。
Related article
Pick up
Ranking
Info