🧩

変換ルールの種類と使い方

この記事では、変換タブで設定できる変換ルールの種類と、それぞれのパラメータの設定方法を説明します。 変換ルールは、入力した値を出力する前に加工するための設定です。
⚠️
前提
変換ルールは、変換タブでターゲット項目にマッピングを設定したうえで、そのマッピングに対して追加します。マッピングの設定方法は先に確認してください。 (変換を設定する(マッピングの基本))

変換ルールの一覧

設定できる変換ルールは9種類です。
ルール名できること主なパラメータ
大文字・小文字変換英字を大文字または小文字に揃えます
値マッピング対応表にもとづいて、値を別の値に読み替えます

カスタム式(CEL)式を書いて値を加工します
全角・半角変換文字を全角または半角に揃えます
書式変換日付や数値の表記を指定した書式に整えます
空白除去(トリム)先頭・末尾の空白を取り除きます
部分抽出位置と文字数を指定して、値の一部を取り出します
正規表現抽出正規表現に一致した部分を取り出します
日付計算入力した日付と基準日の差を、年・月・日などで求めます


💡
どのルールも、変換後の値は文字列になります。 入力した値が空(値なし)の場合は、どのルールも変換せず入力値(ソース)のまま出力します。

Step 1 変換ルールを追加する

  • レシピ詳細の「データ処理」タブをクリック
  • 「変換」タブをクリック
  • 「変換」見出しの右の「編集」をクリック
  • 変換ルールを設定するターゲット項目のカードで、下部の「変換ルール」を確認
  • 「+ ルールを追加」から、追加するルールを選択
追加したルールは、カードの下部に のように、番号とルール名が付いた行で表示されます。
💡
ルールを追加していないターゲット項目には「ルールなし」と表示されます。 カード中央の「変換」には、設定済みのルール件数が「N 件」と表示されます。
⚠️
変換ルールは編集モードでのみ追加・変更できます。「編集」をクリックしていない状態では、設定済みのルールの一覧だけが表示されます。

Step 2 パラメータを設定する

追加したルールの行に、そのルールのパラメータの入力欄が表示されます。
  • 各パラメータに値を入力、または選択肢から選択
パラメータの入力欄は、種類によって次の3つに分かれます。
入力欄の種類説明
選択決まった選択肢から選びます 任意のパラメータでは「(未設定)」も選べます
テキスト・数値値を直接入力します
対応表値マッピングの のみ。「入力値」と「出力値」の組を「行を追加」で増やします
  • ルールを削除する場合は、ルール行の右端の「×」をクリック
⚠️
必須のパラメータを空欄にしたままでもデプロイはできますが、実行時に意図しない結果になります。 たとえば書式変換の や正規表現抽出の が空欄のままだと、変換結果が空になります。

Step 3 適用順を確認する

取り込み元の性別が m / f の小文字で入ってくる場合 ・正しい順(大文字化 → 値マッピング): m → M → 男性 ・逆順(値マッピング → 大文字化): m は M の行に一致せずそのまま通り → M
変換ルールは1つのターゲット項目に複数設定できます。設定したルールは上から順に適用され、前のルールの結果に次のルールが適用されます。
  • 順番を変える場合は、ルール行の左端のハンドルをドラッグして入れ替え
  • 入れ替えると、行の先頭の番号も振り直されます
💡
設定した変換ルールが意図したとおりに動くかは、デプロイの前にドライランで実際のデータで確認できます。(ドライランで動作を確認する)

ルール毎の設定

ここからは、ルール毎のパラメータと設定例を説明します。

大文字・小文字変換

英字を大文字または小文字に揃えます。
パラメータ説明
必須「大文字」または「小文字」を選択
例)社員コードの英字を大文字に揃える
  • :大文字
  • 変換前: → 変換後:

値マッピング

対応表にもとづいて、値を別の値に読み替えます。コード値を名称に変える場合などに使います。
パラメータ説明
必須「入力値」と「出力値」の対応表 「行を追加」で組を増やし、不要な組は右端の「×」で削除します
任意対応表にない値が来たときの扱い 「そのまま通す」:入力値をそのまま出力 「既定値を使う」: の値を出力 「空にする」:空の値を出力 「(未設定)」のときは「そのまま通す」と同じ動きになります
任意 が「既定値を使う」のときに出力する値 空欄のままにすると、空の値が出力されます
例)部署コードを部署名に読み替える
  • : → 、 →
  • :既定値を使う
  • :
  • 変換前: → 変換後:
  • 変換前:(対応表にない) → 変換後:
