Databaseからのデータ取得をセルのパラメータに応じて動的取得する簡単な方法

前回、StiLLを使えばDatabaseからのデータ取得をマウス操作だけでサクっと設定することが可能だと説明しました。Databaseからデータ取得をセルに設定したパラメータに応じて動的取得できるようにしなければ使い勝手が悪くて仕方がありませんが、まずはサクっと骨組みを作るうえで、前回の方法が最良です(特に日付の抽出条件を手で一から作成するのはプロじゃなければ心が折れます)。

今回は出来上がった骨組みを活用して抽出条件を書き換えること、及び並び替えの指定を行います。

  1. まず、StiLLボタンを右クリックして『ボタン情報』を表示させ、
  2. 『ボタン情報』の『セルリンクボタン貼り付け』を実行(貼付先を指定)、
  3. すると『セルリンクボタン』が出来上がります。
  4. 各セルは数式で表現できますので、動的変更したい項目を数式表現に改めます。
  5. 『補助1』には並び替え(Order by)やグループ化(Group by)の指定ができます。
  6. パラメータシートで『補助1』『抽出条件』と名前をつけたセルを参照させます。

パラメータの作成の工夫を説明します。ここではステータス項目のステータスとしては『Cancel』『■登録完了』『差し戻し』『受付No取得』『投入依頼』の5つのステータスが存在します。通常、受付処理を行う対象である『投入依頼』と将来『投入依頼』にステータスが移行するであろう『受付No取得』の2つのステータスのレコードを表示させたく、『Cancel』されたもの、『差し戻し』したもの、『■登録完了』してしまったものは、何かの点検の目的が無ければ取得したくありません(重くなるので)。そこで、パラメータ設定用のシートを用意します。

ここで、

  1. パラメータ指定として1セルにまとめたい
  2. 取得しない項目は抽出条件に加えたくない
  3. 取得する・しないの項目の組合せや最初や最後かどうかで接続文字を挿入するか否かが決まる

ということで、結構パラメータ指定で悩むことが多いと思いますので、メモしておきます。ポイントは、

  1. Concatenate関数で文字を結合する
  2. 接続語を表示させるか否かをIf文で作成しておく
  3. If関数とVlookup関数の組合せで表示・非表示を判別する
  4. 「ステータス = ‘受付No取得’ and ステータス = ‘投入依頼’」と指定する以外に「ステータス IN(‘受付No取得’ , ‘投入依頼’)」という指定の仕方が可能
  5. 日付の指定は「番号取得日 >= {ts ‘2023-07-01 00:00:00’}」と、StiLLボタンで自動作成された設定方法を踏襲する
  6. Text関数を使いText(指定日,”yyyy-mm-dd hh:mm:ss”)で動的指定が可能

DBQueryGradeUp(画面キャプチャ)

コメント

タイトルとURLをコピーしました