ブロックリファレンス

BLOCKS Reference

最適化

割当て最適化(分量固定タイプ・複数実行)【ベータ版】

notificationsこのブロックはベータ版です。機能改善や不具合などの情報提供は、MAGELLAN BLOCKSのお問い合わせ機能からお願いします。

概要

このブロックは、限られた資源(リソース)を最も効率的に配分するための計画を複数のシナリオで同時に作成します。これにより、様々な条件下でのコスト削減や生産性の向上を比較検討できます。例えば、生産ラインにおける原材料の配分、プロジェクトへの人員配置、配送車両への荷物の割り当てなど、様々なビジネスシーンで複数のパラメータ設定を一度に検証できます。

「分量固定タイプ・複数実行」では、あらかじめ設定したリソースの総量と各配分先で必要となる量に基づいて、複数の最適化パラメータを同時に実行し、それぞれの最適な配分パターンを自動的に計算します。これにより、パラメータの違いによる結果の比較が効率的に行えるため、最適な設定の選択が可能です。

内部では、状況に応じて最適な計算エンジン(専門的にはソルバーと呼ばれ、D-Wave、SQBM+、Amplify AEなどが該当)が自動的に選択されます。量子コンピューティング技術(量子アニーリングなど)をはじめとする先進技術を用いて高速に計算処理を行います。利用者は技術的な詳細を意識することなく、複数の最適な配分結果を一度に取得できます。

プロパティ

プロパティ名 説明
ブロック名

フローの中で、このブロックを識別するための表示名を設定します。例えば、「原材料配分の最適化(複数条件)」、「人員シフト配分比較」など、分かりやすい名前を付けることで、フロー全体の可読性が向上します。

GCPサービスアカウント

最適化処理を実行するために、Google Cloud Platform(GCP)のサービスアカウントを選択します。処理に必要な権限を持つアカウントを設定してください。

入力テーブル群を指定するデータセット

BigQueryのデータセットを指定します。(必須)

このデータセットには、最適化計算に使用する入力データテーブルと、計算結果を保存する出力データテーブルが含まれます。

具体的には、リソース情報や配分先の情報などが格納されたテーブルをこのデータセット内に準備します。

入力テーブル群を指定するテーブル

複数の最適化実行の設定を定義したテーブル名を指定します。(必須)

このテーブルには、実行する複数のシナリオごとに、使用する入力テーブル名と出力テーブル名を定義します。各行が1つの最適化実行を表し、それぞれ異なるパラメータや設定で同時に最適化が実行されます。

このテーブルには、主に以下のカラム(列)が必要です。

  • resources: 「2. リソースが保存されているテーブル」の名前
  • targets: 「3. 割当て先が保存されているテーブル」の名前
  • target_resources: 「4. 割当て先へのリソースが保存されているテーブル」の名前
  • coefficients: 「5. パラメータが保存されているテーブル」の名前
  • result: 「6. 実行結果を格納するテーブル」の名前
  • result_job: 「7. 実行に関する情報を格納するテーブル」の名前

table_chart テーブルスキーマを表示 arrow_downward

結果を格納する変数

複数の最適化処理を実行した際の全体的な実行状況を格納する変数名を指定します。(必須)

この変数には、各実行ジョブの基本的な情報(ジョブIDと実行状態など)が格納され、後続の処理ブロックで参照できます。具体的には、以下のような構造のJSONオブジェクトが格納されます。

[
  {
    "job_id": "7a6e52bed084dbd7fdff62cfa6ffcc0b",
    "job_label": "scenario_1.param_set_1",
    "status": "succeeded"
  },
  {
    "job_id": "8b7f63cfe195ece8geff73dgb7ggdd1c",
    "job_label": "scenario_2.param_set_2", 
    "status": "succeeded"
  }
]

主なキーの説明は以下の通りです。

  • job_id: 実行された各最適化ジョブの一意なID
  • job_label: 実行時のジョブラベル。「{execution_label}.{coeff_label or row_number}」の形式で付与される
  • status: ジョブの実行状態(succeeded: 成功、failed: 失敗)
