0
0

rex0220 計算式プラグイン テーブル内商品カテゴリー別番号付与(GPTs版)

Last updated at Posted at 2023-12-09

計算式プラグインで、テーブル内商品カテゴリー別番号を付与するしくみを GPTs に作ってもらいます。

概要

rex0220 計算式プラグインでテーブル内項目の値別に番号付与 と同じようなしくみを GPTs で作ってもらいます。

GPTs は、計算式プラグインの使い方をGPTsに学習させてみる で作成したフォルトンです。

学習した内容で、かなり効率的に計算式を組み立てられます。

2023-12-09_21h57_30.png

アプリ画面

商品カテゴリーにドロップダウン項目で、野菜・果物・肉・魚の選択肢を持っています。

2023-12-09_20h49_12.png

GPTs によって作成された計算式

最終的に出来上がった計算式です。
自分で計算式を作るより、計算式やコメントもわかりやすくなりました。

.js
// 作業用配列
TARRAY(商品カテゴリー)

// 番号付与
LET(
  現カテ, 商品カテゴリー, // 現在のカテゴリー
  カテ一覧, SPLIT(カテゴリー配列, ","), // 全カテゴリー配列
  行位置, ROWNO(テーブル), // 行番号
  現カテ一覧, SLICE(カテ一覧, 0, 行位置), // 現行までのカテゴリー
  同カテ抽出, ARRAY_FIL(現カテ一覧, x, x = 現カテ), // 同カテ抽出
  回数, ARRAY_COUNT(同カテ抽出) + 1, // 出現回数+1
  現カテ & ": " & 回数 // 文字列組合せ
)

計算式プラグイン設定画面

GPTs によって作成された計算式をプラグイン設定で設定します。

2023-12-09_21h08_45.png

フォルトンへ計算式を作成してもらう依頼

1回目

最初は、とりあえずやりたいことの概要を書いて依頼します。
計算式には、コメントが付けられて、その意味が分かります。

テーブル内項目の商品カテゴリー別に番号を付与するには?
テーブルに商品カテゴリー、商品カテゴリー別番号、金額を持ちます。
商品カテゴリー別番号は、商品カテゴリーと ": " 、番号としてください

2023-12-09_20h54_01.png

2回目

ちょっと英単語が並んでいて、分かりにくいので変数名を日本語にしてもらいます。

変数名を日本語にしてください

2023-12-09_20h55_13.png

3回目

作ってもらった計算式をプラグインに設定して実行してみました。
商品カテゴリー別番号が、0 からの連番になっていますので直してもらいます。
訂正後の計算式で、無事に商品カテゴリー別番号は、1 からの連番になりました。

商品カテゴリー別番号が 0 からになります。1からの番号にしてください

2023-12-09_20h58_35.png

4回目

ちょっと計算式が横に長く、プラグイン設定画面では分かりにくくなっていますので、コメントを短くしてもらいます。
回答結果は、コメントだけでなく変数名も短くなり、見やすくなりました。

計算式のコメントを10文字以内にして

2023-12-09_21h01_36.png

今回作成した計算式と同じような学習用テキスト

今回の元ネタは、下記のように区分別に番号を付与する例です。
沢山の学習資料の中から、適用できるものを探しだして、フィールドコードや変数名を課題に合わせて分かりやすいように変更し、回答してくれました。
元は計算式のコメントを付けていないのですが、適切なコメントを付けてくれました。

# テーブル内項目の値別に番号付与する例
計算式プラグインでテーブル内項目の値別に番号を付与する例です。

・アプリの項目設定
テーブル内に、数値項目で行番号(数値)、区分別番号(文字列)、区分(ドロップダウン)を配置します。
区分には、"A","B","C" の選択肢を設定する
値別番号付与のための作業用項目として、「連結」(文字列項目)を追加。

・テーブル内項目の区分T1の値別に番号付与する
区分別番号に区分の値別に、番号を付加します。
テーブルの行毎に行全体の文字列連結を行うと、行数が増えると処理時間が増大するので、一旦全体の文字列を作成しておきます。

「連結」の計算式: TARRAY(区分)
※文字列項目に TARRAY関数を指定すると、処理結果の配列をカンマ「,」区切りの文字列に変換します。
※最初に計算させるためにランクに「1」を指定します。

「行番号」の計算式:ROWNO(行番号)+1

「区分別番号」の計算式: 
LET(
  kubun, 区分,
  wa, SPLIT(連結,","),
  pos, ROWNO(テーブル),
  sa, SLICE(wa,0,pos),
  fa, ARRAY_FIL(sa,x,x=kubun),
  count, ARRAY_COUNT(fa)+1,
  kubun & count 
)

まとめ

学習させた課題の計算式については、かなり応用して回答してくれます。
また自分で作った計算式を、GPTs に精査してもらうのもよさそうです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0