例: データ・フィルターの手動指定

Jim は、販売区域に基づくデータ・フィルターのセットを作成する必要があります。

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

情報の入手

そこで、データ・フィルター用のフィールド制限を指定するために必要なフィールドをテリトリー・テーブルに入れることにしました。

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

表 1. テリトリー・テーブル・フィールド
フィールド

(物理名)

フィールド

(Campaign での名前)

データ データ型

cust_region

CustomerRegion

  • Africa
  • Asia
  • ヨーロッパ
  • Middle East
  • North America

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 には合計 3 つの論理フィールドが必要であることがわかります。

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

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

XML の作成

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

<ExecuteBatch>
                <!-- ********************************** -->
                <!--          Data configuration        -->
                <!-- ********************************** -->
  <name>SeedData</name>
  <operations>
      <ExecuteBatch>
        <name>DataFilters</name>
        <operations>
          <AddDataConfiguration>
            <dataConfiguration>
                <id>1</id>
                <name>Territory</name>
            </dataConfiguration>
           </AddDataConfiguration>
         </operations>
       </ExecuteBatch>
                <!-- ********************************** -->
                <!--         Logical fields             -->
                <!-- ********************************** -->
      <AddLogicalFields>
        <logicalFields>
            <LogicalField>
                <id>1</id>
                <name>CustomerRegion</name>
                <type>java.lang.String</type>
            </LogicalField>
            <LogicalField>
                <id>2</id>
                <name>HouseholdID</name>
                <type>java.lang.Long</type>
            </LogicalField>
            <LogicalField>
                <id>3</id>
                <name>IndividualID</name>
                <type>java.lang.Long</type>
            </LogicalField>
            </logicalFields>
       </AddLogicalFields>
                <!-- ********************************** -->
                <!--    Territory field constraints     -->
                <!-- ********************************** -->
      <AddDataFilters>
        <dataFilters>
          <DataFilter>
            <configId>1</configId>
            <id>1</id>
            <fieldConstraints>
              <FieldConstraint>
                <logicalFieldId>1</logicalFieldId>
                <expression>Africa</expression>
              </FieldConstraint>
            </fieldConstraints>
          </DataFilter>
          <DataFilter>
            <configId>1</configId>
            <id>2</id>
            <fieldConstraints>
              <FieldConstraint>
                <logicalFieldId>1</logicalFieldId>
                <expression>Asia</expression>
              </FieldConstraint>
            </fieldConstraints>
          </DataFilter>
          <DataFilter>
            <configId>1</configId>
            <id>3</id>
            <fieldConstraints>
              <FieldConstraint>
                <logicalFieldId>1</logicalFieldId>
                <expression>Europe</expression>
              </FieldConstraint>
            </fieldConstraints>
          </DataFilter>
          <DataFilter>
            <configId>1</configId>
            <id>4</id>
            <fieldConstraints>
              <FieldConstraint>
                <logicalFieldId>1</logicalFieldId>
                <expression>Middle East</expression>
              </FieldConstraint>
            </fieldConstraints>
          </DataFilter>
          <DataFilter>
            <configId>1</configId>
            <id>5</id>
            <fieldConstraints>
              <FieldConstraint>
                <logicalFieldId>1</logicalFieldId>
                <expression>North America</expression>
              </FieldConstraint>
            </fieldConstraints>
          </DataFilter>
        </dataFilters>
      </AddDataFilters>
                <!-- ********************************** -->
                <!--   Map physical to logical fields   -->
                <!-- ********************************** -->
      <ExecuteBatch>
        <name>addTables</name>
        <operations>
          <AddDataTable>
            <dataTable>
            <id>1</id>
            <name>Territory</name>
            <fields>
              <TableField>
                <name>cust_region</name>
                <logicalFieldId>1</logicalFieldId>
              </TableField>
              <TableField>
                <name>hh_id</name>
                <logicalFieldId>2</logicalFieldId>
              </TableField>
              <TableField>
                <name>indiv_id</name>
                <logicalFieldId>3</logicalFieldId>
              </TableField>
            </fields>
            </dataTable>
          </AddDataTable>
        </operations>
      </ExecuteBatch>
                <!-- ********************************************************* -->
                <!--              Audience table associations                  -->
                <!-- ********************************************************* -->
       <ExecuteBatch>
              <name>addAudiences</name>
              <operations>
              <AddAudience>
                <audience>
                <id>1</id>
                <name>household</name>
                <fields>
                  <AudienceField>
                    <logicalFieldId>2</logicalFieldId>
                    <fieldOrder>0</fieldOrder>
                  </AudienceField>
                </fields>
              </audience>
            </AddAudience>
            <AddAudience>
                <audience>
                <id>2</id>
                <name>individual</name>
                <fields>
                  <AudienceField>
                    <logicalFieldId>3</logicalFieldId>
                    <fieldOrder>0</fieldOrder>
                  </AudienceField>
                </fields>
                </audience>
              </AddAudience>
              </operations>
       </ExecuteBatch>
                <!-- ******************************************************* -->
                <!--            Associate table-audience pairs               -->
                <!--               with data configuration                   -->
                <!-- ******************************************************* -->
       <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 ファイルに regionDataFilters.xml という名前を付け、自分の Marketing Platform インストール環境の tools/bin ディレクトリーに保存します。そして、コマンド・プロンプトを開き、datafilteringScriptTool ユーティリティーを使用してデータ・フィルター・システム・テーブルにデータを追加します。

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

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

グループがすでに IBM Marketing Software にセットアップされ、地域別にユーザーが割り当てられていることはわかっています。

そこで、「データ・フィルター」セクションに進み、自分のデータ・フィルターからのフィールド制限がデータ・フィルターの拡張検索で使用可能であることを確認します。そして、Africa を検索基準として使用して、データ・フィルターの検索を実行します。彼が Africa 地域にセットアップしたデータ・フィルターが検索結果に表示されます。

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

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

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