# SAP Marketing Cloud Import Integration

SAP Marketing Cloud（旧 Hybris Marketing）は、個々の顧客と匿名訪問者に関するリアルタイムのコンテキストベースのデータを、ユーザーデータを一元化されたハブに統合することで提供するマーケティングソリューションです。

これにより、ブランドはマーケティングチャネルやデバイスに関係なく、カスタマージャーニー全体を通じて一貫性のある、コンテキストに即した、関連性の高いエクスペリエンスを提供できます。

- Data Management: ブランドと接触する人々の360度ビューを提供し、リアルタイムで適切なコンテキスト内でターゲティングを可能にします。
- Recommendation: 顧客にタイムリーで高度に関連性の高いレコメンデーションを提供し、関心をコンバージョンに変換するのに役立ちます。
- Segmentation: リアルタイムで高性能なオーディエンスセグメンテーションを提供し、複数のチャネルにわたってキャンペーンをパーソナライズすることを可能にします。


## Prerequisites

- Treasure Dataの基礎知識
- Communication user


## 増分データ読み込みについて

- 増分読み込みが有効な場合、SAP Marketing Cloudに発行されるクエリには$filterステートメントが含まれます。$filterは目的の基準に基づいてデータをクエリします
  - $filterは、filter_column、start_time、end_timeの設定に基づいて生成されます。
- 受信した最初の値は、次のジョブフィルターの参照として保持されます。次のジョブの$filterは前のジョブのデータを除外し、新しいデータのみを取得します。
- このプロセスは後続の実行で繰り返されます。


![](/assets/image2021-4-6_18-43-24.86d03abace4ca184c72b6857a6cc454f40bca56d8884edae922267e2da2e50bd.01d5f7cb.png)

- 増分読み込みが有効な場合にend_timeの値が空の場合、ジョブが実行された時刻に自動的に設定されます。
- filter_columnは、メタデータで以下の条件を満たす必要があります：
  - Type Edm.DateTimeOffsetまたはEdm.DateTimeを含む
  - Nullable="false"を含む
  - sap:sortable="false"を含まない
  - sap:filterable="false"を含まない
- 増分読み込みは、Timestampカラム（Edm.DateTimeOffsetおよびEdm.DateTime）のみをサポートします。
- `filter_columnフィールドに空の値を含むすべてのレコードは無視されます。`


## Communication Userの取得

- Communication Userは、SAP Marketing Cloudシステムで定義されます（例：INTEGRATION_TREASURE_DATAがユーザー名、パスワードはxxxx）。ここでのユーザー名とパスワードは、x-csrf-tokenを取得するための基本認証として使用されます。


![](/assets/e55bc95f-dfd8-45e9-af3a-ff9ec6845c48.5d1e50463268a02e6b56ecd4559337e8ad070b048adf3e0f994c0449bf1f965f.01d5f7cb.png)

- Communication SystemはこのCommunication User用に作成され、セットアップされます。`SAPのCommunication Systemセットアップの詳細については、こちらをご覧ください。`


![](/assets/6835ee0a-a724-490c-9556-c0f752f7ad40.b00037b436aa2b72a9733f50de6411bbcd48e0957f2df5e49a2aa6117f4563a3.01d5f7cb.png)

