Excelのように使える新機能「ルックアップ」のご紹介
.NET Core版 1.1.27 以降 / .NET Framweork版 0.50.251 以降
リンクした親テーブルの情報を参照して子テーブルに転記したい、というご要望は大変多く、スクリプト機能を使ってそれを実装するためのサンプルコードは以前からFAQの中でも大変人気の高いページでした。
そんな、いわゆるExcelでいうVLOOKUP関数のような機能が、ついにプリザンターに実装されました!
大変お待たせ致しました!
上の画像の例でいうと、子テーブル側の「従業員」から選択肢を選ぶと、選ばれた従業員の「ふりがな」「性別」「生年月日」を親テーブルから参照し、子テーブルのそれぞれの項目に転記します。
使用方法としては、リンクした子テーブルの分類項目の選択肢一覧にJSON形式で設定を記載します。
[ { "SiteId": 9999, "Lookups": [ { "From": "ClassA", "To": "ClassB", "Type": 0 }, { "From": "ClassB", "To": "DescriptionC", "Type": 0 }, { "From": "Status", "To": "ClassC", "Type": 1 } ] } ]
少し難しそうにも見えますが、実際は上記のコードを選択肢一覧にコピペして、該当部分だけ変更すれば、簡単にお使いいただけます!
SiteId: はリンクさせる親テーブルのサイトIDを指定します。
From: は参照する親テーブルの項目を指定し、To: は参照した項目を転記する子テーブルの項目を指定します。
例えば親テーブルの分類Bを、子テーブルの説明Cに転記したい場合は、
{ "From": "ClassB", "To": "DescriptionC", }
と記載します。Typeについてはマニュアルをご参照ください。普段は省略して問題ありません。
分類B=ClassB、説明C=DescriptionC、など表示名とカラム名の関係性は以下のマニュアルをご参照ください。
項目名とデータベース上のカラム名の対応
もしうまく動かないようであれば、JSON構文チェッカーなどのサービスで構文を確認し、構文に問題が無ければFrom、Toそれぞれの項目が正しく設定されているか確認しましょう。サイトIDの確認もお忘れなく。
待望の便利機能なので、皆様、是非ご活用ください!
テーブルの管理:エディタ:項目の詳細設定:選択肢一覧:ルックアップ
JSON形式で記載するので、もちろん、フィルタやソートも併用可能です!
テーブルの管理:エディタ:項目の詳細設定:選択肢一覧:フィルタ、ソート、表示フォーマット
以下は、ルックアップ機能の概要をまとめたPDFです。よろしければご参照ください。