ブロックメモ

このブロックに関するメモを自由に記述できます。

フローの管理やメンテナンス時の情報共有に役立ちます。このメモの内容は、ブロックの実行には影響しません。

テーブルスキーマ

このブロックでは、複数実行の設定テーブルと、各実行で使用される4つの入力情報(テーブル形式)を使用します。それぞれのテーブルがどのような構造を持ち、どのようなデータを含める必要があるかを理解しておくことが重要です。

注:「必須」列の「✓」マークは、その項目が必須であることを示します。「*」付きのものは条件付き必須を示します(詳細は各テーブルの説明を参照)。

1. 入力テーブル群を指定するテーブル

複数の最適化実行の設定を定義するテーブルです。各行が1つの最適化実行シナリオを表し、使用する入力テーブル名と出力テーブル名を指定します。

JSONスキーマを表示
[
  {"name":"execution_label","type":"STRING","mode":"NULLABLE","description":"label for this parameter"},
  {"name":"resources","type":"STRING","mode":"NULLABLE","description":"resources master table"},
  {"name":"targets","type":"STRING","mode":"NULLABLE","description":"targets master table"},
  {"name":"target_resources","type":"STRING","mode":"NULLABLE","description":"target resource table"},
  {"name":"coefficients","type":"STRING","mode":"NULLABLE","description":"config table"},
  {"name":"result","type":"STRING","mode":"NULLABLE","description":"result table"},
  {"name":"result_job","type":"STRING","mode":"NULLABLE","description":"result job table"}
]
カラム名 データ型 必須/条件付き 説明
execution_label 文字列(STRING) この実行設定の識別ラベル(例:scenario_Ahigh_priority_case)。省略可能です。
resources 文字列(STRING) 「2. リソースが保存されているテーブル」の名前
table_chart テーブルスキーマを表示 arrow_downward
targets 文字列(STRING) 「3. 割当て先が保存されているテーブル」の名前
table_chart テーブルスキーマを表示 arrow_downward
target_resources 文字列(STRING) 「4. 割当て先へのリソースが保存されているテーブル」の名前
table_chart テーブルスキーマを表示 arrow_downward
coefficients 文字列(STRING) 「5. パラメータが保存されているテーブル」の名前
table_chart テーブルスキーマを表示 arrow_downward
result 文字列(STRING) 「6. 実行結果を格納するテーブル」の名前。事前に作成する必要はなく、指定したテーブルが存在しない場合は自動で作成されます。既に存在する場合は、結果が追加されます。
table_chart テーブルスキーマを表示 arrow_downward
result_job 文字列(STRING) 「7. 実行に関する情報を格納するテーブル」の名前(省略可能)。事前に作成する必要はなく、指定したテーブルが存在しない場合は自動で作成されます。既に存在する場合は、結果が追加されます。
table_chart テーブルスキーマを表示 arrow_downward

このテーブルの各行は、1つの独立した最適化実行を表します。例えば、異なるパラメータ設定や異なる入力データでの最適化結果を比較したい場合、それぞれに対応する行を定義します。実行時には、指定されたテーブル名から実際のデータが読み込まれ、各行の設定に基づいて並行して最適化が実行されます。

settings プロパティとの関連を確認 arrow_upward

2. リソースが保存されているテーブル

利用可能なリソースの基本情報と総量を定義するテーブルです。例えば、人員、原材料、機械の稼働時間などをリソースとして登録します。

