例: データフィルタのセットの自動生成

Jim は、国、都市、および州に基づくデータフィルタのセットを作成する必要があります。

Campaign では、すでに顧客テーブルがマップされ、オーディエンスレベルが定義されています。

JDBC ドライバの入手

Jim は、会社の顧客データベースが Microsoft SQL サーバであることを知っています。彼は、適切なタイプ 4 のドライバをダウンロードして、サーバがインストールされているマシンに配置し、ドライバの名前とパスをメモに記録します。

*
JDBC ドライバのクラス名 – com.microsoft.sqlserver.jdbc.SQLServerDriver
*
JDBC ドライバのパス – C:¥tools¥Java¥MsJdbc¥sqljdbc.jar
情報の入手

Jim は、顧客データベースの名前、ホスト、およびポートの情報と、そのデータベースに接続するために必要な資格情報を入手します。

*
*
*
*
*

Jim が会社の顧客データベースのデータを調べたところ、データフィルタを作成したいすべての国、都市、および州に顧客が存在していることがわかりました。そこで、データフィルタ用の固定フィールドおよびプロファイルフィールドを指定するために必要なフィールドを地理テーブルに入れることにしました。

以下の表は、顧客のフィールドについて Jim が入手する情報と、その Campaign マッピングを示します。

(物理名)

(Campaign での名前)

country

Country

*

java.lang.String

city

City

個別の都市の有限セット

java.lang.String

state

State

個別の州 (または国に応じて他の方法で名前が付けられた地域) の有限セット

java.lang.String

hh_id

HouseholdID

該当なし

java.lang.Long

indiv_id

IndividualID

該当なし

java.lang.Long

Jim は、Campaign で使用されているオーディエンス名が、世帯 (household) と個人 (individual) であることを知ります。 彼は、地理テーブルに 2 つのオーディエンスフィールドが含まれることをメモに記録します。

*
hh_id フィールド は、世帯オーディエンスに対応します。
*
地理テーブルの indiv_id フィールドは、個人オーディエンスに対応します。

各オーディエンスに 1 つずつ、およびそれぞれの固定フィールドとプロファイルフィールドに 1 つずつの論理フィールドを作成する必要があるので、Jim には合計 5 つの論理フィールドが必要なことがわかります。

また、データフィルタをデータ構成にグループ化しなければならないことも知っています。彼は、データ構成に Geographic という名前を付けることにしました。

これで Jim が XML を作成する準備ができまし。

XML の作成

Jim が作成する XML は以下のとおりです。彼が入手した情報または使用を決定した情報に基づく値は、太字で示されています。