⚠️
対応表の「入力値」は完全一致で判定されます。前後に空白が入っていたり、全角・半角が混ざっていると一致しません。 データが揃っていない場合は、値マッピングの前に「空白除去(トリム)」や「全角・半角変換」を置いてください。

カスタム式(CEL)

ほかのルールでは表せない加工を、CEL(Common Expression Language)で記述します。
パラメータ説明
必須評価する式を入力 入力した値は、式の中で (文字列)として参照できます
例)値を山カッコで囲む
  • :
  • 変換前: → 変換後:
📋
CEL(Common Expression Language) の記法について
カスタム式で使えるのは、入力した値を表す変数 と、CEL の標準の演算子・関数、および文字列の拡張関数(、 など)です。記法の詳細は公式ドキュメントをご覧ください。
※ 公式ドキュメントには CEL全体の機能が記載されていますが、上記以外の拡張機能はデータブリッジでは利用できません。
⚠️
式の誤りはデプロイ時には検出されません。 構文エラーや評価できない式は、実行時にエラーになります。ドライランで必ず確認してください。
💡
を空欄または空白だけにした場合は、入力した値がそのまま出力されます。 大文字化や部分抽出のように専用のルールがある加工は、カスタム式ではなくそのルールを使ってください。
💡
CEL は、YESOD アカウントコントロールの属性式とは異なる記法です。 属性同期などで使う属性式の書き方は、ここではそのまま使えません。カスタム式では、入力した値を として参照し、CEL の文法で記述します。

全角・半角変換

文字を全角または半角に揃えます。
パラメータ説明
必須「全角」または「半角」を選択
例)全角の英字を半角に揃える
  • :半角
  • 変換前: → 変換後:
⚠️
変換の対象は英数字・記号・カタカナです。カタカナだけ、英数字だけを対象にすることはできません。 「半角」を選ぶと、全角カナだけでなく全角の英数字・記号もまとめて半角になります。

書式変換

日付や数値の表記を、指定した書式に整えます。
パラメータ説明
必須「日付」または「数値」を選択
必須出力する書式を入力 日付の例) 数値の例)
例)日付の区切り文字をスラッシュに変える
  • :日付
  • :
  • 変換前: → 変換後:
例)数値に桁区切りを入れる
  • :数値
  • :
  • 変換前: → 変換後:
⚠️
「日付」で受け付ける入力は yyyy-MM-dd の形式だけです。
や のように別の形式の値を渡すと、変換結果は空になります。日付として解釈できない値、数値として解釈できない値も同じく空になります。 エラーにはならず空の値が出力されるため、ドライランで結果を確認してください。

空白除去(トリム)

値の先頭・末尾の空白を取り除きます。
パラメータ説明
任意「先頭」「末尾」「両端」から選択 「(未設定)」のときは「両端」と同じ動きになります
例)前後の空白を取り除く
  • :両端
  • 変換前: → 変換後:
💡
取り除かれるのは先頭と末尾の空白だけです。値の途中にある空白は残ります。

部分抽出

位置と文字数を指定して、値の一部を取り出します。
パラメータ説明
必須取り出しを開始する位置 先頭は です
任意取り出す文字数 空欄のままにすると、開始位置から末尾までを取り出します
例)日付の文字列から年だけを取り出す
  • :
  • :
  • 変換前: → 変換後:
⚠️
開始位置は から数えます。 を指定すると2文字目からになります。 開始位置が値の長さを超えている場合や、取り出す範囲に文字がない場合は、変換結果が空になります。値の長さより長い文字数を指定した場合は、末尾までが取り出されます。

正規表現抽出

正規表現に一致した部分を取り出します。
パラメータ説明
必須正規表現を入力
必須取り出すグループの番号 :一致した部分の全体 以降: で囲んだグループを、左から順に指定します
例)社員番号から数字部分だけを取り出す
  • :
  • :
  • 変換前: → 変換後:
⚠️
一致する部分がない場合、正規表現として解釈できない場合、指定した番号のグループが存在しない場合は、いずれも変換結果が空になります。エラーにはならないため、ドライランで結果を確認してください。
💡
一致する部分が複数ある場合は、最初に一致した部分だけが取り出されます。

日付計算

