Esempio di generazione automatica di un insieme di filtri di dati

Giorgio ha la necessità di creare un insieme di filtri di dati sulla base di nazioni, città e stati.

In Campaign, le tabelle clienti sono già state mappate e sono stati definiti i livelli destinatari.

Procurarsi il driver JDBC

Come database clienti, la società in cui lavora Giorgio utilizza Microsoft SQL server. Giorgio scarica il driver di Tipo 4 corretto e lo installa nel computer in cui è installata l'applicazione, prendendo nota del nome e del percorso del driver.

*
Nome classe del driver JDBC – com.microsoft.sqlserver.jdbc.SQLServerDriver
*
Percorso driver JDBC – C:\tools\Java\MsJdbc\sqljdbc.jar
Ottenere informazioni

Giorgio si procura, nome, host e porta del database clienti, unitamente alle credenziali necessarie per accedervi.

*
*
*
*
*

Giorgio osserva i dati presenti nel database clienti aziendale e nota che vi sono clienti in ogni nazione, città e stato per cui desidera creare un filtro di dati. Determina che la tabella Geographic contiene i campi di cui necessita per specificare campi fissi e profili di campo per i filtri di dati.

Nella tabella seguente sono illustrate le informazioni che Giorgio ottiene sui campi clienti e le loro mappature in Campaign.

(nome fisico)

(nome in Campaign)

nazione

Nazione

*

java.lang.String

città

Città

Insieme finito di città distinte

java.lang.String

stato

Stato

Insieme finito di stati distinti (altrimenti denominati regioni, a seconda della nazione)

java.lang.String

hh_id

HouseholdID

N/A

java.lang.Long

indiv_id

IndividualID

N/A

java.lang.Long

Giorgio osserva che i nomi dei destinatari utilizzati in Campaign sono relativi a unità familiari e individui. Nota che la tabella Geographic contiene due campi per i destinatari.

*
Il campo hh_id field corrisponde ai destinatari costituiti da unità familiari.
*
Il campo indiv_id della tabella Geographic corrisponde ai destinatari costituiti da individui.

Dato che Giorgio deve creare un campo logico per ogni tipo di destinatari e uno per ciascun campo fisso e profilo di campo, deduce di dover disporre in totale di cinque campi logici.

Sa anche che deve raggruppare i filtri di dati in una configurazione dati. Decide quindi di attribuire alla sua configurazione dati il nome di Geographic.

A questo punto può passare alla creazione del codice XML.

Creazione del codice XML

Di seguito è riportato il codice XML scritto da Giorgio. I valori basati sulle informazioni che ha ottenuto o ha deciso di utilizzare sono riportati in bold.

<?xml version="1.0" encoding="UTF-8"?>
<ExecuteBatch>
<name>SeedData</name>
<operations>
<!-- Create the data configuration that groups related Data Filters -->
<ExecuteBatch>
<name>DataFilters</name>
<operations>
<AddDataConfiguration>
<dataConfiguration>
<id>1</id>
<name>
Geographic</name>
</dataConfiguration>
</AddDataConfiguration>
</operations>
</ExecuteBatch>
<!-- Add logical fields used to define data filters -->
<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>
<!-- Provide information needed to generate data filters -->
<GenerateDataFilters>
<!-- Specify the table to be scanned for unique combinations of values from which data filters will be defined. -->
<tableName>
Geographic</tableName>
<!-- Identify the data configuration with which generated data filters will be associated. -->
<configurationName>
Geographic</configurationName>
<!-- Specify the data source connection information. -->
<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>
<!-- Specify the fixed fields. -->
<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>
<!-- Specify the profile fields. -->
<profileFields>
<ProfileField>
<logicalFieldName>
State</logicalFieldName>
<physicalFieldName>
state</physicalFieldName>
</ProfileField>
<ProfileField>
<logicalFieldName>
City</logicalFieldName>
<physicalFieldName>
city</physicalFieldName>
</ProfileField>
</profileFields>
</GenerateDataFilters>
<!-- Map physical to logical fields -->
<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>
<!--Add Audiences-->
<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>
<!-- 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>
Popolamento delle tabelle di sistema

Giorgio ha attribuito al file XML del filtro di dati il nome di geographicDataFilters.xml e l'ha salvato nella directory tools/bin dell'installazione di Marketing Platform utilizzata. Apre un prompt dei comandi e si serve dell'utility datafilteringScriptTool per popolare le tabelle di sistema dei filtri di dati.

L'utility crea vari filtri di dati. I criteri utilizzati in ogni filtro sono la nazione (il campo fisso) e una combinazione univoca di città e stato ottenuta dall'utility mediante la ricerca nel database dei record contenenti il valore del campo fisso. Tutte le combinazioni univoche di città e stato ottenute vengono utilizzate per ogni nazione specificata come campo fisso.

Assegnazione di utenti e gruppi ai filtri di dati

Infine Giorgio accede a Marketing Platform con un account che dispone delle autorizzazioni amministrative in Marketing Platform.

Sa che i gruppi sono già stati impostati in Marketing Platform con utenti assegnati per città.

Passa alla sezione dei filtri di dati e vede che i valori di nazione, città e stato stabiliti dai suoi filtri risultano disponibili nella ricerca avanzata dei filtri. Cerca un filtro di dati utilizzando Boston, città degli USA, come criterio. Nei risultati della ricerca viene visualizzato il filtro di dati relativo a Boston.

Giorgio ricerca quindi il gruppo utenti di Boston, impostato in Marketing Platform e contenente tutti i field marketer che si occupano di commercializzare i prodotti ai clienti di Boston. Nei risultati della ricerca viene visualizzato il gruppo Boston.

Giorgio seleziona il gruppo e il filtro di dati nei risultati della ricerca e assegna il gruppo al filtro di dati facendo clic sul pulsante Assegna.

Continua quindi a cercare i filtri di dati e i gruppi fino a completare tutte le assegnazioni.



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