プロセス(ワークフロー)において、タスクに次いで最も多用するコンポーネントが「データ操作」ノードです。
データ操作ノードは、人間の手作業に代わってデータの転記、計算、ステータス変更を裏側で自動実行する「バックエンドの自動化エンジン」です。一見すると多くのオプションがあり複雑に見えますが、設定の基本概念は常に「①どこからどこへ(大枠)」➔「②何をどうするか(詳細)」というシンプルな2つのステップで構成されています。
データ操作設定の基本概念(2つのステップ)
データ操作を設定する際は、画面のプロパティを上から順に埋める前に、まず頭の中で以下の2つのステップを定義します。
ステップ①:大枠を決める「更新元」と「更新先」の定義
まずは、どのデータをベースにして(更新元)、どのデータを書き換えるか(更新先)という「データの流れる方向」を決定します。
- 自データへの反映(最も定番): プロセスが今動いているデータ自身を書き換えます。例えば、「参照型で紐づいている【顧客マスタ】の住所(更新元)を、自身の【案件データ】の納品先住所(更新先)に自動コピーする」といったケースです。
- 他データへの反映: 自身に紐づく別のモデル(関連リストや明細など)を書き換えます。例えば、「自身の【案件データ】が完了したら、紐づいているすべての【明細(子データ)】のステータスを一括で完了にする」といったケースです。
- 特殊な更新元:「シングルトン」はデータを1件のみ登録できるモデルで、設定値の保存に使えます。例えば自社情報をシングルトンモデルにまとめて処理中に持ってくるといった使い方です。他には、「住所」を選んで「地図型」項目を選択すると、住所をパースして個別の「郵便番号」「都道府県」といった情報を切り出して使うことができます。
- 特殊な更新先:「担当者」はデータ項目ではなく、担当者をアサインする際に利用できます。また、更新元と同じく「シングルトン」を更新するオプションもあります。
ステップ②:具体的な「操作(アクション)」の追加
大枠の方向性が決まったら、その枠の中に具体的なデータ操作を1つまたは複数追加していきます。ここでは、「どの項目(属性)」に対して、「どんな加工」を行って反映するかを個別・具体的に指定します。
- 元データの項目をそのままベースにする:
[反映先の項目]=[反映元の項目](例:顧客マスタの電話番号をそのままコピー) - 元データをベースに加工・演算を行う: 単なる転記だけでなく、NuAppが提供する関数や演算子を使ってデータを加工しながら反映できます。
- 文字列の結合:
[姓] + [名]を結合して「氏名」に反映 - 日付の演算:
[申請日] + 7を計算して「支払期日」に反映 - 状態の固定値代入:
[進捗フラグ] = True(固定の値を強制的に代入)
- 文字列の結合:
ひとつのデータ操作ノードの中に、これらの具体的な操作を「上から順に実行したい分だけ」複数並べることができるのが、NuAppのデータ操作の基本構造です。
設計時のメンタルモデル
- 「主語」を常に意識する 「今、プロセスが動いているこのレコード」が主語(自データ)です。更新先・更新元を他データ(別モデル)に切り替えるときは、「主語が変わる」という意識を持つだけで、設定ミスは劇的に減ります。
- 画面で見せないデータは、すべてここで作る ユーザーの入力ノイズを減らすために「画面上で非表示にしている項目(自動取得の日時や、裏側の制御用フラグ、マスタからの自動転記項目)」は、このデータ操作ノードが裏で自動生成する役割を担っています。
実践・応用パターン
データ操作ノードの基本概念(どこからどこへ ➔ 何をどうするか)を理解したら、次はNuAppのポテンシャルを最大限に引き出す実践的なテクニックを見ていきましょう。現場で特によく使う6つの即戦力パターンを解説します。
固定値やシステム値の扱い方(基本Tips)
具体的な値をデータに直接代入したい場合の、NuAppにおける入力ルールの定石です。
- フラグ(真偽値): チェック型の項目には、タイプ=システム値を選び、反映元の項目として
True(ON)またはFalse(OFF)を直接選択して代入します。 - 現在日時: 業務の実行タイミングを記録したい場合は、タイプ=システム値を選び、
今日や今を指定します。 - 選択肢(区分): 選択肢項目に値を代入する場合は、選択肢の「名称」ではなく、内部的に定義されている「値」を直接入力して指定します。
数値演算の2つのアプローチ(直接加減 vs 複雑な計算式)
「売上数を1増やす」といった単純な処理と、複雑な四則演算では、選ぶべき設定タイプが異なります。
- 直接加減(インクリメント/デクリメント): 反映先である自分自身の数値を直接加算・減算したいだけであれば、操作のプルダウンから直接
+や−の記号を選択するだけで完結します。これにより、反映先項目+=反映元項目といった動作になります。 - 複雑な計算式(タイプ「演算」): 「単価 × 数量 × 消費税率」のように、複数の項目や固定値を組み合わせた計算を行う場合は、操作のタイプで 「演算」 を選択し、右側の入力エリアに自由な計算式を記述します。
演算はスペース区切りで、次のように記述します。
項目ID * 項目ID * 1.10
文字列結合による「名前・ID」の自動生成
ユーザーに手動入力させず、データの組み合わせで一意の名称やコードを自動で組み立てます。
- 案件名の自動生成:
[顧客名] + '様_' + [商品名] + '導入プロジェクト'と結合することで、表記揺れのない綺麗な案件名(例:〇〇様_NuApp導入プロジェクト)をシステムが自動生成します。 - 枝番付き一意IDの作成:
[親の契約番号] + "-" + [発注回数(数値)]のように結合し、「CON2026-1」といった業務的に意味のある枝番付きの識別コードを裏側で自動発番させます。
住所テキストから「郵便番号」「都道府県」の自動パース(抽出)
1つの住所テキストから、必要な情報だけをシステムが自動で切り出します。
- 実装のイメージ: 更新元タイプで「住所」を選び住所型項目を指定しておきます。これにより「反映元の項目」が「住所」や「座標」、「郵便番号」「都道府県」といった選択肢に変化します。
これを活用して「東京都港区…」という住所情報を解析して自動的に「都道府県(東京都)」を抽出して別項目に保存したり、「135-0051」を抽出して郵便番号エリアに格納します。これにより、後の「エリア別集計」や「検索」などが圧倒的に楽になります。
「日付作成」による動的な自動スケジュール生成
「毎月の支払日は第3金曜日」といった、カレンダー固有の複雑な業務ロジックをプロセス上で自動計算します。
- 実装のイメージ: タイプで「日付作成」を選択します。データ操作のマニュアルにある記述方法を使うことで、「今月の第3金曜日は何日か」をシステムが自動算出します。これを「タスクの期日」や「次回処理日」に代入することで、人の判断を挟まない高度な自動スケジューリングが実現します。
「距離計算」を使った不正・誤入力のチェック
GPS情報とマスタのデータを掛け合わせ、位置情報の妥当性をシステム的に自動判定します。
- 実装のイメージ: タイプ「距離計算」を使用します。「スマホのGPSで取得した現在地」(col1)と「マスタに登録されている物件の緯度・経度」(col2)の2つの座標の間の直線距離を自動計算する場合は、入力欄に「col1,col2」と記述します。これにより、距離が自動計算されるので、 計算結果が「100メートル以上」離れている場合は、エラー判定フラグをONにする等のロジックを組むことで、「本当にその現場の近くで業務を開始したか」のチェックを自動化できます。
「キー値」を使ったマスタ参照(リレーション)の自動紐付け
ユーザーに画面上で参照先(マスタ)を手動で選ばせるのではなく、入力された特定のコードや値をキーにして、裏側で自動的に正しいマスタレコードとリレーションを結びます。
- 電話番号から「顧客マスタ」を自動紐付け: 問い合わせフォームなどの要件で重宝します。ユーザーが「電話番号(リンク型)」を入力した際、データ操作ノードがその番号をキーにして【顧客マスタ】を自動検索し、一致した顧客レコードを自身の「顧客参照(参照型)」にガチッと自動でセットします。
- ロジック分岐による「分類マスタ」の自動割り当て: データの内容(例:金額やエリアなど)に応じて、システム的に自動でカテゴリ分類したい場合に有効です。データ操作内で「金額が100万円以上なら、キー値に『A(大口顧客)』を代入する」といったロジックを組むことで、画面上でユーザーが意識することなく、裏側で【顧客ランクマスタ】との参照リレーションが自動的に構築されます。