- [Other Systems for SAP Marketing Cloud](https://www.sap.com/cxworks/article/2589632510/how_to_set_up_communication_to_other_systems_for_sap_marketing_cloud)との通信設定について詳しくはこちらをご覧ください。


## Treasure コンソールを使用して接続を作成する

### 新しい接続を作成する

Treasure Dataでは、クエリを実行する前にデータ接続を作成して設定する必要があります。データ接続の一部として、統合にアクセスするための認証を提供します。

1. **Treasure コンソール**を開きます。
2. **Integrations Hub** >  **Catalog**に移動します。
3. **SAP Marketing Cloud**を検索して選択します。


![](/assets/image2022-7-21_4-48-16.aad25859a6f44036debcad92a3948b56c07906718cae97397724e24403da2888.01d5f7cb.png)
4. Create Authenticationを選択します。

![](/assets/image2022-7-21_5-11-5.1511d3671ddc0effe38ab473541ce573bc06e8cadcc78db89b2c4eeafa26b3d3.01d5f7cb.png)

1. 認証データを入力します：
2. **Username**: SAP Marketing CloudのCommunicationユーザー名
3. **Password**: SAP Marketing CloudのCommunicationユーザーのパスワード
4. **Tenant ID**: SAP Marketing CloudのTenant ID
![](/assets/image2022-7-21_5-12-0.f1f046ae02457ce5615b5871d68336069a0651061b59733a3b3240b0f43bfe3b.01d5f7cb.png)
5. **Continue**をクリックします。
6. この認証の名前を入力します。
![](/assets/image2022-7-21_4-50-30.c2e32f45d0a1daa2a0f463eed8382b4153bdee193d01e06f25ab8dfe6d944e82.01d5f7cb.png)
7. **Done**をクリックします。


### Treasure Dataへのデータ転送

認証済み接続を作成すると、自動的にAuthenticationsページに移動します。

1. 作成した接続を検索します。
2. New Sourceを選択します。
3. Data TransferフィールドにSourceの名前を入力します。![](/assets/image2022-7-21_4-52-41.7bc1c4f1c0ed09c214e70ec7dba21ec2f1911630888261e94212debef5b39369.01d5f7cb.png)
4. **Next**を選択すると、Source Tableダイアログが開きます。![](/assets/image2022-7-21_4-54-12.c4365d12e371162a89725c66f8ad19d758c4ffe46c40b76a151fdd6db96c74a8.01d5f7cb.png)
5. 以下のパラメータを編集します。


| **Configuration Name** | **Type** | Description |
|  --- | --- | --- |
| Service Name | String | ターゲットSAP Marketing Cloudサービス名 |
| API Version | String | 使用するサービスのバージョン |
| Entity Name | String | データを取得する対象のエンティティ |
| Incremental | Boolean | 繰り返し実行する場合、最後のインポート以降の新しいデータのみをインポートしようとします |
| Filter Column | String | 増分読み込みまたはフィルタリングのためのDateTime/DateTimeOffsetカラム（大文字小文字を区別） |
| Start Time | DateTime | この時刻以降のデータをインポートします |
| End Time | DateTime | この時刻までのデータをインポートします |


1. **Next**を選択すると、Data Settingsページが表示されます。ニーズに合わせて変更するか、ページをスキップできます。![](/assets/image2022-7-21_5-0-6.c00c9b45efdfb34e4e83455b16b6c306d987ea8fd5d927ed8f6467ca7c687ee8.01d5f7cb.png)
2. オプションで、以下のパラメータを編集します：


| Parameter | Description |
|  --- | --- |
| Batch Size | API呼び出しごとに取り込むレコード数 |
| Retry Limit | 各API呼び出しの最大リトライ回数 |
| Initial retry time wait in millis | 最初のリトライの待機時間（ミリ秒） |
| Max retry wait in mills | API呼び出しが諦めるまでの最大待機時間 |


1. **Next**をクリックすると、Data Previewダイアログが開きます
2. Generate Previewをクリックしてデータをプレビューするか、**Skip this step**をクリックして次のページに進みます。
![](/assets/image2022-7-21_5-1-45.8428dadf3dd46a8e198aaade8438e971d2e91c1d2bc3c4e7b67892e327835730.01d5f7cb.png)
3. **Next**をクリックすると、Data Placementダイアログが開きます。
![](/assets/image2022-7-21_5-7-14.b6e17c49ce3d400ca08000a0c0bca2e845d3355d219d5d43fdd2e81daa9a3cc2.01d5f7cb.png)
4. **Create & Run Now**または**Create**をクリックします。


## Workflowを使用したインポート

ワークフローのtd_load>: オペレーターを使用して、MS Dynamics 365 Saleからデータをインポートできます。既にSOURCEを作成している場合は、それを実行できます。

1. Sourceを特定します。
2. 一意のIDを取得するには、Sourceリストを開き、SAP Marketing Cloudでフィルタリングします。
3. メニューを開き、Copy Unique IDを選択します。![](/assets/image2021-10-12_12-26-58.09d9b84b0f1f752c7c95b0bc1c2d8e8b7302e5b91c6a3cb5f01309dadf53a604.01d5f7cb.png)
4. td_load> オペレーターを使用してワークフロータスクを定義します。



```yaml
+load:
  td_load>: unique_id_of_your_source
  database: ${td.dest_db}
  Table: ${td.dest_table}
```

1. ワークフローを実行します。