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資料提供、オブジェクトタイプ、関数紹介などを行っています。ご自由に入力して動作などを確認してください。必見です!