JSONスキーマを表示
[
  { "name": "resource_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "resource_name", "type": "STRING", "mode": "NULLABLE", "description": ""},
  { "name": "amount", "type": "INTEGER", "mode": "NULLABLE", "description": "" }
]
カラム名 データ型 必須/条件付き 説明
resource_id 文字列(STRING) リソースを一意に識別するためのID(例:material_Xstaff_A
resource_name 文字列(STRING) リソースの表示名(例:「素材X」、「スタッフA」)。省略可能です。
amount 整数(INTEGER) リソースの総量(例:在庫数、総労働時間など)

各リソースには必ず総量(amount)を指定します。この値が、配分可能なリソースの上限となります。例えば、作業者のシフトであれば総労働の可能時間、材料であれば在庫数などを設定します。

settings 「入力テーブル群を指定するテーブル」との関連を確認 arrow_upward

3. 割当て先が保存されているテーブル

リソースを配分する対象(例:製品、プロジェクト、タスクなど)を定義するテーブルです。各配分先には、任意で利益や優先度を示す値(profit)を設定できます。

JSONスキーマを表示
[
  { "name": "target_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "target_name", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "profit", "type": "INTEGER", "mode": "NULLABLE", "description": "" }
]
カラム名 データ型 必須/条件付き 説明
target_id 文字列(STRING) 配分先を一意に識別するためのID(例:product_A, project_X
target_name 文字列(STRING) 配分先の表示名(例:「製品A」、「プロジェクトX」)。省略可能です。
profit 整数(INTEGER) この配分先にリソースを配分した場合に得られる利益や価値の指標。省略可能です。

profit は、その配分先の優先度や価値を表す数値です。値が大きいほど、最適化計算において優先的にリソースが配分される傾向にあります。例えば、製品ごとの利益率やプロジェクトの重要度などを数値化して設定します。

settings 「入力テーブル群を指定するテーブル」との関連を確認 arrow_upward

4. 割当て先へのリソースが保存されているテーブル

どの配分先が、どのリソースを、どれだけ必要とするか(消費するか)を定義する関連情報テーブルです。

JSONスキーマを表示
[
  { "name": "target_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "resource_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "consume_amount", "type": "INTEGER", "mode": "NULLABLE", "description": "" }
]
カラム名 データ型 必須/条件付き 説明
target_id 文字列(STRING) 配分先ID(上記「3. 割当て先が保存されているテーブル」の target_id と対応)
resource_id 文字列(STRING) リソースID(上記「2. リソースが保存されているテーブル」の resource_id と対応)
consume_amount 整数(INTEGER) その配分先で、指定したリソースを1単位生産(または実行)する際に必要となる量

このテーブルは、配分先とリソースの間の「多対多」の関係(1つの配分先が複数のリソースを必要とし、1つのリソースが複数の配分先で使用される関係)を表現します。consume_amountは、その配分先に対してリソースを1単位配分したときに消費される量です。例えば、製品Aを1つ作るのに素材Xが2個、作業時間Bが0.5時間必要、といった情報を定義します。

settings 「入力テーブル群を指定するテーブル」との関連を確認 arrow_upward

5. パラメータが保存されているテーブル

最適化計算の挙動をより細かく制御するためのパラメータを設定するテーブルです。

JSONスキーマを表示
[
  {"name":"label","type":"STRING","mode":"NULLABLE"},
  { "name": "assign_all_resource", "type": "RECORD", "mode": "NULLABLE", "description": "", "fields": [
    { "name": "type", "type": "STRING", "mode": "NULLABLE" },
    { "name": "coeff", "type": "FLOAT", "mode": "NULLABLE" }
  ]
  },
  { "name": "target_profit_coeff", "type": "FLOAT", "mode": "NULLABLE", "description": ""},
  {"name":"solver_options","type":"RECORD","mode":"NULLABLE",
  "fields":[
    { "name": "normalize",                          "type": "BOOLEAN",  "mode": "NULLABLE" },
    { "name": "backend",                          "type": "STRING",  "mode": "NULLABLE" },
    {"name": "dwave", "type": "RECORD", "mode": "NULLABLE", "fields": [
      { "name": "params_type",                          "type": "STRING",  "mode": "NULLABLE" },
      { "name": "params_version",                       "type": "STRING",  "mode": "NULLABLE" },
      { "name": "params_time_limit",                    "type": "INTEGER", "mode": "NULLABLE" },
      { "name": "info_qubit_info",                      "type": "STRING",  "mode": "NULLABLE" },
      { "name": "info_timing",                          "type": "STRING",  "mode": "NULLABLE" },
      { "name": "info_debug_level",                     "type": "INTEGER", "mode": "NULLABLE" },
      { "name": "info_response",                        "type": "STRING",  "mode": "NULLABLE" }
    ]},
    { "name": "sbm", "type": "RECORD", "mode": "NULLABLE", "fields": [
      { "name": "params_type",     "type": "STRING", "mode": "NULLABLE" },
      { "name": "params_version",     "type": "STRING", "mode": "NULLABLE" },
      { "name": "params_steps",     "type": "INTEGER", "mode": "NULLABLE" },
      { "name": "params_loops",     "type": "INTEGER", "mode": "NULLABLE" },
      { "name": "params_timeout",   "type": "INTEGER", "mode": "NULLABLE" },
      { "name": "params_maxwait",   "type": "INTEGER", "mode": "NULLABLE" },
      { "name": "params_target",    "type": "FLOAT", "mode": "NULLABLE" },
      { "name": "params_maxout",    "type": "INTEGER", "mode": "NULLABLE" },
      { "name": "params_dt",        "type": "INTEGER", "mode": "NULLABLE" },
      { "name": "params_C",         "type": "INTEGER", "mode": "NULLABLE" },
      { "name": "info_qubit_info",  "type": "STRING",  "mode": "NULLABLE" },
      { "name": "info_timing",      "type": "STRING",  "mode": "NULLABLE" },
      { "name": "info_response",    "type": "STRING",  "mode": "NULLABLE" },
      { "name": "info_exec",        "type": "STRING",  "mode": "NULLABLE" }
    ]}
  ]
 }
]
カラム名 データ型 必須/条件付き 説明
label 文字列(STRING) 複数の最適化処理を実行する際のジョブラベル(識別名)。省略可能です。
assign_all_resource 複合型(RECORD) 「すべてのリソースを可能な限り使い切る」という制約に関する設定。省略可能です。
assign_all_resource.type 文字列(STRING) ✓* 制約のタイプ。現状は「strict(厳密)」のみ指定可能です。
assign_all_resource.coeff 数値(FLOAT) ✓* 上記制約の強さ(重み係数)。値が大きいほど、リソースを使い切ろうとする傾向が強まります。
target_profit_coeff 数値(FLOAT) 利益(profit)を最大化しようとする度合い(重み係数)。値が大きいほど、利益の高い配分先を優先する傾向が強まります。省略可能です。
solver_options 複合型(RECORD)

使用する計算エンジン(ソルバー)固有の詳細な設定。通常は設定不要です。省略可能です。

solver_options で設定可能な主な項目は以下の通りです。

  • normalize(Boolean):QUBO作成時に係数を正規化するかどうかを指定する(デフォルト: false)
  • backend(文字列):QUBO作成に使用するバックエンドを指定する(デフォルト: 'TF')
    • 'TF': TensorFlowを利用し、オンメモリで処理する
    • 'BQ': BigQueryを利用して処理する
  • dwave(複合型):D-Wave社のソルバー向けの詳細設定
  • sbm(複合型):SQBM+(Simulated Quantum Bifurcation Machine)ソルバー向けの詳細設定

* assign_all_resource の設定項目(type, coeff)は、assign_all_resource自体を定義する場合に必須となります。

各パラメータの値は、一般的に以下のように設定します。

  • 制約を使用しない場合: そのカラム自体をテーブルに含めない(null扱い)。
  • 自動パラメータ設定を利用する場合: 0 を設定(一部パラメータ)。
  • 特定の値を指定する場合: 0 以外の数値を設定。

例えば、初めて利用する場合は以下の設定から試すことを推奨します。

assign_all_resource.type = "strict"assign_all_resource.coeff = 100(リソースをしっかり使う)、target_profit_coeff = 1.0(利益も考慮する)。

settings 「入力テーブル群を指定するテーブル」との関連を確認 arrow_upward

6. 実行結果を格納するテーブル

最適化計算の実行後に生成される結果が格納されるテーブルです。具体的に、どのリソースがどの配分先にどれだけ配分されたかが記録されます。

JSONスキーマを表示
[
  { "name": "job_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "energy", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
  { "name": "solution_index", "type": "INTEGER", "mode": "NULLABLE", "description": "" },
  { "name": "resources", "type": "RECORD", "mode": "REPEATED", "fields": [
    { "name": "resource_id", "type": "STRING", "mode": "NULLABLE" },
    { "name": "resource_name", "type": "STRING", "mode": "NULLABLE" },
    { "name": "resource_index", "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "amount", "type": "INTEGER", "mode": "NULLABLE", "description": "" }
  ], "description": "" },
  { "name": "target_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "target_name", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "target_index", "type": "INTEGER", "mode": "NULLABLE", "description": "" }
]
カラム名 データ型 出力有無 説明
job_id 文字列(STRING) 必須 実行された最適化ジョブのID
energy 数値(FLOAT) 必須 計算結果の評価値(エネルギー値)。値が小さいほど、制約条件をよく満たした良い解であることを示します。
solution_index 整数(INTEGER) 必須 複数の解が得られた場合の、解のインデックス番号
resources 複合型(RECORD)、
繰り返し(REPEATED)
配分されたリソースに関する情報(複数のリソース情報が含まれる場合があります)
resources.resource_id 文字列(STRING) 条件付き 配分されたリソースのID
resources.resource_name 文字列(STRING) 条件付き 配分されたリソースの名称。仕様により、このフィールドには常にNULLが出力されます。
resources.resource_index 整数(INTEGER) 必須 システム内部で使用されるリソースのインデックス番号
resources.amount 整数(INTEGER) 必須 その配分先に配分されたリソースの量
target_id 文字列(STRING) 条件付き リソースが配分された先のID
target_name 文字列(STRING) 条件付き リソースが配分された先の名称。仕様により、このフィールドには常にNULLが出力されます。
target_index 整数(INTEGER) 必須 システム内部で使用される配分先のインデックス番号

「エネルギー値(energy)」は、最適化計算の「良さ」を示す数値です。この値が小さいほど、設定した制約条件(例:リソースの上限を超えない、利益を最大化する等)をより良く満たしている「良い解」であると解釈できます。複数実行の場合、各実行シナリオで得られたエネルギー値を比較することで、どの設定が最も良い結果をもたらすかを判断できます。

settings 「入力テーブル群を指定するテーブル」との関連を確認 arrow_upward

7. 実行に関する情報を格納するテーブル

最適化処理の実行結果に関するメタデータを保存するテーブルです。処理のパフォーマンスや解の品質に関する詳細情報を記録します。

JSONスキーマを表示
[
  { "name": "job_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "optimization_type", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "solver_type", "type": "INTEGER", "mode": "NULLABLE", "description": "" },
  { "name": "solutions", "type": "RECORD", "mode": "REPEATED", "fields": [
    { "name": "solution_index", "type": "INTEGER", "mode": "NULLABLE", "description": "" },
    { "name": "energy", "type": "FLOAT", "mode": "NULLABLE", "description": "" }
  ], "description": "" },
  { "name": "total_qubit_num", "type": "INTEGER", "mode": "NULLABLE", "description": "" },
  { "name": "qubo", "type": "RECORD", "mode": "NULLABLE", "fields": [
    { "name": "maximum_coeff_ratio", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
    { "name": "max", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
    { "name": "min", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
    { "name": "max_positive", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
    { "name": "min_positive", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
    { "name": "max_negative", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
    { "name": "min_negative", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
    { "name": "nonzero_num", "type": "INTEGER", "mode": "NULLABLE", "description": "" },
    { "name": "density", "type": "FLOAT", "mode": "NULLABLE", "description": "" }
  ], "description": "" },
  { "name": "solver_response", "type": "RECORD", "mode": "REPEATED", "fields": [
    { "name": "id",                            "type": "STRING",  "mode": "NULLABLE" },
    { "name": "qpu_sampling_time",             "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "qpu_anneal_time_per_sample",    "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "qpu_readout_time_per_sample",   "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "qpu_access_time",               "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "qpu_access_overhead_time",      "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "qpu_programming_time",          "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "qpu_delay_time_per_sample",     "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "total_post_processing_time",    "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "post_processing_overhead_time", "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "charge_time",                   "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "run_time",                      "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "calculation_time",              "type": "FLOAT", "mode": "NULLABLE" },
    { "name": "wait_time",                     "type": "FLOAT", "mode": "NULLABLE" },
    { "name": "num_runs",                      "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "message",                       "type": "STRING", "mode": "NULLABLE" }
  ], "description": "" },
  { "name": "constraints", "type": "RECORD", "mode": "REPEATED", "fields": [
    { "name": "solution_index",                "type": "INTEGER",  "mode": "NULLABLE" },
    { "name": "name",                          "type": "STRING", "mode": "NULLABLE" },
    { "name": "energy",                        "type": "FLOAT", "mode": "NULLABLE" },
    { "name": "coeff",                         "type": "STRING", "mode": "NULLABLE" }
  ], "description": "" },
  { "name": "created_at", "type": "TIMESTAMP", "mode": "NULLABLE", "description": "" }
]
カラム名 データ型 説明
job_id 文字列(STRING) 最適化実行時のJob ID
optimization_type 文字列(STRING) 最適化のタイプ(例:strict_allocation
solver_type 整数(INTEGER) 実行されたソルバーの種別(例: 1: dwave, 2: SQBM+, 7: amplify)
solutions 複合型(RECORD)、
繰り返し(REPEATED)
解に関する情報
solutions.solution_index 整数(INTEGER) 解のインデックス番号
solutions.energy 数値(FLOAT) 解に対応するエネルギー値
total_qubit_num 整数(INTEGER) QUBOの総変数(Qubit)数
qubo 複合型(RECORD) QUBOに関する情報
qubo.maximum_coeff_ratio 数値(FLOAT) QUBO係数の最大比率(max / min)。値が小さいほど精度が安定します。
qubo.max 数値(FLOAT) QUBO係数の最大値
qubo.min 数値(FLOAT) QUBO係数の最小値
qubo.max_positive 数値(FLOAT) QUBO係数の正の最大値
qubo.min_positive 数値(FLOAT) QUBO係数の正の最小値
qubo.max_negative 数値(FLOAT) QUBO係数の負の最大値
qubo.min_negative 数値(FLOAT) QUBO係数の負の最小値
qubo.nonzero_num 整数(INTEGER) QUBOの非ゼロ要素の数
qubo.density 数値(FLOAT) QUBOの密度(非ゼロ要素数 / 総変数数)
solver_response 複合型(RECORD)、
繰り返し(REPEATED)
ソルバーからの応答情報。ソルバー毎に内容が異なります。
constraints 複合型(RECORD)、
繰り返し(REPEATED)
制約に関する情報
constraints.solution_index 整数(INTEGER) 対応する解のインデックス番号
constraints.name 文字列(STRING) 制約の名前
constraints.energy 数値(FLOAT) 制約ごとのエネルギー値
constraints.coeff 文字列(STRING) 最終的に実行された係数の値(JSON形式)
created_at タイムスタンプ(TIMESTAMP) レコードが作成された日時

これらのメタデータを分析することで、最適化計算のパフォーマンスや結果の品質を客観的に評価できます。また、問題の定式化(リソースや制約の与え方)が適切であったかどうかの判断材料にもなり、設定の調整や改善する際に役立ちます。

settings 「入力テーブル群を指定するテーブル」との関連を確認 arrow_upward

この情報は役に立ちましたか?