「計算済みインサイト」の値をSalesforceオブジェクトへ書き戻す (DataCloudハンズオン - Coral Cloud #8)

前回は、「計算済みインサイト」でLTV集計とディメンジョンを作成しました。

https://qiita.com/Mijinko-kun/items/2106d8219f5c7ee0e9c1

今回は、Data Cloudの「計算済みインサイト」機能で合算計算された値(生涯予約回数、と生涯価値：ライフタイムバリュー)を、データ提供元のSalesforce CRMの`取引先責任者オブジェクト`に書き戻してみます。


以下のワークショップ[Exercise 8]の手順に沿って、操作を行います。

https://developer.salesforce.com/agentforce-workshop/data-cloud/8-access-calculated-insights


## 「データクラウド管理者の権限セット」を設定

DataCloudの`default`の「データスペース」にアクセスするための権限を追加します。

なお、データスペースとは、データを論理的に分割・整理するためのコンテナ（区画）です。ブランド、地域、部門、または開発環境（例: Sandbox、本番）ごとにデータを分離できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/c98cc334-2021-43a3-b297-2e1e14f4c07b.png)

default データスペースは Data Cloud を有効化した際に最初から自動的に作成されるデータスペースです。
 

[権限セット]で`Data Cloud 管理者権限セット`をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/266e7082-0ee9-49df-86b9-ae7b43959515.png)


[Data Cloud データスペース管理]をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/816cf417-9d00-41c8-a7df-4ff715b95a3c.png)

[編集]をクリックして、[default]データベースにチェックを入れます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/d99b1acc-01d8-42ed-ae4f-28b7180e4e17.png)


## 「Customer 360 Data Platform Integration」を設定

`取引先責任者`オブジェクトのフィールドへ**Data Cloudからコピーする**ために必要な権限を設定します。

[権限セット]で`Customer 360 Data Platform Integration`をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/d40035f9-8f01-4140-a3b0-cbba2b11f3e4.png)

[オブジェクト設定]をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/d77d9391-ac93-4bda-90b5-b9ee3435eb11.png)


`取引先責任者`をクリックして、[編集]ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/1446f49c-d41d-43d2-82fa-a4a1f6194705.png)

[すべてのレコードの編集]にチェックをいれます。今回データを転記する先の

`Lifetime_Reservations__c`と`Lifetime_Value__c`

の列に編集権限を付与します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/3631ff80-a577-4df7-9057-c2adbbe276f5.png)



## 「計算済みインサイト」ジョブのステータスを確認

Data Cloudアプリの、[計算済みインサイト]を開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/24cdf43d-952f-4db9-85cc-737c38170864.png)

成功となっていればOKです。

## Data Cloud コピー項目(Data Cloud Copy Field) の設定

Coral Cloudアプリで、`Sofia Rodriguez`を検索して、取引先責任者を開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/0c8ce171-2e83-4cdb-9f1e-c2400ca4476f.png)

[オブジェクトを編集]をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/11633cf8-68f0-4d0e-92a1-708079b6782f.png)

オブジェクトマネージャの[取引先責任者]が開きます。

左のメニューから**Data Cloud コピー項目**をクリックします。

[新規]ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/50f2f968-e15c-4485-b3fe-5a934e5df256.png)

データのコピー元として、「計算済みインサイト」のAPI名`Spend Profile By Guest`を選択します。
これは、前の記事で設定したライブライムバリュー値が含まれる項目です。



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/912abb68-0550-4b33-82e5-b4c9f4bfa7ca.png)

コピー元のフィールドとして、`Lifetime Reservations` と`Lifetime Value fields`を選択します。

この、コピー項目自体の名前を設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/616367e8-645a-4819-9b39-c655ad332fe6.png)

最後にコピー先のフィールドを設定します。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/202fd360-0ce3-43e0-bab7-6150ef33ec5c.png)


保存して、同期します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/a98822e9-6619-44b0-9288-fdbe92418060.png)

同期状況は[同期履歴]タブで確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/d769dbe9-d116-4d81-98e1-dba066a3aec8.png)

同期が完了するまで、15分くらいかかることがあります。


### レイウアウトの変更

取引先責任者のレイアウトに`Lifetime Reservations` と `Lifetime Value fields`が存在しないため、追加しておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/d3d2bc9a-dbc0-4fea-ad61-fb4510d07a0e.png)


以上です。



---

## `データの完全コピーが失敗しました。(Full data copy failed)`というエラー

残念ながら、今回は、`データの完全コピーが失敗しました。`というエラーが出てしまいました。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/fde2a866-1872-4fc4-914e-19a6e638799c.png)




詳細では、`Failed to process Day 0 job`と表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/ed8d08d4-3480-482f-b13c-805f6a0c90d2.png)



たぶん、このKnown Issue(Data Cloud Copy Field Enrichments (DCFE) may exclude CRM records)のようです。

https://issues.salesforce.com/issue/a028c000010FatzAAC/

`Salesforce_Home`というデータソースが良くないようです。


少し対応を試しましたが、うまくいきませんでした。

- キー修飾子の追加 

図ではDataSourceを選んでいますが、適当です。間違いだと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/9d4cbf42-7024-490a-a2bc-177444fde6ae.png)

- キー修飾子の指定

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716146/b8be32da-8bda-4e8f-ba40-76229c3eefa3.png)


[この強化を有効化できませんでした。すべてのマッピングを完了して、もう一度お試しください。]というエラーがでました。




難易度が高いので、今回は諦めます。。。


以下は、他に参考にしたページ。

https://www.salesforceblogger.com/2024/02/29/ways-to-leverage-data-cloud-copy-fields-and-related-lists/