<?xml version="1.0" encoding="UTF-8"?>
<ExecuteBatch>
<name>SeedData</name>
<operations>
<!-- 関連データフィルタをグループ化するデータ構成を作成する -->
<ExecuteBatch>
<name>DataFilters</name>
<operations>
<AddDataConfiguration>
<dataConfiguration>
<id>1</id>
<name>
Geographic</name>
</dataConfiguration>
</AddDataConfiguration>
</operations>
</ExecuteBatch>
<!-- データフィルタを定義するために使用する論理フィールドを追加する>
<AddLogicalFields>
<logicalFields>
<LogicalField>
<id>1</id>
<name>
Country</name>
<type>java.lang.String</type>
</LogicalField>
<LogicalField>
<id>2</id>
<name>City</name>
<type>java.lang.String</type>
</LogicalField>
<LogicalField>
<id>3</id>
<name>State</name>
<type>java.lang.String</type>
</LogicalField>
<LogicalField>
<id>4</id>
<name>HouseholdID</name>
<type>java.lang.Long</type>
</LogicalField>
<LogicalField>
<id>5</id>
<name>IndividualID</name>
<type>java.lang.Long</type>
</LogicalField>
</logicalFields>
</AddLogicalFields>
<!-- データフィルタの生成に必要な情報を提供する -->
<GenerateDataFilters>
<!-- データフィルタの定義の元となる値の組み合わせが固有かどうか調べるために
テーブルのスキャンを指定する-->
<tableName>
Geographic</tableName>
<!-- 生成されたデータフィルタを関連付けるデータ構成を識別する -->
<configurationName>Geographic</configurationName>
<!-- データソース接続情報を指定する-->
<jdbcUrl>jdbc:sqlserver://localhost:1433;databaseName=Customers</jdbcUrl>
<jdbcUser>sa</jdbcUser>
<jdbcPassword>myPassword</jdbcPassword>
<jdbcDriverClass>
com.microsoft.sqlserver.jdbc.SQLServerDriver</jdbcDriverClass>
<jdbcDriverClassPath>
<string>C:¥tools¥Java¥MsJdbc¥sqljdbc.jar</string>
</jdbcDriverClassPath>
<!-- 固定フィールドを指定する -->
<fixedFields>
<FixedField>
<expression>
USA</expression>
<logicalFieldName>Country</logicalFieldName>
<physicalFieldName>country</physicalFieldName>
</FixedField>
</fixedFields>
<fixedFields>
<FixedField>
<expression>France</expression>
<logicalFieldName>Country</logicalFieldName>
<physicalFieldName>country</physicalFieldName>
</FixedField>
</fixedFields>
<fixedFields>
<FixedField>
<expression>Britain</expression>
<logicalFieldName>Country</logicalFieldName>
<physicalFieldName>country</physicalFieldName>
</FixedField>
</fixedFields>
<!-- プロファイルフィールドを指定する -->
<profileFields>
<ProfileField>
<logicalFieldName>
State</logicalFieldName>
<physicalFieldName>state</physicalFieldName>
</ProfileField>
<ProfileField>
<logicalFieldName>City</logicalFieldName>
<physicalFieldName>city</physicalFieldName>
</ProfileField>
</profileFields>
</GenerateDataFilters>
<!-- 物理フィールドを論理フィールドにマップする -->
<ExecuteBatch>
<name>addTables</name>
<operations>
<AddDataTable>
<dataTable>
<id>1</id>
<name>
Geographic</name>
<fields>
<TableField>
<name>country</name>
<logicalFieldId>1</logicalFieldId>
</TableField>
<TableField>
<name>city</name>
<logicalFieldId>2</logicalFieldId>
</TableField>
<TableField>
<name>state</name>
<logicalFieldId>3</logicalFieldId>
</TableField>
<TableField>
<name>hh_id</name>
<logicalFieldId>4</logicalFieldId>
</TableField>
<TableField>
<name>indiv_id</name>
<logicalFieldId>5</logicalFieldId>
</TableField>
</fields>
</dataTable>
</AddDataTable>
</operations>
</ExecuteBatch>
<!--オーディエンスを追加する -->
<ExecuteBatch>
<name>addAudiences</name>
<operations>
<AddAudience>
<audience>
<id>1</id>
<name>
household</name>
<fields>
<AudienceField>
<logicalFieldId>4</logicalFieldId>
<fieldOrder>0</fieldOrder>
</AudienceField>
</fields>
</audience>
</AddAudience>
<AddAudience>
<audience>
<id>2</id>
<name>individual</name>
<fields>
<AudienceField>
<logicalFieldId>5</logicalFieldId>
<fieldOrder>0</fieldOrder>
</AudienceField>
</fields>
</audience>
</AddAudience>
</operations>
</ExecuteBatch>
<!-- テーブルとオーディエンスのペアをデータ構成に関連付ける -->
<ExecuteBatch>
<name>addAudienceTableAssociations</name>
<operations>
<AddAudienceTableAssociation>
<audienceTableAssociation>
<audienceId>1</audienceId>
<tableId>1</tableId>
<configId>1</configId>
</audienceTableAssociation>
</AddAudienceTableAssociation>
<AddAudienceTableAssociation>
<audienceTableAssociation>
<audienceId>2</audienceId>
<tableId>1</tableId>
<configId>1</configId>
</audienceTableAssociation>
</AddAudienceTableAssociation>
</operations>
</ExecuteBatch>
</operations>
</ExecuteBatch>
システムテーブルへのデータの追加

Jim は、データフィルタ XML ファイルに geographicDataFilters.xml という名前を付け、自分の Marketing Platform インストール環境の tools/bin ディレクトリに保存します。そして、コマンドプロンプトを開き、datafilteringScriptTool ユーティリティを使用してデータフィルタシステムテーブルにデータを追加します。

このユーティリティは、大量のデータフィルタを作成します。各データフィルタで基準となるのは、ユーティリティが固定フィールド地を含むレコードをデータベースにクエリして取得する国 (固定フィールド)、および都市と州の固有の組み合わせです。 固定フィールドとして指定された国ごとに、都市と州の固有の組み合わせがすべて使用されます。

データフィルタへのユーザおよびグループの割り当て

最後に、Jim は Marketing Platform での管理者権限を持つアカウントを使用して Marketing Platform にログインします。

グループがすでに Marketing Platform に設定され、都市別にユーザが割り当てられていることはわかっています。

そこで、「データフィルタ」セクションに進み、自分のデータフィルタの国、都市、州の値がデータフィルタの拡張検索で使用可能であることを確認します。そして、合衆国の都市の 1 つ Boston を検索基準として使用して、データフィルタの検索を実行します。Boston のデータフィルタが検索結果に表示されます。

次に、Jim は Boston ユーザグループの検索を実行します。このグループは、Boston の顧客のマーケティングを担当するすべての現場マーケティング担当者を入れるために、Marketing Platform にセットアップ済みです。Boston グループが検索結果に表示されます。

次に、検索結果のグループとデータフィルタを選択し、「割り当て」ボタンをクリックして、グループをデータフィルタに割り当てます。

こうして、すべての割り当てが完了するまで、データフィルタとグループの検索を続行します。



IBM Unica Marketing Platform
 
8
For more information, see our support and community site: Customer Central