Académique Documents
Professionnel Documents
Culture Documents
Breakout Session:
How to Build High-Performing IBM (Unica) Campaign
Flowcharts Faster
Agenda
Flowchart Performance Tuning Approaches
Unica Campaign and Databases
Campaign Configuration Parameters
Leveraging in-database processing
Custom Macros
Target Audience
Organization Roles
Database marketer/flowchart developer
Application owner
Technical application lead
Application administrator
Responsibilities
Application Configuration
Advanced flowchart design and performance tuning
Creating reusable application objects (catalogs, custom macros, etc)
Support and training new users
Terminology
In Data Marts
Dimension tables contain normalized lists of values (States, Zips, Products, etc)
Fact tables contain quantitative characteristics of business transactions with foreign
key for dimensions
A table is either a fact or a dimension
Terminology Contd
In IBM Unica Campaign
Audience represents a marketable entity, is associated with one or more key columns
Base tables contain audience keys
Dimension tables could be joined to base tables or other dimensions
A table could be mapped in multiple times in different roles
Best Practices
Have a decision support schema.
Easy to understand and navigate for the user
Fewer table joins for performance
Propagate audience keys as widely as possible across the schema.
Calendar based summary tables are not as useful for marketing as they are for
other applications.
11
Customer
CustID
(PK)
Name
Address
Transactions
Product
ProdID
(PK)
SKU
Brand
TxnID
(PK)
CustID
ProdID
TimeID
ChannelID
Quantity
Amount
Discount
(FK)
(FK)
(FK)
(FK)
Channel
ChannelID (PK)
Description
Dimension
Time
TimeID
(PK)
Date
Dimension
Dimension
12
Household
HH ID (PK)
Address
Ciy
State
ZIP
Customer
Dimension of Customer
CustID (PK)
First Name
Last name
HH ID
Product
ProdID (PK)
Brand
SKU
Brand ID
BrandID (PK)
Brand Name
Description
Dimension of Transaction
Transactions
TxnID
(PK)
CustID
ProdID
TimeID
ChannelID
Quantity
Amount
Discount
(FK)
(FK)
(FK)
(FK)
Channel
ChannelID (PK)
Description
Time
TimeID
(PK)
Date
Dimension of Transaction
Dimension of Transaction
Dimension of Product
13
Database
Merge Query
Process
Insert into
Select
Queries
Process
Insert into
Select Queries
Data Retrieval
ID List
Segment
Process
Select
Query
14
Process
Insert into
Select
Query
(1752)
[I] [PROCESS]
SESSION_RUN_START
04/20/2005 17:14:20.797
(1752)
[I] [PROCESS]
[Active]
Select PROCESS_RUN_START
04/20/2005 17:14:20.907
(1752)
[Active]
04/20/2005 17:14:20.957
(1752)
04/20/2005 17:14:22.069
(1752)
04/20/2005 17:14:22.089
(1752)
[I] [PROCESS]
[Active]
Select: N_RECORDS = 89
04/20/2005 17:14:22.099
(1752)
[I] [PROCESS]
[Active]
Select PROCESS_RUN_DONE
16
Flowchart
Run Info
Process
Run Info
[PROCESS]
SESSION_RUN_START
[PROCESS]
[Active]
Select PROCESS_RUN_START
[DB QUERY]
[Active]
[TABLE ACC]
[Active]
Northwind (thread 000004B8): Data retrieval completed; 830 records retrieved and returned to caller.
[PROCESS]
[Active]
Select: N_RECORDS = 89
[PROCESS]
[Active]
Select PROCESS_RUN_DONE
[PROCESS]
[Universe]
[CELL ACC]
[Universe]
[PROCESS]
[Universe]
Merge: N_RECORDS 74
[PROCESS]
[Universe]
[PROCESS]
[CELL ACC]
[CELL ACC]
[CELL ACC]
[PROCESS]
[PROCESS]
[PROCESS]
[Output List]
[DB QUERY]
Address, City)
[Output List]
Derived
Fields
SQL
17
[TABLE ACC]
[Output List]
[DB QUERY]
[Output List]
[PROCESS]
[Output List]
[PROCESS]
[Output List]
Snapshot PROCESS_RUN_DONE
[PROCESS]
SESSION_RUN_DONE
2012 IBM Corporation
19
20
Database Loaders
Database loaders improve the performance of moving data from the
campaign server back to the Database.
Loaders are a shared resource and other applications can take priority
Managing parallelism can be a non trivial exercise
Campaign invokes the loader through OS scripting and sets up data and
control file for the DB loader to consume.
Teradata uses 2 loader utilities
FastLoad for entering data into an empty table
Mload for appending data to a table
21
Flowchart
Generates
the Data
File
Flowchart
Invokes the
Loader
Script
Loader Script
Get in
the
queue
First In
queue?
Yes
Load
Data
and
Exit
No
Wait X Seconds
22
SQL Generation
EnableSelectDistinct
DB Tables Suffixes
SuffixOnTempTableCreation
23
Select
Segment
Merge
Snapshot
Derived fields with raw SQL
macros
Design Recommendations
Scenario
Recommendation
Audience switching
Data sampling
27
SQL Server
Oracle
DB2
Netezza
Teradata
Aggregation Functions
AvgOf
AVG
AVG
AVG
AVG
AVG
CountOf
COUNT
COUNT
COUNT
COUNT
COUNT
DistinctOf
COUNT (DISTINCT)
COUNT (DISTINCT)
COUNT (DISTINCT)
COUNT (DISTINCT)
COUNT (DISTINCT)
MaxOf
MAX
MAX
MAX
MAX
MAX
MinOf
MIN
MIN
MIN
MIN
MIN
SumOf
SUM
SUM
SUM
SUM
SUM
StdDevOf
STDDEV
STDDEV
STDDEV
STDDEV
STDDEV_POP
Analytic Functions
28
IndexOf
ROW_NUMBER
ROW_NUMBER
ROW_NUMBER
ROW_NUMBER
ROW_NUMBER
MedianOf
ROW_NUMBER /
COUNT = 0.5
PERCENTILE_DISC
(0.5)
ROW_NUMBER /
COUNT = 0.5
ROW_NUMBER /
COUNT = 0.5
ROW_NUMBER /
COUNT = 0.5
RankOf
DENSE_RANK
DENSE_RANK
DENSE_RANK
DENSE_RANK
RANK
Expression type
Data source
Return value type
Columns
of interest
Macro expression
with parameterized
SQL
Note alias for the
calculated column
33
34
2.
2.
Q&A
Contact your Account Manager
for a product demonstration:
EMMinfo@us.ibm.com
Learn more at
www.ibm.com/software/marketing-solutions/cafe
37
Addendum
Campaign Configuration Settings
Loader Settings
Data Source Settings
39
40
Description
<AMUSER>
IBM Unica user name associated with the flowchart being run.
<CAMPAIGNCODE>
<CAMPAIGNNAME>
<CONTROLFILE>
<DATABASE>
<DATAFILE>
Full path and filename to the temporary data file created by Campaign.
<DBUSER>
<DSN>
<FLOWCHARTNAME>
<NUMFIELDS>
<PASSWORD>
<TABLENAME>
<USER>
Description
<DBCOLUMNNUMBER>
<FIELDLENGTH>
<FIELDNAME>
<FIELDNUMBER>
<FIELDTYPE>
Literal "CHAR( )". The length of this field is specified between the ().
* If your database happens to not understand the field type, CHAR,
you can manually specify the appropriate text for the field type and
use the <FIELDLENGTH> token.
<NATIVETYPE>
<xyz>
Places the specified character(s) on all fields being loaded into the
database, except the last. A typical use is <,> which repeats a comma
all fields except the last.
<~xyz>
<!xyz>
Places the specified character(s), including the angle brackets < >, on
all lines.
44
45
46
47
48
Description
<AMUSER>
IBM Unica Marketing user name associated with the flowchart for
which temp/Extract/Segment/Snapshot table was created.
<CAMPAIGNCODE>
Code for the campaign associated with the flowchart for which
temp/Extract/Segment/Snapshot table was created.
<CAMPAIGNNAME>
<DBUSER>
<FLOWCHARTNAME>
<USER>
<PASSWORD>
<KEYCOLUMNS>
<TABLENAME>
Q&A
Contact your Account Manager
for a product demonstration:
EMMinfo@us.ibm.com
Learn more at
www.ibm.com/software/marketing-solutions/cafe
49