入力した日付と基準日の差を求めます。生年月日から年齢を求める場合などに使います。
パラメータ説明
必須基準日の決め方 「当日」:レシピを実行した日 「固定日」: に入力した日付 「可変」: に指定した実行パラメータの値
任意「固定日」の場合は 形式の日付を入力 「可変」の場合は の形で実行パラメータを指定 「当日」の場合は使いません
必須出力する単位 「年」「月」「日」「年月」から選択
任意「年月」を選んだときの出力の書き方 と が、それぞれ年数・月数に置き換わります 空欄のままにすると になります
例)生年月日から年齢を求める(実行日が 2026-01-01 の場合)
  • :当日
  • :年
  • 変換前: → 変換後:
例)在籍期間を「年月」で求める(基準日が 2026-03-01 の場合)
  • :固定日
  • :
  • :年月
  • 変換前: → 変換後:
⚠️
入力する日付は yyyy-MM-dd の形式だけを受け付けます。
のように別の形式の値や、日付として解釈できない値を渡すと、変換結果は空になります。 また、入力した日付が基準日より後の場合、結果は になります(マイナスにはなりません)。
⚠️
「可変」を選び、宣言していない実行パラメータを に指定するとデプロイできません。 使用するパラメータは、先に実行パラメータとして宣言してください。(実行パラメータを設定する)

よく使う設定例

氏名を姓と名に分ける

取り込み元が「氏名」の1項目で、YESOD 側は「姓」「名」に分かれている場合の設定です。 同じソース項目(氏名)を、姓のマッピングと名のマッピングの両方の入力にして、それぞれ別のカスタム式を設定します。
  • 「姓」のカードを「入力の追加先にする」で選択し、入力にソース項目の「氏名」を追加
  • 「カスタム式(CEL)」を追加し、:
  • 「名」のカードを「入力の追加先にする」で選択し、入力に同じ「氏名」を追加
  • 「カスタム式(CEL)」を追加し、:
変換の結果は以下のとおりです。
取り込み元の氏名姓名
(区切りのスペースなし)(空)
⚠️
スペースがない行への備えが必要です。
を条件なしで書くと、区切りのスペースがない行で実行時にエラーになります(分割結果が1件しかなく、2件目を参照できないため)。該当する行が1件でもあると、その実行は失敗します。上の例のように必ず で場合分けしてください。 名の式で、スペースがないときに を返すと、氏名がまるごと「名」に入ってしまいます。上の例のように として空にしておくのが無難です。
💡
姓の式は、区切りがなくても1件目は必ず取れるため、 だけでも同じ結果になります。
⚠️
区切りが全角スペースの場合は分割されません。
と が見るのは半角スペースだけです。全角スペースで区切られたデータもある場合は、式の中で半角スペースに置き換えてから分割してください。 姓: 名: 先に「全角・半角変換」を置く方法もありますが、全角カナも半角カナに変わってしまうため、氏名には向きません。
💡
氏名の前後に余分な空白が入っていることがある場合は、先に「空白除去(トリム)」を置いてからカスタム式を適用してください。変換ルールは上から順に適用されます。

全角カナを半角に揃える

取り込み元で全角・半角が混ざっているカナを、半角に統一します。
  • 「全角・半角変換」を追加
  • :半角
⚠️
同じ値に含まれる全角の英数字・記号も半角になります。カナだけを変換することはできません。

部署コードを部署名に読み替える

取り込み元がコード値で、ターゲットには名称を入れたい場合に使います。
  • 「空白除去(トリム)」を追加し、:両端 コード値の前後に空白が入っていても一致するようにします。
  • 続けて「値マッピング」を追加
  • : → 、 → のように対応表を入力
  • :既定値を使う
  • :想定外のコードが来たときに入れる値を入力
💡
対応表に載せる値が多い場合や、対応表が頻繁に変わる場合は、取り込み元のデータ側で名称を持たせるほうが運用が楽になります。

生年月日から年齢を算出する

生年月日の列から、実行日時点の年齢を求めてターゲットに入れます。
  • 「日付計算」を追加
  • :当日
  • :年
⚠️
生年月日が 以外の形式で取り込まれている場合、年齢は空になります。 「書式変換」で形を整えることもできませんので(「書式変換」も の入力しか受け付けません)、ソース側で の形式に揃えてください。
💡
基準日を実行日ではなく特定の日にしたい場合は に「固定日」を、実行のたびに変えたい場合は「可変」を選んで実行パラメータで渡します。