自動計算の計算結果が表示されない場合のトラブルシューティング
自動計算フィールドで計算結果がnull(値が取得できていない状態)、空文字、「(No data)」「ー」など正しく表示されない場合の原因と対処方法をご説明します。
1. チケット詳細画面で「(No data)」「ー」と表示される、または空欄になる
表示条件や入力権限に関する問題
非表示セクション内の値を参照している
- 原因:表示条件により非表示になっているセクション内のフィールドを参照している。
-
対処法:
- 参照元のフィールドを常に表示されるセクションに移動する。
- 必要な値を中間フィールド(常に表示)に転記してから参照する。
入力可能なユーザーのフィールドが一致していない
- 原因:実際に操作しているユーザー(申請者 / 承認者)と、自動計算フィールドの「入力可能なユーザー」の設定が合っていないため、そのタイミングで自動計算が実行されていない。
-
対処法:
-
申請時に自動計算したい場合:
自動計算フィールドの「申請者が入力可能」を ON にします。(デフォルトがONです) -
承認時に自動計算(または再計算)したい場合:
自動計算フィールドの「承認者が入力可能」を ON にします。 -
申請時と承認時のどちらでも最新の値にしたい場合:
自動計算フィールドの「申請者が入力可能」「承認者が入力可能」を両方 ON にします。
-
申請時に自動計算したい場合:
2. 計算結果が正しくない、またはエラーになる
計算式のエラー(データの取り出し方や未入力値の扱い)
汎用マスタやユーザー情報を取り出す際の指定の誤り
- 原因:汎用マスタやユーザー・チームフィールドから値を取り出すときの指定が正しくない、または実際のデータの形と合っていない。
-
対処法:
- 汎用マスタ・ユーザー・チーム型フィールドは、単一選択・複数選択どちらの場合も、「選んだものの一覧」が順番付きで保存されています(JSON Array 形式)。
- 例えば汎用マスタアイテムのコードを表示したい場合は、次のように
json_lookup()関数と JSON パスを組み合わせて指定します。- 最初に選んだ汎用マスタアイテムのコードを表示したい場合:
json_lookup( $汎用マスタフィールド , "$[0].code" ) - 2番目に選んだアイテムのコードを表示したい場合:
json_lookup( $汎用マスタフィールド , "$[1].code" ) - 3番目以降も同じように、3番目なら
[2]、4番目なら[3]と、かっこの中の数字をn-1で指定します。
- 最初に選んだ汎用マスタアイテムのコードを表示したい場合:
データの種類(型)の不一致
文字列と数値の比較
-
原因:文字
"42"と 数字42のように異なる種類(型)の値同士を比較している。 -
対処法:
-
方法1: 参照元のフィールドの型を統一する
- 比較対象となっている参照元のフィールドのデータの種類(型)を、事前に同じ型(整数型、数値型など)に変更する。
-
方法2: 比較前に
text()関数などで型を揃える- 比較する前に、
text()関数を使って、データの種類(型)を揃える。 -
(数式例:数値を文字列に揃える場合)
-
修正例:
text($数値フィールド,"#") == $文字列フィールド
-
修正例:
- 比較する前に、
-
方法1: 参照元のフィールドの型を統一する
日付の文字列比較
- 原因:日付フィールドを「文字列」として比較すると、値の大きさではなく「辞書順」(文字コード順)で判断され正しい結果が得られない場合があります。
- 対処法
- 日付を文字列に変換してから比較する場合は*、
text()関数などで変換する際、辞書順で正しく判定されるように桁数を揃えた適切なフォーマットに整形してから比較してください。-
OK例:常に桁数を揃える(yyyy-mm-dd形式)
text( $日付フィールド , "yyyy-mm-dd" )-
2025-05-08と2025-05-10のように桁数が揃っているため、日付の前後関係が正しく判定されます。
-
NG例:桁数が揃っていない(yyyy-m-d形式)
text( $日付フィールド , "yyyy-m-d" )-
2025-5-8と2025-5-10のように桁数が揃っていない場合、辞書順で比較すると8の方が1より大きいため、日付の前後関係が誤って判定されてしまいます。
-
OK例:常に桁数を揃える(yyyy-mm-dd形式)
関連記事
フォームの自動計算フィールドで使用可能な変数や関数を教えて下さい
汎用マスタ型フィールドを自動計算で参照する方法を教えてください。
ユーザー型およびチーム型フィールドを自動計算で参照する方法を教えてください。