Administrator 練習問題 Q121
Cloud Kicksの管理者は、ユーザーがレコードで複数のスタイルを選択できないように、自社の「靴のスタイル」項目を変更するよう依頼されました。これを達成するために、管理者はどの2つのステップを実行する必要がありますか?2つ選択してください
左の□で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
2つ選択してください(0/2)
正答:C. 既存レコードの「靴のスタイル」項目の値をバックアップします。 / D. 項目のデータ型を複数選択リストから選択リストに変更します。
解説
前提知識
選択リスト(Picklist)とは
あらかじめ用意した候補から、ユーザーが1つだけ選ぶ項目です。「業種」「フェーズ」のように、表記ゆれを起こしたくない情報に使います。
複数選択リスト(Multi-Select Picklist)とは
同じく候補から選びますが、いくつでも選べる項目です。選ばれた値は、内部的にセミコロン区切りの1つの文字列として保持されます(例: スニーカー;ブーツ;サンダル)。
Salesforce公式も「複数選択リストは、定義したリストから複数の値を選択できるようにする。これらの項目は各値をセミコロンで区切って表示する」と説明しています。
データ型の変更とは
既存のカスタム項目の種類を作り変える操作です([データ型を変更]ボタン)。データ型の組み合わせごとに制限とデータへの影響が異なるため、感覚ではなく公式の変換ルールで判断します。 Salesforce公式は、複数選択リストから他のデータ型へ変更するとデータ損失が起こり得ると明記しています。どの値が残るかを一律には断定できないため、変更前のバックアップが必須です。
設問の状況を分解する
- 現状: 「靴のスタイル」は複数選択リストで、ユーザーは複数選べる
- 要望: 1つしか選べないようにしたい
- 制約: すでに既存レコードにデータが入っている 初学者が見落とすのは、「設定を変えるだけ」では終わらないという点です。複数選択リストから選択リストへの変更は、既存データが失われる可能性があります。また、その項目を参照する数式、フロー、入力規則などがあると、先に依存関係の修正を求められる場合があります。 だから管理者がやるべきことは2つになります。
- 消えるかもしれないデータを先に退避する(バックアップ)
- 型を変更する この順序が逆になると取り返しがつきません。
選択肢の検討
A. 項目タイプが変更された後、適切な靴のスタイル値を再度有効化します。 → ✕
データ型を変更しても、選択肢(値)の一覧そのものは無効化されません。有効な値はそのまま引き継がれます。再有効化という作業は発生しません。 この選択肢が正解になるのは、値を意図的に無効化した後で再び使いたくなった場合です。今回の設問とは無関係です。
B. [選択リスト]項目で[値を1つだけ選択する]チェックボックスをオンにします。 → ✕
そのようなチェックボックスは存在しません。「複数選べるかどうか」はチェックボックスの設定ではなく、データ型そのものの違いです。選択リストと複数選択リストは、別のデータ型です。 Salesforceの問題では、「もっともらしいが実在しない設定名」がよく紛れ込みます。設定画面を思い浮かべて、その項目が本当にあるかを確認する癖をつけてください。
C. 既存のレコードの「靴のスタイル」の値をバックアップします。 → ⭕ 正解
複数選択リストから別のデータ型への変更は、Salesforce公式がデータ損失の可能性を明示している変換です。変更前にレポートまたはデータローダーで全件をエクスポートし、復元できる状態を作ります。 公式は残存する値の選ばれ方までは保証していません。特定の値が残ると推測せず、サンドボックスで実データの変換結果を確認します。
D. 項目のデータ型を、複数選択リストから選択リストに変更します。 → ⭕ 正解
これが目的そのものです。[オブジェクトマネージャ]から項目を開き、[データ型を変更]でデータ型を選択リストに切り替えます。この操作によって、ユーザーは1つしか選べなくなります。
管理者としての対処手順
- レポートまたはデータローダーで、対象項目を含む全レコードをエクスポートする。
- 対象項目を参照する数式、入力規則、フロー、レポート、リストビュー、割り当てルールなどを洗い出す。
- 複数の値を持つレコードを特定し、変更後に採用する値を業務側と決める。
- サンドボックスで同じ変更を試し、データ損失と依存機能への影響を確認する。
- 必要な依存関係を修正した後、[設定]→[オブジェクトマネージャ]→対象オブジェクト→[項目とリレーション]→「靴のスタイル」→[データ型を変更]を開く。
- [選択リスト]を選んで保存する。
- 変更後、バックアップを基に必要な値をデータローダーで補正し、関連機能を再テストする。
あわせて覚えておきたいポイント
| 変更 | データへの影響 |
|---|---|
| 複数選択リスト → 選択リスト | データ損失が起こり得るため、事前バックアップと検証が必須 |
| 選択リスト → 複数選択リスト | 安全。既存の1値がそのまま残る |
| 選択リスト → テキスト | 比較的安全(広げる方向) |
| テキスト → 選択リスト | 注意。既存値が候補にないと問題になる |
もう一つ実務上の注意です。複数選択リストはレポートやSOQLでの扱いが難しい項目です(含む・含まないの条件しか書けず、集計もしづらい)。「複数選ばせたい」という要件が出たら、まず本当に複数必要かを疑い、必要なら子オブジェクトに切り出すことも検討してください。
出典(Salesforce公式)
- Custom Field Types — 「選択リストは定義したリストから単一の値を選択させる」「複数選択リストは複数の値を選択でき、各値をセミコロンで区切って表示する」(データ型が別物であり、B のようなチェックボックス設定が存在しないことの根拠)
- Change the Data Type of a Custom Field — 既存カスタム項目のデータ型を変更する手順、および変更時の考慮事項
- Considerations for Converting the Field Type of a Custom Field — 複数選択リストから他のデータ型への変更でデータ損失が起こり得ること、データ損失時にはリストビューや割り当て・エスカレーションルールにも影響し得ること
- Manage Your Picklist Values(Trailhead) — 選択リストの値を変更したときに既存データがどうなるかの解説