FAQ REDCap

2024年10月29日

🔧自動生成IDをアレンジして別の要素を組み入れたい

質問

REDCapで、自動生成IDをRecord IDとは別に作りたいです。以下の要素を組み合わせたIDを作るにはどうしたらよいですか?
 1. 任意のテキスト(文字と数字の組み合わせ)
 2. 固定テキスト(例:"serum")
 3. 日付

例えば下記のようなequationではうまく作動しません。
concat ([amid], 'serum', left([date_1_serum], 8))

回答

@CALCTEXTアクションタグを使うと、目的の自動生成IDを作成できます。以下のような式を使用します:
@CALCTEXT(concat([amid], "serum", left([date_1_serum], 8)))

🔹 @CALCTEXT(...):計算フィールドで文字列を生成するための必須タグです。
🔹 left([date_1_serum], 8):日付から先頭8文字(yyyy-mm-dd)を取得します。
📌 日付を「yyyyMMdd」形式にしたい場合は、以下のように分解して再構成するとよいです:
 @CALCTEXT(concat([amid], "serum", left([date_1_serum], 4), mid([date_1_serum], 6,2), right([date_1_serum], 2)))

⚠️ 各フィールドに値が入っていないとエラーになることがあるため、必要に応じて if(...) 式などで未入力時の処理を追加することを検討してください。

ポイント

  • @CALCTEXT をつけるのを忘れると、文字列が正しく生成されません。
  • concat() は文字列を結合するときに使います(Excelの & に近いイメージ)。
  • left()mid()、right() は文字列の一部を取り出す関数です。日付やIDの一部を抽出するのに便利です。

補足・追加情報

  • 🧢REDCap ヘルプデスク:ユーザ向け 情報提供サイト - Help01(学内限定) ⇒ REDCap Projectに移動します Fundamental資料提供、オブジェクトタイプ、関数紹介などを行っています。ご自由に入力して動作などを確認してください。必見です!

関連する質問

❓それでも解決しない場合はこちら ⇒ REDCapお問い合わせフォーム
🔒キーワード #○○○, #△△△△