スキーマの作成と命名
スキーマの作成を開始するには、スキーマ ワークスペースの右上隅にある スキーマを作成 を選択します。
スキーマを作成 ダイアログが表示されます。 このダイアログでは、フィールドとフィールドグループを追加して手動でスキーマを作成するか、CSV ファイルをアップロードして ML アルゴリズムを使用してスキーマを生成するかを選択できます。 ダイアログからスキーマ作成ワークフローを選択します。
Beta 手動または ML で支援されたスキーマの作成
ML アルゴリズムを使用して、アップロードされたファイルに基づいてスキーマ構造をレコメンデーションする方法については、 機械学習を利用したスキーマ作成ガイド を参照してください。 この UI ガイドは、手動作成ワークフローを中心としています。
基本クラスを選択
スキーマを作成 ワークフローが表示されます。 次に、スキーマの基本クラスを選択します。 XDM 個人プロファイル のコアクラスと XDM ExperienceEvent の間で、または その他 のクラスが目的に合わない場合は、これらのクラスを選択できます。 その他 クラスオプションを使用すると、 新しいクラスを作成 するか、他の既存のクラスから選択できます。
これらのクラスについて詳しくは、XDM 個人プロファイル および XDM ExperienceEvent のドキュメントを参照してください。 このチュートリアルでは、「XDM 個人プロファイル」に続いて「次へ」を選択します。
名前とレビュー
クラスを選択すると、「名前とレビュー セクションが表示され す。 このセクションでは、スキーマを識別するための名前と説明を指定します。 スキーマの名前を決定する際に考慮すべき重要な点がいくつかあります。
- 後でスキーマを簡単に見つけられるように、スキーマ名は短くわかりやすい名前にしてください。
- スキーマ名は一意である必要があります。つまり、将来再利用されないように十分に具体的でなければなりません。例えば、組織が異なるブランドに対して別々のロイヤルティプログラムを持つ場合、後で定義する他のロイヤルティ関連スキーマと区別しやすいように、スキーマに「ブランド A ロイヤルティメンバー」という名前を付けると効果的です。
- また、スキーマの説明を使用して、スキーマに関する追加のコンテキスト情報を提供することもできます。
このチュートリアルでは、ロイヤルティプログラムのメンバーに関連するデータを取り込むスキーマを作成するので、スキーマの名前は「Loyalty Members」とします。
キャンバスにスキーマの基本構造(クラスによって提供される)が表示され、選択したクラスとスキーマ構造を確認できます。
テキストフィールドに、人間にとってわかりやすい スキーマ表示名 を入力します。 次に、スキーマの識別に役立つ適切な説明を入力します。 スキーマ構造をレビューし、設定に満足したら、「完了」を選択してスキーマを作成します。
スキーマの作成
Schema Editor が表示されます。これは、スキーマを作成するキャンバスです。エディターを開くと、選択した基本クラスに含まれている標準フィールドと共に、自己名のスキーマがキャンバスの 構造 セクションに自動的に作成されます。 スキーマに割り当てられたクラスは、「構成」セクションの「クラス」にもリストされています。
フィールドグループの追加
これで、フィールドグループを追加して、スキーマへのフィールドの追加を開始できます。フィールドグループは、特定の概念を記述するために一緒に使用されることが多い 1 つ以上のフィールドから成るグループです。このチュートリアルでは、フィールドグループを使用してロイヤルティプログラムのメンバーを記述し、氏名、生年月日、電話番号、住所などの重要な情報を取り込みます。
フィールドグループを追加するには、「フィールドグループ」サブセクションで「追加」を選択します。
新しいダイアログが表示され、使用可能なフィールドグループのリストが表示されます。各フィールドグループは特定のクラスでのみ使用できるものなので、ダイアログには、選択したクラス(この場合は、XDM Individual Profile クラス)に適合するフィールドグループのみがリストされます。標準の XDM クラスを使用している場合、フィールドグループのリストは使用頻度に基づいてインテリジェントに並べ替えられます。
左側のパネルでフィルターの 1 つを選択して、標準フィールドグループのリストを特定の業種(小売、金融機関、ヘルスケアなど)に絞り込むことができます。
リストからフィールドグループを選択すると、右側のパネルに表示されます。必要に応じて複数のフィールドグループを選択し、各グループを右側のレールのリストに追加してから確認することができます。また、現在選択されているフィールドグループの右側にアイコンが表示され、提供されるフィールドの構造をプレビューできます。
フィールドグループをプレビューする際に、右側のパネルに、フィールドグループのスキーマに関する詳細な説明が表示されます。また、提供されたキャンバスでフィールドグループのフィールド間を移動することもできます。別のフィールドを選択すると、右側のパネルが更新され、該当するフィールドの詳細が表示されます。プレビューが完了したら「戻る」を選択して、フィールドグループ選択ダイアログに戻ります。
このチュートリアルでは、「デモグラフィックの詳細」フィールドグループを選択し、次に「フィールドグループを追加」をクリックします。
[ デモグラフィックの詳細フィールドグループが選択され ]
スキーマキャンバスが再び表示されます。「フィールドグループ」セクションにはデモグラフィックの詳細がリストされ、「構造」セクションにはフィールドグループによって提供されたフィールドが含まれます。「フィールドグループ」セクションでフィールドグループの名前を選択して、キャンバス内で提供される特定のフィールドをハイライト表示できます。
このフィールドグループでは、データタイプが「ユーザー」の最上位の名前 person の下にいくつかのフィールドが提供されます。このフィールドグループは、名前、生年月日、性別など、個人に関する情報を説明します。
name フィールドのデータタイプは「フルネーム」であることに注意してください。これは一般的な概念を表しており、名、姓、敬称、接尾辞など、名前に関連するサブフィールドを含みます。
キャンバス内の様々なフィールドをクリックすると、それらがスキーマ構造に寄与する追加のフィールドが表示されます。
さらなるフィールドグループの追加
これで、同じ手順を繰り返して、別のフィールドグループを追加できるようになりました。この段階で フィールドグループを追加 ダイアログを表示しても、「デモグラフィックの詳細」フィールドグループがグレー表示されており、その横のチェックボックスを選択できないことに注意してください。これにより、現在のスキーマに既に含まれているフィールドグループが誤って複製されるのを防止できます。
このチュートリアルでは、標準フィールドグループである 個人の連絡先の詳細 と ロイヤルティの詳細 をリストから選択したあと、「フィールドグループを追加」を選択してこれらのフィールドグループをスキーマに追加します。
![2 つの新しいフィールドグループが選択され、 フィールドグループを追加 がハイライト表示された ] フィールドグループを追加 ダイアログ
キャンバスが再び表示され、追加したフィールドグループが「構成」セクションの「フィールドグループ」にリストされます。また、スキーマ構造に追加されたそれらの複合フィールドも表示されます。
カスタムフィールドグループの定義
ロイヤルティメンバースキーマは、ロイヤルティプログラムのメンバーに関連するデータを取り込むためのもので、スキーマに追加した標準のロイヤルティの詳細フィールドグループは、プログラムタイプ、ポイント、加入日など、これらのほとんどを提供します。
ただし、場合によっては、ユースケースを達成するために、標準フィールドグループでカバーされない追加のカスタムフィールドを含める必要がある状況も考えられます。 カスタムロイヤルティフィールドを追加する場合は、次の 2 つの選択肢があります。
- 新しいカスタムフィールドグループを作成して、これらのフィールドを取り込みます。 この方法については、このチュートリアルで説明します。
- 標準のロイヤルティの詳細フィールドグループを拡張して、カスタムフィールドを追加します。 この場合、ロイヤルティの詳細はカスタムフィールドグループに変換され、元の標準フィールドグループは使用できなくなります。 標準フィールドグループの構造にカスタムフィールドを追加する方法について詳しくは、スキーマ UI ガイドを参照してください。
新しいフィールドグループを作成するには、前と同様に「フィールドグループ」サブセクションの「追加」を選択しますが、今回は、表示されるダイアログの上部付近の「新しいフィールドグループを作成」を選択します。次に、新しいフィールドグループの表示名と説明を入力するように求められます。 このチュートリアルでは、新しいフィールドグループに「Custom Loyalty Details」という名前を付けたうえで、「フィールドグループを追加」を選択します。
これで、キャンバスの左側にある「フィールドグループ」に「Custom Loyalty Details」が表示されますが、まだフィールドは関連付けられていないので、「構造」には新しいフィールドは表示されません。
フィールドグループにフィールドを追加します。
これで「Custom Loyalty Details」フィールドグループを作成したので、このフィールドグループがスキーマに提供するフィールドをようやく定義できます。
まず、キャンバスでスキーマ名の横にある プラス(+) アイコンを選択します。
「名称未設定フィールド」プレースホルダーがキャンバスに表示されます。また、右側のパネルが更新されて、このフィールドの設定オプションが表示されます。
このシナリオでは、スキーマには、人物の現在のロイヤルティ層の詳細を記述するオブジェクトタイプのフィールドが必要です。 右側のパネルのコントロールを使用して、関連フィールドを保持するのに使用される「オブジェクト」タイプの loyaltyTier フィールドの作成を開始します。
「割り当て先」で、フィールドの割り当て先となるフィールドグループを選択する必要があります。 すべてのスキーマフィールドはクラスかフィールドグループのどちらかに属していますが、このスキーマは標準クラスを使用しているので、フィールドグループの選択のみ可能です。 「Custom Loyalty Details」という名前を入力し始めると、該当するフィールドグループがリストに表示されるので、それを選択します。
完了したら、「適用」を選択します。
変更内容が適用され、新しく作成された loyaltyTier オブジェクトが表示されます。これはカスタムフィールドなので、組織のテナント ID を名前空間とするオブジェクト内に自動的にネストされ、先頭にアンダースコアが付きます(この例では _tenantId)。
loyaltyTier オブジェクトの横にある プラス(+) アイコンを選択して、サブフィールドの追加を開始します。新規フィールドプレースホルダーが表示され、「フィールドプロパティ」セクションがキャンバスの右側に表示されます。
各フィールドには、次の情報が必要です。
- フィールド名:フィールドの名前(なるべくキャメルケースで記述)。スペース文字は使用できません。 これは、コード内および他のダウンストリームアプリケーションでフィールドを参照するために使用される名前です。
- 例:loyaltyLevel
- 表示名:単語の先頭のみ大文字で書かれたフィールド名。これは、スキーマの表示または編集時にキャンバスに表示される名前です。
- 例:Loyalty Level
- 型:フィールドのデータタイプ。これには、基本的なスカラータイプと、Schema Registry に定義されている任意のデータタイプが含まれます。例:文字列、整数、ブーリアン、人物、住所、電話番号など
- 説明:フィールドの説明(オプション)は、200 文字以内で指定してください。
loyaltyTier オブジェクトの最初のフィールドは、id という文字列になります。これは、ロイヤルティメンバーの現在の階層の ID を表します。 この会社では、様々な要因に基づいて顧客ごとに異なるロイヤルティ層ポイントしきい値を設定しているので、階層 ID はロイヤルティメンバーごとに一意になります。 新しいフィールドのタイプを「 文字列 」に設定すると、デフォルト値、形式、最大長など、制約を適用するためのオプションが フィールドプロパティ セクションに自動的に入力されます。 詳しくは、 データ検証フィールドのベストプラクティス に関するドキュメントを参照してください。
id はランダムに生成されるフリーフォーム文字列なので、それ以上の制約は必要ありません。「適用」を選択して変更を適用します。
フィールドグループにさらにフィールドを追加します。
id フィールドを追加したら、次のようなロイヤルティ層の情報を取り込むためのその他のフィールドを追加できます。
- 現在のポイントしきい値(整数):メンバーが現在の階層に留まるために維持する必要があるロイヤルティポイントの最小数。
- 次の階層ポイントのしきい値(整数):メンバーが次の階層に進むために獲得しなければならないロイヤルティポイントの数。
- 発効日(日時):ロイヤルティメンバーがこの階層に参加した日付。
各フィールドをスキーマに追加するには、loyalty オブジェクトの横にあるプラス(+) アイコンを選択し、必要な情報を入力します。
完了すると、loyaltyTier オブジェクトには id、currentThreshold、nextThreshold、および effectiveDate のフィールドが含まれます。
フィールドグループへの列挙フィールドの追加
Schema Editor でフィールドを定義する場合、フィールドに含めることができるデータにさらに制約を加えるために、基本的なフィールドタイプに適用できるいくつかの追加オプションがあります。これらの制約のユースケースを次の表で説明します。
| 制約 | 説明 |
|---|---|
| 必須 | データの取得にフィールドが必須であることを示します。このフィールドを含まないデータセットに基づいてスキーマセットにアップロードされたデータの取得は失敗します。 |
| 配列 | フィールドに値の配列が含まれ、各値は指定されたデータタイプを持つことを示します。例えば、データタイプが「文字列」のフィールドでこの制約を使用すると、フィールドに文字列の配列を含めることを指定します。 |
| 列挙と推奨値 | このフィールドに、可能な値の列挙リストの値の 1 つを含める必要があることを示します。または、このオプションを使用して、フィールドをそれらの値に制限することなく、文字列フィールドの推奨値のリストを提供することもできます。 |
| ID | このフィールドが ID フィールドであることを示します。ID フィールドの詳細については、このチュートリアルの後半で説明します。 |
| 関係 | スキーマの関係は、結合スキーマと Real-Time Customer Profile を使用して推論できますが、同じクラスを共有するスキーマにのみ適用されます。 関係制約とは、このフィールドが、異なるクラスに基づいてスキーマのプライマリ ID を参照し、2 つのスキーマ間の関係を意味することを示します。 詳しくは、関係の定義に関するチュートリアルを参照してください。 |
このチュートリアルでは、スキーマ内の loyaltyTier オブジェクトには、階層クラスを記述する新しい列挙型フィールドが必要です。値は 4 つのオプションのうちいずれかになります。このフィールドをスキーマに追加するには、loyaltyTier オブジェクトの横にあるプラス (+) アイコンを選択し、フィールド名および 表示名 の必須フィールドに入力します。タイプの場合、「文字列」を選択します。
タイプを選択すると、フィールドに対して追加のチェックボックスが表示されます。これには、配列、列挙と推奨値、ID、および 関係 のチェックボックスが含まれます。
列挙と推奨値チェックボックスをオンにして、「列挙」を選択します。 ここで、許容可能な各ロイヤルティ階層クラスの値(キャメルケース)と表示名(オプション。単語の先頭のみ大文字で書かれた読みやすい名前)を入力できます。
すべてのフィールドプロパティの入力が完了したら、「適用」を選択し、tierClass フィールドから loyaltyTier オブジェクトに追加します。