Вы находитесь на странице: 1из 248

SAS ®

Marketing Automation 5.3


Administrator’s Guide
Third Edition
®
The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2010. SAS Marketing
Automation 5.3: Administrator’s Guide, Third Edition. Cary, NC: SAS Institute Inc.
®
SAS Marketing Automation 5.3: Administrator’s Guide, Third Edition
Copyright © 2010, SAS Institute Inc., Cary, NC, USA
All rights reserved. Produced in the United States of America.
For a hard-copy book: No part of this publication may be reproduced, stored in a retrieval system, or
transmitted, in any form or by any means, electronic, mechanical, photocopying, or otherwise, without
the prior written permission of the publisher, SAS Institute Inc.
For a Web download or e-book: Your use of this publication shall be governed by the terms
established by the vendor at the time you acquire this publication.
U.S. Government Restricted Rights Notice: Use, duplication, or disclosure of this software and related
documentation by the U.S. government is subject to the Agreement with SAS Institute and the
restrictions set forth in FAR 52.227-19, Commercial Computer Software-Restricted Rights (June 1987).
SAS Institute Inc., SAS Campus Drive, Cary, North Carolina 27513.
1st electronic book, June 2010
®
SAS Publishing provides a complete selection of books and electronic products to help customers use
SAS software to its fullest potential. For more information about our e-books, e-learning products, CDs,
and hard-copy books, visit the SAS Publishing Web site at support.sas.com/publishing or call 1-800-
727-3228.
®
SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks
of SAS Institute Inc. in the USA and other countries. ® indicates USA registration.
Other brand and product names are registered trademarks or trademarks of their respective companies.
Contents

I Architecture 1
Chapter 1. Overview of Architecture . . . . . . . . . . . . . . . . . . . 3
Chapter 2. Client Tier . . . . . . . . . . . . . . . . . . . . . . . . . 7
Chapter 3. Middle Tier . . . . . . . . . . . . . . . . . . . . . . . . 15
Chapter 4. SAS Server Tier . . . . . . . . . . . . . . . . . . . . . . 21
Chapter 5. Data Tier . . . . . . . . . . . . . . . . . . . . . . . . . 33

II Configuring 41
Chapter 6. Administrative Tasks . . . . . . . . . . . . . . . . . . . . . 43
Chapter 7. Users and Groups . . . . . . . . . . . . . . . . . . . . . . 47
Chapter 8. SAS Information Maps for Campaigns . . . . . . . . . . . . . . 61
Chapter 9. Common Data Model: Concepts . . . . . . . . . . . . . . . . 111
Chapter 10. Implementing the Common Data Model . . . . . . . . . . . . . . 143

III Maintenance 173


Chapter 11. Scheduling Campaigns . . . . . . . . . . . . . . . . . . . . 175
Chapter 12. Backing Up and Restoring Data . . . . . . . . . . . . . . . . . 189
Chapter 13. Performance Tips . . . . . . . . . . . . . . . . . . . . . . 201

IV Appendix 213
Appendix A. Optional Client Tier Applications for SAS Customer Intelligence . . . . 215

Glossary 227

Index 235
ii
Part I

Architecture
2
Chapter 1

Overview of Architecture

Contents
Architecture of the SAS Intelligence Platform . . . . . . . . . . . . . . . . . . . . 3
Architecture of SAS Customer Intelligence . . . . . . . . . . . . . . . . . . . . . 4
Operating Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Architecture of the SAS Intelligence Platform

The SAS Intelligence Platform supports SAS solutions such as SAS Marketing Automation. The SAS
Intelligence Platform is designed to efficiently access large amounts of data, while simultaneously
providing timely intelligence to a large number of users. The Platform uses an n-tier architecture
that enables you to distribute functionality across computer resources, so that each type of work is
performed by the resources that are best suited to the job.
A tier in the SAS architecture represents a conceptual category of software components that perform
similar types of computing tasks and that require similar types of resources. Different tiers do not
necessarily represent separate computers or groups of computers. More than one computer can be
used for a specified tier as well.
You can modify the SAS architecture to meet the demands of your workload. For a large company,
the architecture can easily consist of many computers with different operating environments. For
prototyping, demonstrations, or very small enterprises, the components for all of the tiers can be
installed on a single computer.
The architecture of the SAS Intelligence Platform consists of the following tiers:

Client The client tier provides users with desktop access to intelligence
data and to functionality through familiar interfaces that are based
on Windows and through Web-based interfaces. For most informa-
tion consumers, reporting and analysis tasks can be performed with
only a Web browser. For more advanced design and analysis tasks,
SAS client software is installed on the individual computers.
4 F Chapter 1: Overview of Architecture

Middle The middle tier enables users to access intelligence data and func-
tionality by using a Web browser. The logic for developing cam-
paigns based on Windows and for processing scheduled campaigns
resides on the middle tier. SAS Marketing Automation uses a J2EE
Web application server (for example, BEA WebLogic) to run the
J2EE JavaBeans. The middle tier also passes the requests for pro-
cessing and analysis to the SAS servers on the SAS server tier.

SAS Server The server tier performs SAS processing on your enterprise data.
Several types of SAS servers are available to handle different work-
load types and processing intensities. The software distributes the
processing loads among the various servers so that multiple requests
for information by clients can be handled quickly.

Specialized functions provided by SAS servers include centralized


control and access to a central repository of metadata, and the
execution of SAS jobs that are submitted by client applications.
Also, a SAS stored process server executes and delivers results in a
multi-client environment.

Data The data tier stores your enterprise data. All of your existing data
assets can be used, whether your data is stored in relational database
management systems, SAS scalable performance data server, SAS
tables, or enterprise resource planning system (ERP) tables.

For more information about the SAS 9.2 Intelligence Platform, see http://support.sas.com/
92administration.

Architecture of SAS Customer Intelligence

SAS Customer Intelligence is a suite of SAS solutions that is designed to help users create outbound
marketing campaigns (with SAS Marketing Automation), manage inbound marketing communica-
tions (with SAS Real-Time Decision Manager), or administer both types of marketing communica-
tions.
Your SAS Customer Intelligence installation might include either of these solutions or both of
these solutions, as specified by your contract. For a comprehensive list of the components that
were installed at your location, see the plan file that was e-mailed to you by the sas.com Planning
Application.
Architecture of SAS Customer Intelligence F 5

In addition, the following optional SAS solutions might be part of your installation of SAS Customer
Intelligence:

 SAS Digital Marketing

 SAS Interaction Management


6 F Chapter 1: Overview of Architecture

 SAS Marketing Optimization

 SAS Web Analytics

See Chapter A, “Optional Client Tier Applications for SAS Customer Intelligence” for a summary
of these SAS solutions and their relationship to SAS Customer Intelligence.

Operating Environments

For current operating environment requirements, see the following documents:

 Third Party Software Requirements for use with SAS Products at support.sas.com/
resources/thirdpartysupport/

 Product Advisory Notices from SAS at support.sas.com/techsup/pcn/index.html


Chapter 2

Client Tier

Contents
The SAS Customer Intelligence Plug-ins . . . . . . . . . . . . . . . . . . . . . . . . 7
SAS Customer Intelligence Studio 5.3 . . . . . . . . . . . . . . . . . . . . . . . . 10
SAS Customer Intelligence Integration Utilities 5.3 . . . . . . . . . . . . . . . . . . 11
SAS Information Map Studio 4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

The SAS Customer Intelligence Plug-ins

Description
The SAS Customer Intelligence plug-ins for SAS Management Console provide the
administrative functions that IT professionals use in order to configure and manage
the SAS Marketing Automation solution. The Customer Intelligence plug-in object is
accessible from SAS Management Console.
Administrative Notes
How to Register the SAS Customer Intelligence Plug-ins
The SAS Customer Intelligence plug-ins are not automatically registered when they are
installed. As an administrator with the applicable permissions, you need to register the
SAS Customer Intelligence plug-ins by following these steps.

See Figure 2.1 for details.

1. In SAS Management Console, select Tools from the Main Menu, and click Plug-in
Manager.
2. Select the box beside Customer Intelligence in the Role-Based Access Enabled
column.
3. Click Ok. The SAS Customer Intelligence plug-ins are now registered. Regis-
tering the SAS Customer Intelligence plug-ins enables users with the appropriate
permissions to view the Customer Intelligence plug-in object in SAS Management
Console.
4. See Chapter 7, “Users and Groups” to set up or verify that users belong to roles that
can access the customer intelligence plug-in.
8 F Chapter 2: Client Tier

Figure 2.1 Registering the Customer Intelligence Plug-ins in SAS Management Console

For an overview of SAS Management Console, take an interactive tour at www.sas.


com/technologies/bi/tourext/mgmtcnsl_itour_flash.html.
For more information, see SAS Management Console: Guide to Users and Permissions at
http://support.sas.com/92administration.

For documentation about administering SAS Management Console, see Administer-


The SAS Customer Intelligence Plug-ins F 9

ing SAS Management Console in the SAS Intelligence Platform: Desktop Application
Administration Guide at http://support.sas.com/92administration.
10 F Chapter 2: Client Tier

SAS Customer Intelligence Studio 5.3

Description
Formerly called SAS Campaign Studio, SAS Customer Intelligence Studio is a Java
application that provides campaign designers with a graphical user interface to create,
modify, and execute diagrams, campaigns, and communications.
Relationship to SAS Customer Intelligence
SAS Customer Intelligence Studio is the primary SAS Customer Intelligence application
that you use to create and manage marketing campaigns for an enterprise.
Typical User
A typical user is a marketing campaign designer.
Files
Executable: The typical location of the executable file is C:\Program Files\SAS\
SASMarketingAutomation\5.3.

Logs: Within the SAS Customer Intelligence Studio 5.3 user interface, the Logs tab dis-
plays the SAS log for the most recent SAS code that is run by SAS Customer Intelligence
Studio. To view any of the logs, select View ITasks and Logs from the main menu.

Use the Logs tab to view the SAS logs that are generated by the custom code in a stored
process or that are entered as SAS code within a Process node.

N OTE : The Process node in SAS Customer Intelligence Studio replaces the Code node in
SAS Marketing Automation.
Requirements
There are no special requirements for SAS Customer Intelligence Studio. However, all
Base SAS products are required to use the same Java Runtime Environment (JRE) if it
is available on a particular machine. To view the latest JRE requirements for SAS client
applications, access support.sas.com/resources/thirdpartysupport.
Administrative Notes
There are no notes of administrative interest.
SAS Customer Intelligence Integration Utilities 5.3 F 11

SAS Customer Intelligence Integration Utilities 5.3

Description
Although you can still use SAS Customer Intelligence Integration Utilities sasmapromote,
SAS recommends that you use SAS Promotion Tools to perform promotion tasks such as
promoting campaigns to a different metadata repository.
N OTE : Promotion is the process of moving data from a development environment to a
testing environment, and then from a testing environment to the production environment.
For details about SAS Promotion Tools, see http://support.sas.com/
documentation/cdl/en/bisag/60945/HTML/default/a003139354.htm.
SAS Customer Intelligence Integration Utilities include the following command-line Java
programs:

 sasmaextract, a utility that is used to extract SAS Customer Intelligence metadata as


SAS Package (SPK) files
 sasmaimport, a utility that is used to import SAS Customer Intelligence metadata as
SAS Package (SPK) files

These integration utilities are typically located on the client tier and are outside the SAS
application server.

N OTE : If the SAS Customer Intelligence Integration Utilities bundle is integrated with
the SAS Event Broker, then the SAS Customer Intelligence Integration Utilities should be
installed on the middle tier, where the SAS Remote Services are located.

Use the SAS Customer Intelligence Integration Utilities to achieve the following objec-
tives:

 extract, back up, and restore campaigns (including any associated communications,
diagrams, and export definitions) to the SAS Metadata Repository
 import new SAS Customer Intelligence metadata into the SAS Metadata Repository

Relationship to SAS Customer Intelligence


SAS Customer Intelligence Integration Utilities were developed in order to import and
extract metadata between SAS Customer Intelligence and SAS reporting applications, and
to accommodate third-party reporting applications.

N OTE : You can use the SAS Customer Intelligence Common Data Model 5.3 for reporting
instead of the SAS Customer Intelligence Integration Utilities.
Typical User
A typical user is a SAS consultant or third-party software integration specialist.
Files
Executable: The typical location of the executable file is C:\Program Files\SAS\
SASMarketingAutomation\MAIntegration\5.3.
12 F Chapter 2: Client Tier

The processing logic for the sasmaextract and sasmaimport utilities is held within
sas.analytics.crm.auxdataio.jar, a single-client JAR file. The code within the JAR file
acts as a client interface to the SAS application server.

Log: View the log file with a text editor (for example, Notepad under the Windows
operating environment).

By default, the log files for the SAS Customer Intelligence Integration Utilities are created
in the Log subdirectory in the same location as the SAS Customer Intelligence Integration
Utilities (for example: C:\Program Files\SAS\SASMarketingAutomation\
MAIntegration\5.3\Log).
Requirements
There are no requirements of administrative interest.
Administrative Notes
To use the SAS Customer Intelligence Integration Utilities to back up campaigns, see
Chapter 12, “Backing Up and Restoring Data.” For code examples, see SAS Customer
Intelligence 5.3 Integration Utilities: User’s Guide that is available from your local SAS
representative or SAS Technical Support.

To convert XML files to another form (for example, a SAS data set) so that SAS reports
can be created, use tools such as SAS XML Mapper or Extensible Stylesheet Language
Transformations (XSLT). Consult the product documentation for the tool that you want to
use.
SAS Information Map Studio 4.2 F 13

SAS Information Map Studio 4.2

Description
SAS Information Map Studio is a Java application that provides a graphical interface to
create and manage SAS Information Maps that are required to create marketing campaigns.
A SAS Information Map is a business view of the marketing data.
Relationship to SAS Customer Intelligence
The IT professional must initially create one or more SAS Information Maps for anyone
who creates marketing campaigns, such as the campaign designer. The SAS Information
Map is then assigned to a business context (such as a division). The campaign designer
must specify a business context to be associated with each campaign that is created.

A SAS Information Map for a marketing campaign presents the physical data from the
database in terms that are appropriate and meaningful to a campaign designer in a business
environment.

For example, a SAS Information Map might include demographic data about customers
such as their buying patterns and account balances. The campaign manager of a department
store might use this data to determine the selection criteria for a holiday marketing
campaign (for example, to select the customers who make purchases in December and who
maintain an account balance of $1000). The campaign might consist of a communication
(for example, a postcard) that includes a coupon to the targeted customers.
Typical User
Information maps for SAS Marketing Automation are typically created by an information
systems administrator who understands the underlying marketing data and knows how the
data should be displayed to the campaign analyst.
Files
Executable: The typical location of the executable file is C:\Program Files\SAS\
SASInformationMapStudio\4.2.

Log: There are no logs of administrative interest.


Requirements
There are no requirements of administrative interest.
Administrative Notes
Use SAS Information Map Studio to perform the following tasks for SAS Customer
Intelligence:

 create SAS Information Maps.


 identify data sources for SAS Customer Intelligence campaigns and diagrams.
 create data items for use in SAS Customer Intelligence.
 set the custom properties of the data items for use in SAS Customer Intelligence.
 specify whether a data item is visible to users in SAS Customer Intelligence Studio
and SAS Campaign Web Studio.
14 F Chapter 2: Client Tier

 specify how the summary metadata information for a data item is displayed in SAS
Customer Intelligence Studio.
 organize the data items in a SAS Information Map into folders. These folders are
presented as categories in SAS Customer Intelligence Studio.
 set the classification for a data item to either Category or Measure.

To use SAS Information Map Studio, see the SAS Information Map Studio Help that is
available within the product. For details about using SAS Information Map Studio in
order to support SAS Marketing Automation objectives, see Chapter 8, “SAS Information
Maps for Campaigns”.

For an overview, take an interactive tour at www.sas.com/technologies/bi/


tourext/infomap_itour_flash.html.

For administration documentation, see Desktop Application Administration Guide


(located under Administration Documentation) at http://support.sas.com/
92administration. See Administering SAS Information Map Studio within the
guide.
Chapter 3

Middle Tier

Contents
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Hardware Requirements for the Middle Tier . . . . . . . . . . . . . . . . . . . . . 16
Components of the Middle Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
If IBM WebSphere Is Your Web Application Server . . . . . . . . . . . . . . 17
If BEA WebLogic Is Your Web Application Server . . . . . . . . . . . . . . 19

Overview

The SAS Customer Intelligence resources on the middle tier provide the analytical processing power
for the applications that perform marketing activities. Marketing activities include segmenting
customers as well as creating, scheduling, and executing campaigns. For a description of SAS n-tier
architecture, see “Architecture of the SAS Intelligence Platform” on page 3 in Chapter 1, “Overview
of Architecture.”
The SAS Marketing Automation resources on the middle tier provide most of the business application
logic for SAS Marketing Automation. For example, the middle tier components perform the following
tasks:

 request information from the SAS metadata server when users log in to SAS Customer
Intelligence Studio.

 maintain user sessions.

 create queries for executing campaigns.

 create the SAS Marketing Automation logs.

 trigger the execution of the appropriate internal SAS Marketing Automation stored processes
on the SAS server tier.

 return the results of the stored processes to appear in SAS Customer Intelligence Studio or to
be recorded as exports and communications.
16 F Chapter 3: Middle Tier

Hardware Requirements for the Middle Tier

To view the latest system requirements for your system, access support.sas.com and select
Knowledge Base IInstall Center IThird Party Software Reference or contact SAS Institute
Technical Support. Sites in the U.S. and Canada should call (919) 677-8008. Other sites should
contact their on-site SAS support personnel or the nearest SAS Institute office.

Components of the Middle Tier

Web Application Server

The system administrator configures one of the following applications to operate as the Web applica-
tion server:

 IBM WebSphere Version 6.1


 BEA WebLogic Version 9.2
 JBoss Version 4.2.0 application server
N OTE : Please see http://support.sas.com/resources/thirdpartysupport/
v92/appservers/jbossdoc.html for information about using JBoss as a Web applica-
tion server.

N OTE : To verify whether the latest version of the Web application server is compatible with your
current version of SAS Customer Intelligence, contact your on-site SAS support personnel.
For information about downloading the Web application server through SAS, access SAS 9.2 Support
for Web Application Servers and HTTP Servers at http://support.sas.com/resources/
thirdpartysupport/v92/appservers.html. In a typical business environment, it is best
to run a separate instance of the IBM WebSphere Web application server for each of the following
operational areas:

 administration server
 SAS managed server
 any other Web applications for your business that are not related to SAS Customer Intelligence
activities

The practice of maintaining separate instances of the Web application server protects the functionality
of the administration server. If the SAS managed server instance (of the Web application server) fails
or stops, then the administration server instance is able to restart the SAS managed server.
If IBM WebSphere Is Your Web Application Server F 17

See also Starting and Stopping Web Application Servers in the SAS Intelligence Platform: System
Administration Guide at http://support.sas.com/92administration.

If IBM WebSphere Is Your Web Application Server

Administration Server as an Instance of IBM WebSphere

For information about the Administration Server that runs as an instance of the Web application
server, see your IBM WebSphere documentation.

SAS Managed Server as an Instance of IBM WebSphere

Description
Your SAS managed server typically runs as a separate instance of the Web application
server.
Relationship to SAS Customer Intelligence
Your SAS managed server runs the following applications:

 SAS Customer Intelligence core application, sas.analytics.crm.ma.core.ear


 SAS Web Report Studio, SASWebReportStudio.war
 SAS Information Delivery Portal, Portal.war
 ebTool, sdm.war

Files
Executable: Sas.analytics.crm.ma.core.ear is typically installed on your SAS managed
server from the following location: \Lev1\web\webapps

Log: For IBM WebSphere Version 6.1, SystemOut.log, SystemErr.log, native_stdout.log,


and native_stderr.log are located at WAS_HOME\AppServer\profiles\AppSrv01\
logs\server1, where AppSrv01 is the default directory that is assigned by WebSphere
for the SAS managed server.
Requirements
IBM WebSphere Version 6.1 is required in order to run the SAS managed server for
SAS Customer Intelligence. See also IBM WebSphere Application Server V6.1 Support
for SAS 9.2 at http://support.sas.com/resources/thirdpartysupport/
v92/appservers/webspheresw.html.
Administrative Notes
See also IBM WebSphere Application Server Documentation for SAS 9.2 at http:
//support.sas.com/resources/thirdpartysupport/v92/appservers/
webspheredoc.html.
18 F Chapter 3: Middle Tier

Other Instances of IBM WebSphere Application Server

For information about other applications that might be run in a separate instance of the Web
application server, see your IBM WebSphere documentation.
If BEA WebLogic Is Your Web Application Server F 19

If BEA WebLogic Is Your Web Application Server

Administration Server as an Instance of BEA WebLogic

For information about the administration server that runs as an instance of the Web application server,
see the BEA WebLogic documentation.
In a typical business environment, it is recommended that you run a separate instance of the Web
application server for each of the following operational areas:

 administration server

 SAS managed server

 any other Web applications for your business that are not related to SAS Customer Intelligence
activities

The practice of maintaining separate instances of the Web application server protects the functionality
of the administration server. Assuming that they are running as separate instances, if the SAS
managed server instance fails or stops, then the administration server instance is able to restart the
SAS managed server.

SAS Managed Server as an Instance of BEA WebLogic

Description
Your SAS managed server is typically run as a separate instance of the Web application
server.
Relationship to SAS Customer Intelligence
Your SAS managed server runs the following applications:

 SAS Customer Intelligence core application, sas.analytics.crm.ma.core.ear


 SAS Web Report Studio, SASWebReportStudio.war
 SAS Information Delivery Portal, Portal.war
 ebTool, sdm.war

Files
Executable: Sas.analytics.crm.ma.core.ear is typically installed on the SAS managed
server from the following location: \Lev1\web\webapps.

Log: SASManagedServer.log is located at C:\bea\user_products\domains\


SASSolutions\SASManagedServer\, where SASSolutions is your site-specific
managed server name.

The file StartServer_##_##_####-hh-mm-ss-ss.log is located at <WebLogicInstallDir>


\user_projects\domains\SASSolutions\NodeManagerClientLogs\
20 F Chapter 3: Middle Tier

SASSolutions_SASManagedServer, where SASSolutions is your site-specific


managed server name.
Requirements
BEA WebLogic Version 9.2 is required in order to run the SAS managed server.
See BEA WebLogic Server 9.2 Support for SAS 9.2 at http://support.sas.com/
resources/thirdpartysupport/v92/appservers/weblogicsw.html.
Administrative Notes
See also http://support.sas.com/resources/thirdpartysupport/v92/
appservers/weblogicdoc.html.

Other Instances of BEA WebLogic Application Server

For information about other applications that might be run in a separate instance of your Web
application server, see your BEA WebLogic documentation.
Chapter 4

SAS Server Tier

Contents
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Hardware Requirements for the SAS Server Tier . . . . . . . . . . . . . . . . . . 22
Components of the SAS Server Tier . . . . . . . . . . . . . . . . . . . . . . . . . 22
Platform Suite for SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
SAS Object Spawner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
SAS Marketing Automation Launcher . . . . . . . . . . . . . . . . . . . . . 25
SAS Workspace Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
SAS Stored Process Server . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
SAS Metadata Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
SAS Content Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
SAS Digital Marketing Server . . . . . . . . . . . . . . . . . . . . . . . . . 32

Overview

SAS Customer Intelligence resources on the SAS server tier include several types of SAS servers that
handle different workload types and different processing intensities. For a description of SAS n-tier
architecture, see “Architecture of the SAS Intelligence Platform” on page 3 in Chapter 1, “Overview
of Architecture.”
Platform Suite for SAS (a third-party scheduling application that is available separately) and the
SAS Object Spawner are also on the SAS server tier.
See also

 Server Soup: Understanding the SAS® 9 Client/Server Recipe at support.sas.com/rnd/


papers/sugi30/ServerSoup30_040505.pdf.
22 F Chapter 4: SAS Server Tier

Hardware Requirements for the SAS Server Tier

To view the latest system requirements for your system, access support.sas.com and select
Knowledge Base IInstall Center, or contact SAS Institute Technical Support. Sites in the U.S.
and Canada should call (919) 677-8008. Other sites should contact on-site SAS support personnel or
the nearest SAS Institute office.

Components of the SAS Server Tier

Platform Suite for SAS

Description
Platform Suite for SAS includes the following applications from Platform Computing, Inc.,
that are supported in order to schedule SAS jobs. A job from SAS Customer Intelligence,
for example, is the recurring execution of a campaign.
 Platform Process Manager for SAS 3.0
 Platform LSF (Load Sharing Facility)
 Platform Grid Management Service
Relationship to SAS Customer Intelligence
Platform Process Manager enables users to schedule jobs (for example, the recurring
executions of either communications or entire campaigns). You send jobs to be scheduled
to Platform Process Manager either from SAS Customer Intelligence Studio, or through
the Schedule Manager in SAS Management Console.
Requirements
The following software is required to support job scheduling for SAS Customer Intelli-
gence:
 SAS Customer Intelligence Studio
 SAS Marketing Automation Launcher
 SAS Customer Intelligence Plug-ins for SAS Management Console
 SAS Data Integration Studio
Files
Configuration files for Platform LSF are located in <LSF-installation-dir>\conf.
Log files are located in <LSF-installation-dir>\logs.
Administrative Notes
When you upgrade LSF Scheduler 5.31 to version 6.0 or higher, perform these steps to
enable scheduling for SAS Marketing Automation:
Platform Suite for SAS F 23

1. Uninstall SAS Management Console.


2. Delete the following four JAR files in the SASManagementConsole/plugins
directory:
 jobflow.jar
 jobflowui.jar
 lsfsecurity.jar
 saslogin.jar
3. Reinstall SAS Management Console.
4. Verify that the four updated JAR files are located in the SASManagementConsole/
plugins directory.

See also

 Scheduling in SAS 9.2 at http://support.sas.com/92administration


 Schedule Manager Help in SAS Management Console
24 F Chapter 4: SAS Server Tier

SAS Object Spawner

Description
The object spawner is a process that runs on the SAS server host and listens for requests,
including requests from the SAS Customer Intelligence application server and the SAS
Customer Intelligence Plug-ins for SAS Management Console. When a request is received,
the object spawner accepts the connection and sends a job (for example, the execution of
either a campaign or a communication) to the workspace server or to the stored process
server.
Requirements
The object spawner requires the following software to be installed on the computer that is
assigned to the SAS server tier:

 SAS Software Version 9 or later


 SAS Integration Technologies
 SAS Metadata Server

N OTE : SAS/SECURE is an optional required component.


Files
Executable: Objspawn.exe is typically located in Lev1\ObjectSpawner on the SAS
server computer.

Configuration: metaConfig.xml is located in <config-dir>\Lev1\ObjectSpawner.


The configuration file contains the name of the metadata server and the login credentials
for the SAS Trusted User.

Log: Objspawn.log is located in \ObjectSpawner\Logs. You can view the object


spawner log file in order to troubleshoot connections between the client and server com-
puters. N OTE : The object spawner log file is not created by default. To create the object
spawner log file, see System Administration Guide (located under Administration Docu-
mentation) at http://support.sas.com/92administration. See Administer-
ing Logging for SAS Servers within the guide.
Administrative Notes
The object spawner must be refreshed to include any changes that are made to
appserver_autoexec.sas and sasv9.cfg.

 Windows:
See System Administration Guide (located under Administration Documentation)
at http://support.sas.com/92administration. See Starting, Stop-
ping, and Checking the Status of Servers within the guide for information about
starting and stopping under Windows
 UNIX:
See support.sas.com/rnd/itech/doc9/admin_oma/sasserver/
startserv/sp_suunx.html for information about starting and stopping
under UNIX
SAS Marketing Automation Launcher F 25

SAS Marketing Automation Launcher

Description
SAS Marketing Automation Launcher is a transparent Java application that is invoked by
the job scheduling program in order to run a job on the SAS application server. A job can
be a campaign, a campaign communication, or a diagram.
Relationship to SAS Customer Intelligence
The job scheduling program can execute only Java applications or SAS programs, and
cannot run directly on the SAS application server. Therefore, in order to access the SAS
application server, the job scheduling program uses the Launcher.
Files
Executable: Under Windows, the Launcher application, sasmalauncher.exe, is typically lo-
cated in C:\Program Files\SAS\SASMarketingAutomation\Launcher\5.3.

Under UNIX, the Launcher application, sasmalauncher.exe, is typically located in <!sas-


root>\SASMarketingAutomation\Launcher\5.3.
Log: When you execute (or re-run) a job flow, a log file is created in the home directory of
the Launcher application. The home directory is typically C:\Program Files\SAS\
SASMarketingAutomation\Launcher\5.3.

In sasmalauncher.ini, insert the following option at the beginning of the list of options to
enable log messages to be written to the log filename that you specify:

-Dma.launcher.log=<logfilename>

Requirements
There are no special requirements to run the Launcher.
Administrative Notes
The Launcher is typically launched in batch mode. IT administrators can also trou-
bleshoot job scheduling problems by diagnosing Launcher error codes. See Chapter 11,
“Scheduling Campaigns.”
26 F Chapter 4: SAS Server Tier

SAS Workspace Server

Description
The SAS workspace server enables client applications to submit SAS code to a SAS
session that uses an application programming interface (API).

N OTE : Your environment can include one or more workspace servers.


Relationship to SAS Customer Intelligence
When IT professionals create or execute a campaign or communication, SAS code is
generated by the computation engine on the middle tier, and is submitted to a workspace
server.
Requirements
To view the latest system requirements for your environment, see System Administra-
tion Guide (located under Administration Documentation) at http://support.sas.
com/92administration. See Administering Logging for SAS Servers within the
guide.
Files
Executable: You can find the name and location of your workspace servers by using the
SAS Server Manager in SAS Management Console.

Log: Logs for the SAS workspace server are located in <SASConfig>\Lev1\Logs. The
workspace server logs are useful for capturing the calls that are made to the database.

For information about managing logs for the workspace server, see System Administra-
tion Guide (located under Administration Documentation) at http://support.sas.
com/92administration. See Administering Logging for SAS Servers within the
guide.
Administrative Notes
There are no notes of administrative interest.
SAS Stored Process Server F 27

SAS Stored Process Server

Description
The SAS Stored Process Server executes and delivers results from SAS stored processes
in a multi-client environment. SAS stored processes are SAS programs that are stored
centrally and that can be executed by business users and by client programs on demand.

The SAS Stored Process Server performs work that is similar to the workspace server.
For information about the difference between the two servers, see Application Server
Administration Guide (located under Administration Documentation) at http://
support.sas.com/92administration. See Understanding Workspace Servers
and Stored Process Servers within the guide.
Relationship to SAS Customer Intelligence
Stored processes are used in SAS Customer Intelligence to perform computations; for
example, stored processes update the counts on Split nodes.
Requirements
See Stored Process Software Requirements at support.sas.com/rnd/itech/doc9/
dev_guide/stprocess/requires.html.
Files
Executable: In SAS Management Console, the initial stored process server is configured
as a load-balancing server named SASApp-Stored Process Server. Find the name and loca-
tion of the SAS stored process server by using the Server Manager in SAS Management
Console.

Configuration: sasv9.cfg is located in


<config-dir>\Lev1\SASApp\StoredProcessServer and calls sasv9.cfg that is
located in SASApp.

Log: The stored process server log is located in <config-dir>\Lev1\SASApp\


StoredProcessServer\logs. Log parameters are specified in sasv9_StorProcSrv.cfg.
The log file for the stored process server is useful for troubleshooting the execution of
Split nodes, Limit nodes, and exports.

See also “Creating a detailed SAS Stored Process Server log by default” at
http://support.sas.com/kb/34/114.html.

For information about managing logs, see System Administration Guide (lo-
cated under Administration Documentation) at http://support.sas.com/
92administration. See Administering Logging for SAS Servers within the
guide.
Administrative Notes
Each stored process server process handles multiple users, and by default each server uses
multiple server processes. A load-balancing algorithm distributes client requests between
the server processes.
28 F Chapter 4: SAS Server Tier

By default, the object spawner starts the processes of the stored process server (such as
Split nodes, Limit nodes, Process nodes, and exports) by authenticating the SAS Spawned
Servers user ID, sassrv.

For information about load balancing, see Application Server Administration Guide
(located under Administration Documentation) at http://support.sas.com/
92administration. See Load Balancing and Pooling within the guide.
SAS Metadata Server F 29

SAS Metadata Server

Description
The SAS Metadata Server controls access to a central repository of metadata that is shared
by all of the applications that run as part of SAS Customer Intelligence.
Relationship to SAS Customer Intelligence
Metadata for the following objects is generated and stored for SAS Customer Intelligence:

 information maps that display the physical source data as business data that is used
by business users to query a data warehouse
 intermediate tables that are generated when you create campaign diagrams by using
SAS Customer Intelligence Studio
 contact history and response history tables
 authorization rules for objects (such as information maps, business contexts, and
campaigns) that are used by SAS Customer Intelligence
 user IDs and passwords for SAS Customer Intelligence Studio that are used to access
a third-party server (for example, an Oracle database server)
 SAS stored processes that update and execute nodes
 reports about SAS Customer Intelligence that are accessible by using SAS Manage-
ment Console

Requirements
There are no special requirements.
Files
Configuration: sasv9_MetadataServer.cfg is located in <config-dir>\Lev1\SASMeta\
MetadataServer and points to Sasv9.cfg in <config-dir>\Lev1\SASMeta. Sasv9.cfg
points to the default SAS configuration file at C:\Program Files\SAS\SAS 9.2\
sasv9.cfg.

The metadata configuration file contains information about accessing a metadata server.
The spawner uses the information that is contained in the configuration file to connect to a
metadata server and to read the appropriate server definitions. To enable the spawner to
connect to and read the appropriate metadata from a metadata server, you must specify
the appropriate login information in the metadata configuration file.

Log: MetadataServer#d#b#y.log is located in \SASMeta\MetadataServer\logs.


This log file contains information about users who connect to the metadata server. For
example, this log might show the status of the SAS Metadata Server and might indicate
whether a request from a client application was successful. The log entries also contain
information that is useful for diagnosing server start-up problems, diagnosing authorization
failures, and debugging method calls.

According to the SAS Metadata Server options that you specify at invocation, the SAS
Metadata Server can write the following categories of information to the SAS log:
30 F Chapter 4: SAS Server Tier

 the start and stop information for the SAS Metadata Server:
– the user ID
– the SAS long version number
– the SAS Metadata Model version
– the directory where the SAS Metadata Server was started
– configuration file options
 user connection and disconnection events
 creation and deletion of a repository
 opening, closing, pausing, resuming, and refreshing events
 errors, such as these:
– task and thread exceptions
– memory allocation errors
– I/O errors
– application logic errors
– authentication errors
– authorization failures
 authentication events
 XML input strings and XML output strings
 traces that are invoked by the debugging options in omaconfig.xml

Administrative Notes
For detailed documentation, access the SAS Knowledge Base / Product Documentation
page for SAS Metadata Server at http://support.sas.com/documentation/
onlinedoc/metadatasrvr/index.html.
SAS Content Server F 31

SAS Content Server

Description
The SAS Content Server is part of the SAS Web Infrastructure Platform. This server
stores digital content (such as documents, reports, and images) that is created and used by
SAS Web applications. For example, the SAS Content Server stores report definitions
that are created by users of SAS Web Report Studio, as well as images and other elements
that are used in reports.
A process called content mapping ensures that report content is stored using the same
folder names, folder hierarchy, and permissions that the SAS Metadata Server uses to
store corresponding report metadata.
In addition, the SAS Content Server stores documents and other files that are to be
displayed in the SAS Information Delivery Portal or in SAS solutions.
Relationship to SAS Customer Intelligence
To interact with the SAS Content Server, client applications (such as SAS Customer
Intelligence Studio) use Web-based Distributed Authoring and Versioning (WebDAV)
based protocols for access, versioning, collaboration, security, and searching.
Requirements
There are no special requirements for this component.
Administrative Notes
The SAS Content Server Administration Console enables you to manage files and Web-
DAV folders in the SAS Content Server. To access the console, enter the following URL
in your Web browser and substitute the server name and port number of your SAS Content
Server:
http://server:port/ SASContentServer/dircontents.jsp
Administrative users can use the browser-based SAS Web Management Console to create,
delete, and manage permissions for folders on the SAS Content Server. Administrative
users can also search the SAS Content Server by using industry-standard query syntax,
including XML Path Language (XPath) and DAV Searching and Locating (DASL).
The SAS Content Server starts automatically when the Web application server is started
and depends on the SAS Services Application. The SAS Services Application deploys a
set of services called Remote Services that are used by SAS Information Delivery Portal,
the SAS Stored Process Web application, and other Web applications. The SAS Services
Application must be started before you start your Web application server.
For details about using the SAS Content Server, see the SAS 9.2 Intelligence
Platform: Web Application Administration Guide at http://support.sas.com/
92administration.
32 F Chapter 4: SAS Server Tier

SAS Digital Marketing Server

Description
If you installed SAS Digital Marketing as an optional client, then your site has installed a
SAS Digital Marketing server on the SAS server tier that you can access through your
network. The SAS Digital Marketing server connects to the SAS Digital Marketing client
application on the client tier.
Relationship to SAS Customer Intelligence
In SAS Customer Intelligence Studio, a diagram that includes an e-mail broadcast (that is
defined within a Communication node) is routed to the SAS Digital Marketing server. The
SAS Digital Marketing server executes the job by applying any filters if applicable (such
as opt-outs) to the list of recipients. The SAS Digital Marketing server then sends the
instructions to the mail transport agents (e-mail servers) that either perform the broadcasts
or collect the replies.
Logs
As a site administrator, you can use the Server Configuration wizard or the Server Config-
uration dialog box to modify the logging settings of the SAS Digital Marketing server
(located in the SAS server tier). The Logging tab enables you to specify the types of audit
records that SAS Digital Marketing creates for the broadcast transmissions, and the level
of detail.

To view the Logging tab, start a SAS Digital Marketing Studio client and connect to the
SAS Digital Marketing server as an administrator. Then select Tools IServer Configu-
ration IBroadcast Transmission ILogging.
Administrative Notes
SAS Digital Marketing provides tools to configure the server tier or middle tier and to
validate your software installation. You use the SAS Digital Marketing Server Configu-
ration wizard or you select Server Configuration from the Tools menu in SAS Digital
Marketing Studio to specify the server settings. The Server Configuration wizard can
create the Web archive files that are required by the middle tiers and a service under the
Windows environment that automatically starts the SAS Digital Marketing server.

You use the Server Configuration wizard to configure the server on the computer that
is running the wizard. SAS Digital Marketing stores your configuration settings in the
config.xml file that is located in the <!sasroot>/config directory. You should not edit
this file directly.

For information about the SAS Digital Marketing server, see the SAS Digital Marketing
5.3: Administrator’s Guide.
Chapter 5

Data Tier

Contents
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Hardware Requirements for the Data Tier . . . . . . . . . . . . . . . . . . . . . . 34
Components of the Data Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Registering Data for SAS Customer Intelligence . . . . . . . . . . . . . . . . . . . 35
What Data Sources Do I Need to Register? . . . . . . . . . . . . . . . . . . 35
SAS Library Reference (Libref) Locations . . . . . . . . . . . . . . . . . . . . . . 36
Overview of SAS Library Resources . . . . . . . . . . . . . . . . . . . . . 36
Specifying the MATables Library . . . . . . . . . . . . . . . . . . . . . . . 36
Specifying the MAMisc Library . . . . . . . . . . . . . . . . . . . . . . . . 36
Specifying the MAMacro Library . . . . . . . . . . . . . . . . . . . . . . . . 37
Specifying the MAExport Library (Optional) . . . . . . . . . . . . . . . . . . 37
Defining Library References . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Configuring the Appserver_autoexec.sas File . . . . . . . . . . . . . . . . . . . . 39
Overview of the Appserver_autoexec.sas File . . . . . . . . . . . . . . . . . 39
Specifying the Search Order for Locating Library Resources . . . . . . . . . 40

Overview

The data tier is a critical structure in the SAS Customer Intelligence architecture. For a description of
SAS n-tier architecture, see “Architecture of the SAS Intelligence Platform” on page 3 in Chapter 1,
“Overview of Architecture.”
Campaign managers use SAS Information Map Studio to build information maps. The maps
identify the data sources (represented on the data tier) that campaign managers use to formulate their
campaign queries. Campaign managers also use SAS Customer Intelligence Studio to choose their
target markets from the data sources on the data tier. History tables, response tables, and the results
of marketing campaigns might also be stored on your data tier, depending on your environment.
34 F Chapter 5: Data Tier

Hardware Requirements for the Data Tier

To view the latest requirements for your system, access support.sas.com and select Knowledge
Base IInstall Center IThird-Party Software Reference, or contact SAS Institute Technical
Support. Sites in the U.S. and Canada should call (919) 677-8008. Other sites should contact on-site
SAS support personnel or the nearest SAS Institute office.
To learn more about the currently supported databases, see the system requirements document that is
delivered with your release of SAS Customer Intelligence software.
When a new release of your database management software (such as Oracle) becomes available,
contact SAS support personnel to verify the compatibility of the new release with SAS software.

Components of the Data Tier

Your data tier might include several sources of data for SAS Customer Intelligence processes. The
sources of data are determined by the marketing objectives of your organization and by company
resources.
You can access almost any type of data source by using SAS LIBNAME statements.
For example, SAS can access the following native data sources:

 SAS data sets, which are analogous to relational database tables

 SAS SPD server tables, which can be read by or written to multiple threads. (See also
“Configuring a SAS SPD Server” on page 38.)

SAS/ACCESS provides direct access to the following database management systems (DBMSs):

 DB2

 Microsoft SQL Server

 Oracle

SAS/ACCESS provides direct access to the following Enterprise Resource Planning (ERP) systems:

 SAP

 PeopleSoft

 Baan
Registering Data for SAS Customer Intelligence F 35

N OTE : For the specific versions of each DBMS that is supported, see your on-site SAS support
personnel.
For information about SAS data sets, see Data Administration Guide (located under Administration
Documentation) at http://support.sas.com/92administration. See SAS Data Sets
within the guide.
For details about SAS/ACCESS, see Data Administration Guide (located under Administration
Documentation) at http://support.sas.com/92administration. See Connecting to
Common Data Sources within the guide.

Registering Data for SAS Customer Intelligence

What Data Sources Do I Need to Register?

The data sources that must be registered to the SAS Metadata Repository for access by SAS Customer
Intelligence include the following tables:

 any database source for SAS Customer Intelligence data (such as Oracle or Teradata) that is
referenced by a SAS Information Map

 SAS Customer Intelligence Common Data Model tables

 holding tables for SAS Marketing Automation

 (optional) libraries that will contain exported data


36 F Chapter 5: Data Tier

SAS Library Reference (Libref) Locations

Overview of SAS Library Resources

SAS Customer Intelligence requires several SAS libraries that contain SAS metadata, holding tables,
and operational data. Most of the required libraries are defined when SAS Marketing Automation is
installed.
Verify that all SAS Marketing Automation users, including saswbadm, have both READ and WRITE
access to the physical location of the library.
You can specify the location of a libref in any preferred physical path. The physical path is represented
in the following sections as <plan-area>.

Specifying the MATables Library

Here is an example of the LIBNAME statement that defines the MATables library:
LIBNAME MATables<plan-area>;
This is the default location of the MATables library:
<config>/Lev1/SASMeta/Data/MATables.
The MATables libref specifies the location of the holding tables for SAS Marketing Automation
that are created by various stored processes. The MATables libref also specifies the location of the
holding tables for metadata that is generated by SAS Customer Intelligence Studio when diagrams
are created. These holding tables are automatically deleted when they are no longer needed.

Specifying the MAMisc Library

Here is an example of the LIBNAME statement that defines the MAMisc library:
LIBNAME MAMisc<plan-area>;
This is the location of the MAMisc library: <config>/Lev1/SASMeta/Data/MAMisc.
The MAMisc libref specifes the location of various tables for SAS Marketing Automation that
contain information such as sequence numbers and task lists. It also specifies the location of the
defined SAS formats that are used by SAS data sets for SAS Marketing Automation.
Specifying the MAMacro Library F 37

Specifying the MAMacro Library

Here is an example of the LIBNAME statement that defines the MAMacro library:
LIBNAME MAMacro<plan-area>;
access=readonly;
This is the default location of the MAMacro library: <!SASroot>/ma/cmacros.
The MAMacro libref specifies the location of the macro catalog that is located under SASroot for
SAS Marketing Automation. Note The MAMacro libref should be specified with Read-only access.

Specifying the MAExport Library (Optional)

Here are examples of the LIBNAME statements that define the MAExport library for a specific
DBMS:

LIBNAME EXPSAS "C:\MAExport\sas";

LIBNAME EXPTERA teradata


user=crmuser pw=Pass99
server=kaboom database=macommon;

LIBNAME EXPORA ORACLE


PATH=ENDOR\ORA10G
SCHEMA=mageneral
USER=mageneral
PASSWORD=abc;

The MAExport library is an optional library that specifies the location of the export files that you
want to store in SAS data sets or database tables. Export files that are saved as comma-separated
values (CSV), tab-delimited, blank-delimited, Microsoft Excel, or XML files are not referenced by
the MAExport library reference (libref). However, you can save these files in any directory, including
the MAExport directory.

Defining Library References

Overview

Define the required libraries for accessing SAS Customer Intelligence data by using the Data Library
Manager in SAS Management Console. For instructions, access Connecting to Common Data
Sources in the SAS OnlineDoc: support.sas.com/onlinedoc/913/docMainpage.jsp.
Expand SAS Intelligence Platform IAdministration IData Administration Guide.
38 F Chapter 5: Data Tier

N OTE : Although you can specify some library references (librefs) by editing the
appserver_autoexec.sas file (see “Configuring the Appserver_autoexec.sas File” on page 39),
these libref values are used only if no values for librefs have been specified in SAS Management
Console.

Configuring a SAS SPD Server

During installation, the SAS SPD server creates a library parameter file called libnames.parm. The
libnames.parm file contains the LIBNAME domain definitions for the data tables that are stored on
the SAS SPD server, including the tables of the published campaign data in the SAS Customer
Intelligence common data model.
Any other data tables (for example, MATABLES and TMP) that are stored on a SAS SPD server
must have libraries that are configured to use SPD server data as well.
These examples define libraries called cicom (Customer Intelligence Common Data Model), mafunc
(marketing automation customer data), matble (MATables), and ematmp (temp tables) during a
typical SAS SPD server installation:

LIBNAME=cicom pathname=/sanr52/chmeta roptions="datapath=('/sanr52/chspd')


indexpath=('/sanr52/chindex')" DYNLOCK=YES;

LIBNAME=mafunc pathname=/sanr51/spdma2/meta roptions="datapath=


('/sanr51/spdma2/data/sanr52/spdma2/data')indexpath=('/sanr52/spdma2/index')";

LIBNAME=matble pathname=/sanr52/spdmatbl/meta roptions="datapath=


('/sanr52/spdmatbl/data')indexpath=('/sanr52/spdmatbl/index')";

LIBNAME=ematmp pathname=/sanr52/ematmp;

If you define any custom formats in the SAS SPD server, then you need to define a library that
references the custom formats. Here is an example:

LIBNAME formats SASSPDS IP=yes LIBGEN=yes schema="formats" USER="anonymous"


HOST='serveruno.unx.sas.com' Serv='5190';

Use the spdsserv.parm file to control other configuration options for the SAS SPD server. Here is an
example:

spdsserv.parm
SORTSIZE=1024M;
INDEX_SORTSIZE=256M;
GRPBYROWCACHE=128M;
BINBUFSIZE=32K;
INDEX_MAXMEMORY=256M;
WORKPATH="/sanr52/spdtmp";
COREFILE;
SEQIOBUFMIN=64K;
RANIOBUFMIN=4K;
Configuring the Appserver_autoexec.sas File F 39

MAXWHTHREADS=16;
MAXSEGRATIO=75;
WHERECOSTING;
RANDOMPLACEDPF;
MINPARTSIZE=1024M;
TMPDOMAIN='EMATMP';

N OTE : SAS recommends that you set the maximum number of threads (MAXWHTHREADS) to
16. This value prevents the SAS SPD Server from launching large numbers of unused concurrent
threads that could increase runtime processing.

Configuring the Appserver_autoexec.sas File

Overview of the Appserver_autoexec.sas File

The appserver_autoexec.sas file specifies some options in the SAS environment for all SAS sessions
that are created by the SAS object spawner and used by SAS Marketing Automation. SAS sessions
include workspace server sessions and calls to the SAS stored process server. This file can be edited
to specify the following options:

 SAS Marketing Automation libref for campaign export files. Although you normally use the
SAS Management Console to register libraries for SAS Marketing Automation, you will need
to specify the libref for campaign export files in appserver_autoexec.sas. See also Chapter 11,
“Scheduling Campaigns,” for more about the export files that are used in SAS Marketing
Automation.

 SAS options that specify the search order for locating library resources (see “Specifying the
Search Order for Locating Library Resources” on page 40).

 SAS macro variables that activate the bulk load facility (see “Specifying SAS Macro Variables
to Activate the Bulk Load Facility” on page 201 in Chapter 13, “Performance Tips”). The bulk
load facility updates data in contact history tables and improves the efficiency of uploads of
the SAS Marketing Automation tables to the database.

The library reference values that are specified in appserver_autoexec.sas are used only if the libraries
have not been defined in SAS Management Console. By default, appserver_autoexec.sas is installed
in the configuration directory for the main SAS server when SAS Marketing Automation is installed.
The configuration directory is typically located at <config>/Lev1/SASMeta.
40 F Chapter 5: Data Tier

Specifying the Search Order for Locating Library Resources

Several SAS system options designate the search order that is used to locate SAS library resources.
You can specify the statements anywhere within appserver_autoexec.sas.

FMTSEARCH=(MAMisc SecondLib ThirdLib) NOFMTERR;

FMTSEARCH specifies the search order for the format catalog or catalogs. The previous example
specifies the search to begin in the MAMisc library, then to continue in a library called SecondLib,
and finally to end in a library called ThirdLib.
NOFMTERR specifies to issue a note and continue processing if the specified variable format cannot
be located.

MSSTORED SASMSTORE=MAMacro;

The previous statement specifies the MAMacro library as the first location (in a search order) to be
searched for stored compiled macros.
For details about these SAS system options, see the SAS Language Reference: Dictionary.
Part II

Configuring
42
Chapter 6

Administrative Tasks

Contents
Administrative Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Good Practices During Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Use a Single Install Account . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Use Fully Qualified Server Names . . . . . . . . . . . . . . . . . . . . . . . 45
Accessibility Features of SAS Marketing Automation 5.3 . . . . . . . . . . . . . . 46
About Accessibility Features . . . . . . . . . . . . . . . . . . . . . . . . . 46
Accessibility Features of the Supported Browser . . . . . . . . . . . . . . . 46

Administrative Objectives

To enable users such as campaign marketers to achieve their objectives, SAS Marketing Automation
administrators set up and maintain the SAS Marketing Automation environment and the supporting
SAS Intelligence Platform environment. This Administrator’s Guide provides the post-installation,
configuration, and ongoing maintenance tasks for supporting SAS Marketing Automation.
Maintenance tasks are performed at regular intervals to maintain the environment and to keep the
SAS Marketing Automation environment working at optimal efficiency.
Contact your SAS support personnel to obtain the most current online version of this document and
other documentation for SAS Marketing Automation administrators as they become available.
For information about integrating SAS products with other applications in your enterprise, see SAS
Integration Technologies at support.sas.com/documentation/onlinedoc/inttech.

Tasks

After you complete the setup tasks by following the instructions (provided in the SAS Deployment
Wizard User’s Guide), you might be required to set additional options for environmental components
44 F Chapter 6: Administrative Tasks

that include third-party application servers, SAS servers, and scripts to support marketing campaign
activities by users. Perform these tasks as needed:

1. Control user access to business contexts, diagrams, campaigns and reports. See Chapter 7,
“Users and Groups.”

2. Create information maps for campaign activities. See Chapter 8, “SAS Information Maps
for Campaigns.” You can also modify the provided information map for SAS Customer
Intelligence. See the instructions for importing the information map and the related treatment
performance report in Chapter 10, “Implementing the Common Data Model.”

3. Implement the common data model. Set up the provided treatment performance report. See
Chapter 10, “Implementing the Common Data Model.”

4. Configure JVM for SAS Remote Services. See “Configuring JVM to Improve Performance”
on page 208 in Chapter 13, “Performance Tips.”

5. Manage the scheduling tasks for SAS Marketing Automation. See Scheduling in SAS 9.2
at http://support.sas.com/documentation/onlinedoc/sasmc/index.html
for details about how to administer scheduling tools. These tools enable you to automate
the scheduling and execution of SAS jobs in general, including jobs from SAS Marketing
Automation. See Chapter 11, “Scheduling Campaigns” for details about configuring the
components that are specifically used for SAS Marketing Automation.

6. Extract, import, and promote diagrams, campaigns, and other SAS Marketing Automa-
tion objects as needed, by using either the Integration Utilities for SAS Customer In-
telligence, or the SAS 9.2 Promotion Tools. For more information about SAS Pro-
motion Tools, access http://support.sas.com/documentation/cdl/en/bisag/
60945/HTML/default/a003116970.htm. See also the SAS Customer Intelligence 5.3
Integration Utilities: User’s Guide that is available from your local SAS representative or
from SAS Technical Support.

7. Update the counts metadata as needed. See “Understanding the Counts Metadata for SAS
Customer Intelligence” on page 100.

8. Optimize the SAS environment for SAS Marketing Automation by customizing the
appserver_autoexec.sas file. See Chapter 5, “Data Tier.”

9. Define a strategy for backing up and restoring information maps, campaigns, and diagrams.
See Chapter 12, “Backing Up and Restoring Data.”
Use Fully Qualified Server Names F 45

Good Practices During Setup

Introduction

Installation and setup instructions are described in a separate document. See your on-site SAS
support personnel for installation instructions.
To view the setup instructions for the common SAS Intelligence Platform, see the SAS 9.2
Intelligence Platform: Installation and Configuration Guide at http://support.sas.com/
92administration.

Use a Single Install Account

Problems often occur when the same account is not used for all installations and subsequent
installations. To eliminate potential problems, always use the same account (such as the SAS
install account that was specified on the pre-installation checklist) for all installations. This procedure
is particularly important when applying service packs. If the user is running Windows Terminal
Services, then you should be operating in install mode.

Use Fully Qualified Server Names

Specify fully qualified server machine names in the SAS Deployment Wizard of SAS Management
Console in order to avoid problems that can result in connecting to the workspace and stored process
servers. Similar problems can occur in the SAS Portal when the SASTheme_default application is
referenced.

Example of a Fully Qualified Server Name

Incorrect joesmachine

Correct (Fully Qualified) joesmachine.unx.mybusiness.com

Edit and correct any server machine names that are not fully qualified by modifying the server’s
properties in the Server Manager folder in SAS Management Console.
46 F Chapter 6: Administrative Tasks

Accessibility Features of SAS Marketing Automation 5.3

About Accessibility Features

SAS Marketing Automation software has not been tested for compliance with U.S. Section 508
standards and W3C Web content accessibility guidelines. If you have specific questions about
the accessibility of SAS products, send them to accessibility@sas.com or contact SAS Technical
Support.
For specific information about Windows accessibility features, see the Help for your operating
environment.

Accessibility Features of the Supported Browser

The supported Web browser for SAS Customer Intelligence Studio is Microsoft Internet Explorer
Version 6.0 and later. For information about the accessibility features of Internet Explorer, use the
index in the Internet Explorer Help to locate the topics about accessibility.
Chapter 7

Users and Groups

Contents
Overview of Security Administration . . . . . . . . . . . . . . . . . . . . . . . . . 47
Administering SAS Identities for Users . . . . . . . . . . . . . . . . . . . . . . . 48
Administering Groups and Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
About Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
About Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
About Predefined Roles for SAS Customer Intelligence . . . . . . . . . . . 50
Viewing Roles in SAS Management Console . . . . . . . . . . . . . . . . . . 51
Enable Users to View Customer Intelligence Plug-ins . . . . . . . . . . . . 53
Administering Group and Role Membership . . . . . . . . . . . . . . . . . 55
Creating New Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Modifying Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Administering Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
About Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Using the Customer Intelligence Access Control Template (ACT) . . . . . . 58
Assigning User Permissions for Business Contexts . . . . . . . . . . . . . . 59
Assigning User Permissions for Custom Repositories . . . . . . . . . . . . . 59

Overview of Security Administration

The security model for SAS Marketing Automation and the SAS Intelligence Platform provides the
following features:

 single sign-on from and across disparate systems

 secure access to data and metadata

 role-based access to application features

 confidential transmission and storage of data

 logging and auditing of security events

 access control reporting


48 F Chapter 7: Users and Groups

Security administration for SAS Marketing Automation consists of the following tasks:

 administering SAS identities for your users by adding account information to the SAS Metadata
Server

 administering groups of users in order to simplify the management of roles and permissions

 administering roles, which provide users with access to specific application features

 administering users’ permissions to access metadata repositories, folders, and objects

For more information about security administration, see the SAS Intelligence Platform: Security
Administration Guide at http://support.sas.com/92administration.

Administering SAS Identities for Users

For each user of SAS Marketing Automation, you must create an individual SAS identity on the
SAS Metadata Server. The SAS identity is a copy of the ID with which the user logs on to SAS
applications. Based on this identity, the system can determine who can access which application,
and can audit individual actions in the metadata layer. The SAS identity consists of a name and the
user ID for the user’s external account. This ID can be any type of account that is known to the
metadata server’s host such as an LDAP, Active Directory, host, or other type of account. When
entering user IDs for Windows accounts, be sure to qualify the ID (for example, WIN\myID or
myID@mycompany.com).

To create SAS identities for your users, manually enter the information for each user through the
User Manager plug-in in SAS Management Console. If you have a large number of users, then you
can extract user and group information from one or more enterprise identity sources, and then use
SAS bulk-load macros to create the identity metadata from the extracted information.
For more information, see “Security Tasks” and “User Import Macros” in the SAS Intelligence Plat-
form: Security Administration Guide at http://support.sas.com/92administration.

Administering Groups and Roles

About Groups

Groups enable you to give multiple users membership in a role or permissions to metadata, thus
simplifying security administration. You can create as many groups as are needed in order to manage
your installation.
About Roles F 49

The following groups are provided in your initial installation:

SAS Users
This group includes everyone who can access the metadata server, either directly or through a
trust relationship. If a user is able to log on to a client application and has an individual SAS
identity, the user is assumed to be in this group. Because this group has implicit membership,
you cannot explicitly add or remove users from this group.
Public
This group includes everyone who can access the metadata server, either directly or through
a trust relationship. If a user is able to log on to a client application but does not have an
individual SAS identity, the user is assumed to be in the public group. Because this group has
implicit membership, you cannot explicitly add or remove users from this group.
SAS Administrators
This is a standard group for metadata administrators. In a standard configuration, members
are granted broad access and administrative capabilities, but are not unrestricted.
Customer Intelligence: Basic Campaign Designer
In your initial installation, this group is a member of the Customer Intelligence: Basic
Campaign Design role. You can add users to this group to give them access to basic campaign
design functionality.
Customer Intelligence: Advanced Campaign Designer
In your initial installation, this group is a member of the Customer Intelligence: Advanced
Campaign Design role. You can add users to this group in order to give them access to
advanced campaign design functionality.
Customer Intelligence: Administrator
In your initial installation, this group is a member of the Customer Intelligence: Administration
role. You can add users to this group in order to enable them to administer Customer
Intelligence applications.

About Roles

In SAS Customer Intelligence applications, certain actions are available only to users or groups that
have a particular role. A role is a set of capabilities that correspond to particular application features
such as menu items and plug-ins. Any user or group who is a member of a role has all of that role’s
capabilities.
Roles can contribute to one another. A role automatically includes all of the capabilities of a role
that contributes to it.
Roles differ from permissions. In general, roles do not affect access to metadata or data.
50 F Chapter 7: Users and Groups

About Predefined Roles for SAS Customer Intelligence

Your installation includes several predefined roles. These include roles for administrative users of
the metadata server and SAS Management Console, as well as roles for administrators and users of
Customer Intelligence applications. Depending on what software you have installed, you might have
other predefined roles.
The following roles are provided for Customer Intelligence users and administrators:

Customer Intelligence: Usage


This role provides the implicit capability to log on to SAS Customer Intelligence applications.
This role contributes to the other three Customer Intelligence roles.
Customer Intelligence: Basic Campaign Design
In addition to the Customer Intelligence: Usage capabilities, users in this role have the
implicit capability to access basic nodes to design new campaigns. This role contributes to the
Customer Intelligence: Advanced Campaign Design role.
Customer Intelligence: Advanced Campaign Design
In addition to the Customer Intelligence: Usage and Customer Intelligence: Basic Cam-
paign Design capabilities, users in this role can access advanced nodes to design new cam-
paigns, write code in process nodes, and access operations features. They can also manage
Customer Intelligence application resources in the Application Management plug-in in SAS
Management Console.
Customer Intelligence: Administration
In addition to the Customer Intelligence: Usage capabilities, users in this role can manage
Customer Intelligence administration resources in the Application Management plug-in in
SAS Management Console. They can also access other SAS Management Console plug-ins.

N OTE : A user’s ability to access and update campaign metadata is subject to permissions that are
placed on that metadata. The Customer Intelligence roles do not affect permissions.

If you migrated from SAS Marketing Automation 5.1, then your installation also includes the
Marketing Automation: Novice Users and Marketing Automation: Advanced Users roles. The
capabilities of these roles are equivalent to those that were provided in the previous release. You can
continue to use these roles, or you can move your users to the new roles that provide a more granular
level of control.
The following table provides details about the capabilities in each of the predefined roles for SAS
Marketing Automation 5.3. In this table, asterisks indicate that the capability is from a contributing
role.
Viewing Roles in SAS Management Console F 51

Figure 7.1 Roles for SAS Marketing Automation

Viewing Roles in SAS Management Console

To view details about roles, open the User Manager plug-in in SAS Management Console, right-click
the role, and select Properties. You can then view tabs that display the role’s members, capabilities,
and contributing roles. For example, here is the Capabilities tab for the initial configuration of the
52 F Chapter 7: Users and Groups

Customer Intelligence: Administration role:

Figure 7.2 Capabilities Tab for the Customer Intelligence: Administration Role

The following icons provide information about the capabilities:

Means that none of the capabilities in this category have been specified for this role.

Means that some of the capabilities in this category have been specified for this role, either
explicitly or through a contributing role.

Means that all of the capabilities in this category have been specified for this role, either
explicitly or through a contributing role. To see details, click the plus sign.

N OTE :

 Shaded check boxes indicate capabilities that come from contributing roles.

 Some roles have implicit capabilities that are not specified on the Capabilities tab.
Enable Users to View Customer Intelligence Plug-ins F 53

Enable Users to View Customer Intelligence Plug-ins

The predefined roles for SAS Marketing Automation do not by default enable users to view the
Customer Intelligence plug-ins in SAS Management Console.
In order for the Customer Intelligence Plug-ins to be visible in SAS Management Console, ensure
the following conditions:

 The Customer Intelligence Plug-ins are registered in SAS Management Console. To register the
plug-ins or to verify their registration, see Administrative Notes under “The SAS Customer
Intelligence Plug-ins” on page 7 in Chapter 2, “Client Tier.”

 User roles are specified to enable access to Customer Intelligence Plug-ins.

As an administrator with the applicable permissions, you must manually modify the capabilities of
each role (whether or not it is predefined) by following these steps:

1. On the Plug-ins tab of SAS Management Console, expand Environment Management


ITable Server Manager.

2. Click User Manager. A list of users, groups, and roles appears on the right pane.

N OTE : To display only roles, clear Show Users and Show Groups at the top of the right
pane.

3. Find and double-click a role that describes users who should be allowed to view the Cus-
tomer Intelligence plug-in. The predefined role named Customer Intelligence: Advanced
Campaign Design is highlighted in Figure 7.3.
54 F Chapter 7: Users and Groups

Figure 7.3 Select a Role to Modify

For a description of the predefined roles, see “About Predefined Roles for SAS Customer
Intelligence” on page 50.

4. On the Capabilities tab, expand Management Console 9.2 and Plug-ins.

5. Select Customer Intelligence, and click OK (Figure 7.4).


Administering Group and Role Membership F 55

Figure 7.4 Check Customer Intelligence

Administering Group and Role Membership

To administer group and role membership, use the User Manager plug-in in SAS Management
Console. In most cases, the best way to place a user in a role is to add the user to a group that belongs
to the role. You can also add users directly to roles.
To place a user in one of the predefined Customer Intelligence roles, you can add the user to one of
the predefined Customer Intelligence groups, as follows:

 To add a user to the Customer Intelligence: Basic Campaign Design role, add the user to
the Customer Intelligence: Basic Campaign Designer group. The user also receives the
capabilities of the contributing role, Customer Intelligence: Usage.
56 F Chapter 7: Users and Groups

 To add a user to the Customer Intelligence: Advanced Campaign Design role, add the user
to the Customer Intelligence: Advanced Campaign Designer group. The user also gets the
capabilities of the contributing roles, Customer Intelligence: Basic Campaign Design and
Customer Intelligence: Usage.

 To add a user to the Customer Intelligence: Administration role, add the user to the Cus-
tomer Intelligence: Administrator group. The user also gets the capabilities of the contribut-
ing role, Customer Intelligence: Usage.

N OTE : There is no reason to add a user directly to the Customer Intelligence: Usage role. This
role enables a user to log on, but does not provide any other useful functionality.
A user can be added to more than one group, and a user or group can be added to more than one role.
For example, suppose a user needs to perform both administration tasks and advanced application
tasks. You could take one of the following actions:

 Add the user to both the Customer Intelligence: Administrator group and the Customer
Intelligence: Advanced Campaign Designer group. This method might be appropriate if
only one user needs this combination of capabilities.

 Create a new group called Customer Intelligence: Administrator and Advanced. You
could then add the new group to both the Customer Intelligence: Administration role
and the Customer Intelligence: Advanced Campaign Design role. This method might be
appropriate if multiple users need this combination of capabilities.

For more information, see “Users, Groups, and Roles” in the SAS Intelligence Platform: Security
Administration Guide at http://support.sas.com/92administration.

Creating New Roles

The predefined Customer Intelligence roles might be sufficient for many sites. Other sites might
need to make application features available to users on either a broader or more granular basis than
the predefined roles allow. Here are examples:

 If you have both SAS Marketing Automation and SAS Real-Time Decision Manager, then
you could create the following roles for advanced users of the two applications:

– Customer Intelligence: Advanced Selection Campaign Design for users of SAS Mar-
keting Automation. You could specify Customer Intelligence: Basic Campaign De-
sign as a contributing role and specify the following additional capabilities:
 Allow Use of Advanced Nodes
 Application Resources plug-in: All Selection capabilities
– Customer Intelligence: Advanced Decision Campaign Design for users of SAS Real-
Time Decision Manager. You could specify Customer Intelligence: Basic Campaign
Design as a contributing role and specify the following additional capabilities:
Modifying Roles F 57

 Allow Use of Advanced Nodes


 Allow Mark Campaign for Deployment
 Application Resources plug-in: All Decision capabilities

 If you want to enable a user to export campaign definitions, but not perform other applica-
tion management tasks, then you could create a role that specifies only the Manage Export
Definitions capability.

These are examples; other combinations of capabilities can be used to create a new role. However,
you can use only the capabilities that already appear in User Manager. You cannot create new
capabilities.
For detailed information about roles and how to create them, see “Users, Groups, and Roles” in
the SAS Intelligence Platform: Security Administration Guide at http://support.sas.com/
92administration.

Modifying Roles

The User Manager plug-in in SAS Management Console enables you to modify roles by selecting or
deselecting different capabilities.
C AUTION : No automated method exists that can revert a role to its original set of capabilities.
Instead of adjusting the capabilities of a predefined role, consider creating a new role. This advice is
especially important if major changes are needed.
If you modify a role, then follow these best practices:

 Do not rename the predefined roles. Renaming the predefined roles makes it difficult for SAS
Technical Support to help you resolve problems.

 Back up the metadata server before modifying roles, and keep a record of the changes that you
make.

When modifying a role, you can use only the capabilities that already appear in User Manager. You
cannot create new capabilities.
For more information about roles and how to modify them, see “Users, Groups, and Roles” in
the SAS Intelligence Platform: Security Administration Guide at http://support.sas.com/
92administration.
58 F Chapter 7: Users and Groups

Administering Permissions

About Permissions

SAS provides a metadata-based authorization layer that supplements the protections from the host
environment and other systems. Protections are cumulative across authorization layers. In order to
perform a task, a user must have sufficient access in all of the applicable layers.
You can set permissions at several levels:

 Repository-level controls provide the default access controls for objects that have no other
access controls defined.
 Resource-level controls manage access to a specific item such as an information map, a
campaign, a diagram, a node, a business context, or a folder. The controls can be defined
individually (by using explicit settings) or in patterns (by using access control templates).
 Fine-grained controls affect access to subsets of data within a resource. You can use these
controls to specify who can access either particular rows within a table or members within a
cube dimension.

The effect of a selected permission setting is influenced by any related settings that have higher
precedence. For example, if a campaign inherits a grant from its parent folder but also has an explicit
denial, then the explicit setting determines the outcome. Similarly, if a group has been granted a
permission, and a user who is a member of the group has an explicit denial, then the explicit setting
determines the outcome.
In SAS Marketing Automation, permissions are set by using the following three methods:

 The Customer Intelligence access control template (ACT), which provides a set of default
permissions for SAS Marketing Automation resources.
 Business contexts, which are groupings of campaigns. When you create a business context,
you specify which users can view or edit the campaigns in that context.
 Custom repositories, which you can use to physically segregate metadata for storage or security
purposes.

Each of these methods is described in more detail below.

Using the Customer Intelligence Access Control Template (ACT)

The Customer Intelligence access control template (ACT) provides a set of default permissions
for SAS Marketing Automation resources. This template is automatically applied to all customer
Assigning User Permissions for Business Contexts F 59

intelligence objects including business contexts, campaigns, diagrams, and nodes. In its initial
configuration, this template denies ReadMetadata (RM) and WriteMetadata (WM) permission to the
public group.
You might want to update the ACT in these situations:

 Give one or more users broad access to campaign data for the purpose of application trou-
bleshooting or administration. To do this, you can add the user to the ACT, either permanently
or temporarily, and specify the appropriate permissions.

 Access campaign metadata that was created by a user who is no longer in your organization.
To do this, temporarily add an administrator to the ACT so that the administrator can transfer
the campaign permissions to a different user.

To update the ACT, use the Authorization Manager plug-in in SAS Management Console.

Assigning User Permissions for Business Contexts

In SAS Marketing Automation, campaigns are grouped into user-defined business contexts. Business
contexts enable you to separate campaigns depending on which users should have access. When you
define a new business context in the SAS Management Console Customer Intelligence Plug-in, you
specify which users and groups have permission to view or edit the campaigns within that business
context. Then, as campaigns are designed and created within the business context, SAS Marketing
Automation software applies access control entries (ACEs) that give those users and groups the
appropriate permission to access the campaign data and metadata.
The user selection panel in the plug-in contains only users and groups who are members of the
Customer Intelligence roles. Therefore, you must add users and groups to the appropriate roles
before you can give them view or edit permission for a business context.

Assigning User Permissions for Custom Repositories

If you create a custom repository in order to physically segregate metadata for storage or security
purposes, then you can apply permissions to specify which users do and do not have access to the
repository. In the SAS Folders tree in SAS Management Console, select the folder that represents
the repository. Then open the Properties dialog box and update the Authorization tab.
For more information about permissions, see the Permissions Overview and the Authorization chapter
in the SAS Intelligence Platform: Security Administration Guide at http://support.sas.com/
92administration.
60
Chapter 8

SAS Information Maps for Campaigns

Contents
Identifying Data for Campaign Activities . . . . . . . . . . . . . . . . . . . . . . 62
The Role of the Information Map in SAS Marketing Automation . . . . . . . . . . 62
What Is a SAS Information Map? . . . . . . . . . . . . . . . . . . . . . . . 62
What Does an Information Map Contain? . . . . . . . . . . . . . . . . . . . 63
How Are Information Maps Used in SAS Customer Intelligence? . . . . . . 64
Who Creates Information Maps for SAS Customer Intelligence? . . . . . . . 64
Creating a SAS Information Map for SAS Marketing Automation . . . . . . . . . 64
Overview of Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Organizing Your Folders as Categories . . . . . . . . . . . . . . . . . . . . 66
Tips: Building Your Information Map . . . . . . . . . . . . . . . . . . . . . . 67
Best Practice: Use a Phased Approach to Create Your Information Map . . . 69
About Custom Properties for SAS Marketing Automation . . . . . . . . . . . . . . . 71
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Required Custom Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Specify the MAMeta Library as a Custom Property . . . . . . . . . . . . . . . 71
Add Custom Properties to an Information Map: Steps . . . . . . . . . . . . 75
Making Custom Properties Available . . . . . . . . . . . . . . . . . . . . . 79
Custom Properties (Map Level) . . . . . . . . . . . . . . . . . . . . . . . . 84
Custom Properties (Folder Level) . . . . . . . . . . . . . . . . . . . . . . . 86
Custom Properties (Data Item Level) . . . . . . . . . . . . . . . . . . . . . 88
All Custom Properties for SAS Marketing Automation Information Maps . . . 91
Definitions of the Levels of Data Items . . . . . . . . . . . . . . . . . . . . 99
Understanding the Counts Metadata for SAS Customer Intelligence . . . . . . . . 100
What Is the Counts Metadata? . . . . . . . . . . . . . . . . . . . . . . . . . 100
Descriptions of the Counts Metadata Tables . . . . . . . . . . . . . . . . . . . 101
Generating the Counts Metadata . . . . . . . . . . . . . . . . . . . . . . . . . 101
Troubleshooting Your Information Map for SAS Customer Intelligence . . . . . . . 107
Metadata Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Troubleshooting Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
View a Summary of Your Information Map’s Custom Properties . . . . . . . 109
62 F Chapter 8: SAS Information Maps for Campaigns

Identifying Data for Campaign Activities

As an administrator, you find the data that will be available to SAS Customer Intelligence Campaign
Studio users. You then identify all of the data by creating a single information map in SAS
Information Map Studio. SAS Customer Intelligence Studio users will analyze this data, prioritize
targets based on this data, and export this data when they are ready to execute a campaign.
For example, you will want to include demographic data about customers such as buying patterns or
account balances, and any information that you want SAS Customer Intelligence Studio to export
directly, such as name and address data. You can include as many physical tables as you want. Note,
however, that performance of SAS Customer Intelligence is optimized when fewer tables are used.
Although some businesses need only one information map, some large enterprises create additional
information maps for various business contexts. New business contexts can be created and asso-
ciated with an existing information map through the SAS Customer Intelligence Plug-in (under
Administration Resources) in SAS Management Console.
N OTE : For SAS Marketing Automation 5.3, instead of defining a Master Business Context, you will
define a root folder for each individual business context, and then add resources.

The Role of the Information Map in SAS Marketing


Automation

What Is a SAS Information Map?

A SAS Information Map consists of metadata that describes a data warehouse in business terms. A
SAS Customer Intelligence information map describes the SAS Marketing Automation data sources
that enables SAS Customer Intelligence users to easily create marketing campaigns. For example,
instead of viewing a large collection of tables and columns, the business user views a simple list of
business terms (Figure 8.1).

Figure 8.1 An information map maps the data into business terms.
What Does an Information Map Contain? F 63

All SAS Information Maps are stored in the SAS Metadata Repository in a folder that is designated
as ReportStudio/Maps. SAS Marketing Automation information maps are typically stored in
the Marketing Automation subfolder of the Maps folder; however, now for SAS Marketing
Automation version 5.3, you can save an information map in any folder on the SAS server tier.
See also Managing Information Map Metadata in SAS Marketing Automation 5.3: User’s Guide.

What Does an Information Map Contain?

An information map specifies the basic elements of a SAS Marketing Automation data environment
(see Figure 8.2):

 Folders (an example is label 1) reorganize information into categories that are relevant to your
business. Folders in the information map appear as categories in SAS Customer Intelligence
Studio.

 Data items (label 2) provide a business representation of a physical data element. Data items
in the information map typically serve as selection criteria in SAS Customer Intelligence
Studio.

 Calculated data items (label 3) can perform predefined calculations. Calculated data items
that are created in the information map are globally available. Calculated data items that are
created within a single campaign are available for that campaign only.

 Filters (label 4) specify business rules for dividing data into subsets.

Figure 8.2 Examples of Metadata Items for an Information Map

All data items in an information map are associated with one or more subjects. This association
is usually specified at the Folder level of the information map. The values for these subjects are
displayed as Subject on the Select node in SAS Customer Intelligence Studio.
64 F Chapter 8: SAS Information Maps for Campaigns

How Are Information Maps Used in SAS Customer Intelligence?

Information maps provide access to data in SAS Marketing Automation. Information maps are
used in SAS Campaign Web Studio and SAS Customer Intelligence Studio to create selections.
Information maps are used in SAS Management Console to build export definitions. Information
maps are used in Campaign Web Studio and SAS Customer Intelligence Studio when data is exported
by using an Export node or a Communication node. Other nodes in SAS Customer Intelligence
Studio use information maps as well. When a campaign is executed by using the SAS Marketing
Automation Launcher, information maps are also used.

Who Creates Information Maps for SAS Customer Intelligence?

Information maps are typically created by IT administrators who understand the underlying data and
know how the data should be presented to business users.
When the business user creates a diagram or campaign in SAS Customer Intelligence Studio, the
user selects the business terms that were specified from the underlying information map.

Creating a SAS Information Map for SAS Marketing


Automation

Overview of Steps

After you register the locations of the physical data, you create an information map in order to make
data available to SAS Marketing Automation.
To create an information map for SAS Marketing Automation, follow these steps:

1. In SAS Information Map Studio, specify the data sources for the data items that will be
available to SAS Customer Intelligence Studio users. See also “Organizing Your Folders as
Categories” on page 66.
Overview of Steps F 65

2. Specify the table relationships on the Relationships tab to enable the retrieval of information
from multiple tables.
66 F Chapter 8: SAS Information Maps for Campaigns

See

 Working with Relationships in the Help for SAS Information Map Studio
 “Tips: Building Your Information Map” on page 67

N OTE : Table relationships are established by specifying join keys and join types.

3. Specify any custom properties (sometimes known as extended attributes) in the information
map. See “About Custom Properties for SAS Marketing Automation” on page 71.

4. Save the information map. You can store it in any folder such as the ReportStudio/Maps/
Marketing Automation folder. See also “Organizing Your Folders as Categories” on
page 66.

Organizing Your Folders as Categories

In order to present the data in a business context, organize pertinent table columns as folders. Not all
of the columns of a table are required to be added to the information map. For example, the attributes
that are used to support the data loading processes can be hidden from users by not adding those
attributes to the information map.
A folder can contain the data from one or more tables. Not all of the columns of a table have to be
contained in a single folder; organize the data in order to help the end users to perform their tasks.
These folders correspond to the Category field that is used in SAS Customer Intelligence Studio
when you are selecting a data item (see the previous display).
Tips: Building Your Information Map F 67

Tips: Building Your Information Map

Make the Names of Subjects Plural

In the Multiselect node (and the Select node) properties window of SAS Customer Intelligence
Studio, the variable for <subject> is read by the application and displayed to the user within the
labels for the check boxes. Here is an example:

Select <subject> that do not meet these criteria.


When the value for <subject> is automatically substituted, the resulting text can produce grammatical
errors. To avoid any automatically generated phrases such as Select Customer that do not meet
these criteria, type the plural of <subject>. For example, type Customers instead of Customer.

Adding a Relationship in a Cluttered Work Area

After many new data sources have been added, it will become difficult to use the “select and drag”
method to create a new relationship. When the Relationship tab becomes cluttered, use the following
method to define a new relationship:

1. After you add a data source, right-click in a blank area of the entity box and select Insert
Relationship.

2. Use the Insert Relationship dialog box to create the relationship.

Editing Entities That Are Joined with Multiple Fields

On the Relationships tab where entities are joined together using multiple fields, instead of dragging
all of the fields at the same time, drag one field, and then edit the relationship in order to add the
remaining fields.

Assign Meaningful Business Names

Replace the physical data names with more meaningful business names. In Figure 8.3, the col-
umn HoHGender is specified to be displayed as Heads of Household Gender in SAS Customer
Intelligence Studio:
68 F Chapter 8: SAS Information Maps for Campaigns

Figure 8.3 Type a meaningful name for the data item.

Use the Cancel Button to Exit More Quickly

On the Presentation tab, if you make no changes (after checking the properties of the information
map, folder, or data item), press Cancel to resume control more quickly (as opposed to selecting
OK).

Find Physical Data More Quickly

On the Presentation tab, when you are working with the physical data, close all of the open tables.
Closing all of the open tables enables you to find the data to be mapped more quickly, especially
when data sources that have many attributes exist.

Improve Performance When Generating the Counts Metadata

Eliminate the generation of the counts metadata for those data items where frequency counts are not
applicable, thereby reducing the time it takes to generate metadata in general.
Best Practice: Use a Phased Approach to Create Your Information Map F 69

Example

In this example, it is not important how many customers have the last name Smith. Save time by
setting Metadata=None for the Customer Last Name data item so the counts metadata is not
generated for this data item.
Alternatively, if you set Metadata=Values, then you enable users to view a list of last names; but
if they try to select by Customer Last Name, then the counts are queried from the database instead
of from the previously calculated counts metadata.

Best Practice: Use a Phased Approach to Create Your Information Map

Phase I: One Subject

A phased approach to creating an information map and generating its associated metadata can
simplify troubleshooting.
Create a simple information map with one of each of the following data items:

 table

 folder

 subject

 key

 other data item

Generate the counts metadata and validate it to ensure that the physical data and server infrastructure
are working as expected.

Phase II: Multiple Subjects

Continue to build the simple information map by adding tables, subjects, subject keys, and folders.
Add only one other data item to each folder. Generate metadata and validate it to ensure that table
and subject relationships are properly specified.
70 F Chapter 8: SAS Information Maps for Campaigns

Phase III: Fully Populated Map

Continue to build the information map incrementally by adding data items by folder, function, type,
or any other logical progression until the information map is fully populated. Generate the counts
metadata and validate it frequently to ensure that the physical data and server infrastructure are
working as expected.
About Custom Properties for SAS Marketing Automation F 71

About Custom Properties for SAS Marketing Automation

Overview

During the installation of SAS Information Map Studio, if you indicate that SAS Customer In-
telligence Studio will also be installed, then a file called MATemplate.txt is automatically loaded.
MATemplate.txt contains a prescribed list of custom properties that are needed to create information
maps for SAS Customer Intelligence. It also contains code that is needed to support specific func-
tionalities of the SAS Marketing Automation engine (see “Example: Adding Custom Subjects to
MATemplate.txt” on page 81).

Required Custom Properties

An information map (for SAS Customer Intelligence) that has two subjects requires the following
custom properties:

 At the information map level:

– Subject_ID_<Name1>
– Subject_ID_<Name2>
– From_Subject_ID_<Name1>_To_Subject_ID_<Name2>
– From_Subject_ID_<Name2>_To_Subject_ID_<Name1>
– MAMeta (see “Specify the MAMeta Library as a Custom Property”)
– MetadataTable_Prefix_Subject_ID_<Name1>
– MetadataTable_Prefix_Subject_ID_<Name2>
– Subject_Default

 At the data item level:

– Level
– UseInSubjectID

Specify the MAMeta Library as a Custom Property

The MAMeta library must be specified as a custom property in any SAS Information Map for SAS
Customer Intelligence.
72 F Chapter 8: SAS Information Maps for Campaigns

N OTE : Do not define the MAMeta library in Appserver_autoexec.sas; otherwise, whenever the first
stored process that is started by SAS Customer Intelligence finishes running, it closes all libraries
that are defined in the Appserver_autoexec.sas including the MAMeta library. This action prevents
SAS Customer Intelligence from accessing your marketing metadata.
To specify the MAMeta library as a custom property, follow these steps:

1. Using SAS Information Map Studio, locate and select the appropriate information map.

N OTE : Typically, your SAS Marketing Automation information maps are located in the
ReportStudio/Maps/Marketing Automation folder, but this location is no longer
required for SAS Marketing Automation 5.3 information maps.

2. In the Information Map Contents pane, right-click the information map name, and select
Properties.
Specify the MAMeta Library as a Custom Property F 73

3. Select the Custom tab and locate the MAMeta label in the table of custom properties.
N OTE : If the Custom tab is not displayed in SAS Information Map Studio, then see “Making
Custom Properties Available” on page 79.

4. Specify the appropriate path for the MAMeta information map libref in the Value column. See
also “Troubleshooting Your Information Map for SAS Customer Intelligence” on page 107.

N OTE : If the libref points to a UNIX server, then follow these steps to ensure that the correct
path is specified (because UNIX is case-sensitive):

a) In a DOS window, navigate to the directory on the UNIX server where the MAMeta
information map is located.
b) Type pwd. The full current path is returned.
c) Copy the path and paste it into the Value column.
74 F Chapter 8: SAS Information Maps for Campaigns

5. Click OK to save and close the Custom tab.

6. Verify that SAS Marketing Automation users (including the users of the saswbadm user
account) have both READ and WRITE access to the physical location of the MAMeta library.
Add Custom Properties to an Information Map: Steps F 75

Add Custom Properties to an Information Map: Steps

To add custom properties to a SAS Information Map at at the map level, folder level, or data item
level, follow these steps:

1. Open the information map in SAS Information Map Studio.

2. In the Information Map Contents pane, select the information map, folder, or data item that
you want to specify the custom properties for.

 To select an information map:

Double-click the information map name to view the Information Map Properties dialog
box that contains the Custom tab.
Click the Custom tab.
76 F Chapter 8: SAS Information Maps for Campaigns

 To select a folder:

Right-click the folder name to view the Folder Properties dialog box that contains the
Custom tab. Click the Custom tab.
 To select a data item:

Double-click the data item name to view the Data Item Properties dialog box. Select
the Custom tab (Figure 8.4).
Add Custom Properties to an Information Map: Steps F 77

Figure 8.4 The Data Item Properties Dialog Box displays the Custom tab on the left.

Continue to follow these steps from the Information Map Properties, Folder Properties, or
Data Item Properties dialog box:

3. If an Untitled1 row is not already displayed, then click Add to create a new row. Otherwise,
click in the right side of the Untitled1 cell to view the drop-down list of custom properties
that are available for SAS Marketing Automation, and select a custom property.
78 F Chapter 8: SAS Information Maps for Campaigns

Figure 8.5 The Custom Properties That are Available at the Information Map Level

4. Complete any partial data items that you select by referring to “Custom Properties (Map
Level)” on page 84. To enter text in a cell, double-click in the cell.

5. After you enter Name, (optional) Description, and Value for a new custom property, before
clicking OK to save any changes that you make to that row, click within a header cell (such as
“Value”) to remove the highlighting from the new row. N OTE : If you click OK while any part
of a row is highlighted, then the changes in that row will not be saved.

6. Add the custom properties that are required for the map level as specified by “Custom
Properties (Map Level)” on page 84.

7. To exit and save the new custom properties, click a heading cell or an existing row to remove
the highlighting from any attribute, and then click OK.
Making Custom Properties Available F 79

Making Custom Properties Available

Overview of the MATemplate.txt File

The MATemplate.txt file enables you to specify the valid values for properties for an information map,
its folders, and its data items. These are all elements that might be used in an information map that is
created for SAS Customer Intelligence Studio users. These values determine what choices the SAS
Customer Intelligence Studio users see in their Select node properties.
When you add or edit a custom property (for SAS Customer Intelligence) in SAS Information Map
Studio, SAS Information Map Studio displays a drop-down list of items (see label 3 in Figure 8.6)
that is read from MATemplate.txt.
Although MATemplate.txt is typically activated during the installation process, if you do not see
the Custom tab in any Information Map Properties dialog box of a selected SAS Marketing
Automation information map, then you still need to activate the MATemplate.txt file by making custom
properties available.

Make Custom Properties Available: Steps

1. In SAS Information Map Studio, select Tools IOptions from the menu bar.

2. On the Advanced tab of the Options dialog box, select the Custom properties at start-up
check box.

3. Specify the MATemplate.txt file by browsing for a location such as this on the SAS Server tier:
C:\_Program Files\_SAS\_CustomerIntelligenceStudio\_5.3.

4. Click OK to close the Options dialog box.

5. Restart SAS Information Map Studio to apply the new setting.

Verify That Custom Properties are Available

To verify that the custom properties for editing a SAS Marketing Automation information map are
available in SAS Information Map Studio, follow these steps:

1. In SAS Information Map Studio, open an information map for SAS Marketing Automation.

2. On the Design tab, in the Information Map Contents pane, double-click an information map,
folder, or specific data item. In Figure 8.6, Gender (label 1) is the selected data item.

3. In the Information Map Properties dialog box that appears, if the Custom option (label 2)
is displayed, then MATemplate.txt is successfully activated.

4. Click in a row beneath the Name column. The drop-down list (label 3) contains items that
SAS Information Map Studio reads from MATemplate.txt.
80 F Chapter 8: SAS Information Maps for Campaigns

Figure 8.6 Custom Properties for a Selected Data Item

Customize Subject_ID in MATemplate.txt

The following example demonstrates how you might modify MATemplate.txt in order to specify the
drop-down list of subjects on the Custom tab in SAS Information Map Studio.
Any modification that you make to MATemplate.txt will be overwritten by an upgrade of SAS
Marketing Automation software. Therefore, if you want to retain your modified MATemplate.txt file,
then save a copy of it in a safe location in order to replace the new default template file.
N OTE : If you modify a custom property in MATemplate.txt, the change will not affect any previously
created information maps, but will affect only the new information maps that are created for SAS
Customer Intelligence. However, if you specify a new value (such as an Option value) for an existing
custom property in MATemplate.txt, then the new value is displayed in the drop-down list of possible
values for the custom property.
Making Custom Properties Available F 81

Example: Adding Custom Subjects to MATemplate.txt

In this example, search for instances of the following code:

<Option Value="Subject_ID_">

Replace each instance of the code in MATemplate.txt with the following code:

<Option Value="Subject_ID_Customer"/>
<Option Value="Subject_ID_Household"/>
<Option Value="Subject_ID_Account"/>

The previous code produces a list of values in the drop-down list that will ensure that users make
fewer typographical errors.
In the default MATemplate.txt file code that follows, the code line to replace (for the example) is
preceded by asterisks (****). The asterisks are not part of the code, but are added in this guide to
enable you to quickly find all of the locations of this code line within the template.

<ExtendedAttributesTemplate>
<InformationMap EditablePicklist="True">
<Item Key="MAMeta" EditablePicklist="True">
<Option Value="Libname MAMeta "/>
</Item>
<Item Key="Subject_Default" EditablePicklist="True">
<Option Value="Subject_ID_"/>
</Item>
<Item Key="Subject_ID_"/>
<Item Key="From_Subject_ID_?_To_Subject_ID_?" EditablePicklist="False">
<Option Value="OneToOne"/>
<Option Value="OneToMany"/>
<Option Value="ManyToOne"/>
<Option Value="ManyToMany"/>
</Item>
82 F Chapter 8: SAS Information Maps for Campaigns

<Item Key="MetadataTable_Prefix_Subject_ID_"/>
<Item Key="Subject_Code_Subject_ID_"/>
<OptionalItem Key="CreateMetadataTable2" DefaultValue="False"
EditablePicklist="False">
<Option Value="True"/>
<Option Value="False"/>
</OptionalItem>
<OptionalItem Key="MaxVariableColumnWidth" DefaultValue="40"/>
<OptionalItem Key="MaxValueColumnWidth" DefaultValue="200"/>
<OptionalItem Key="Verbose" DefaultValue="False" EditablePicklist="False">
<Option Value="True"/>
<Option Value="False"/>
</OptionalItem>
<OptionalItem Key="DiscreteSql" DefaultValue="SP" EditablePicklist="False">
<Option Value="IQ"/>
<Option Value="SP"/>
</OptionalItem>
<OptionalItem Key="Metadata" DefaultValue="Counts" EditablePicklist="False">
<Option Value="Counts"/>
<Option Value="Values"/>
<Option Value="None"/>
</OptionalItem>
</InformationMap>
<Folders EditablePicklist="True">
<Item Key="Subject_ID_">
**** <Option Value="Subject_ID_"/>
</Item>
<OptionalItem Key="Histogram_NumBins" DefaultValue="64"/>
<OptionalItem Key="Histogram_DisplayNumBins" DefaultValue="16"/>
<OptionalItem Key="Metadata" DefaultValue="Counts" EditablePicklist="False">
<Option Value="Counts"/>
<Option Value="Values"/>
<Option Value="None"/>
</OptionalItem>
</Folders>
<DataItems EditablePicklist="True">
<Item Key="Level" EditablePicklist="False">
<Option Value="Id"/>
<Option Value="Nominal"/>
<Option Value="Interval"/>
<Option Value="Binary"/>
<Option Value="Ordinal"/>
<Option Value="Unary"/>
</Item>
<OptionalItem Key="UseInReports" DefaultValue="False" EditablePicklist="False">
<Option Value="True"/>
<Option Value="False"/>
</OptionalItem>
<OptionalItem Key="UseInCluster" DefaultValue="False" EditablePicklist="False">
<Option Value="True"/>
<Option Value="False"/>
</OptionalItem>
<OptionalItem Key="UseInSubjectId" DefaultValue="Subject_ID_"
EditablePicklist="True">
Making Custom Properties Available F 83

**** <Option Value="Subject_ID_"/>


</OptionalItem>
<OptionalItem Key="UseInSubjectIdTop" DefaultValue="Subject_ID_"
EditablePicklist="True">
**** <Option Value="Subject_ID_"/>
<OptionalItem Key="IsFilterItem" DefaultValue="False" EditablePicklist="False">
<Option Value="True"/>
<Option Value="False"/>
</OptionalItem>
<OptionalItem Key="Precision"/>
<OptionalItem Key="VarUsedWithFilter"/>
<OptionalItem Key="Histogram_NumBins" DefaultValue="16"/>
<OptionalItem Key="Histogram_DisplayNumBins" DefaultValue="16"/>
<OptionalItem Key="Histogram_Start"/>
<OptionalItem Key="Histogram_Increment"/>
<OptionalItem Key="Contact_History" DefaultValue="Subject_ID_"
EditablePicklist="True">
**** <Option Value="Subject_ID_"/>
</OptionalItem>
<OptionalItem Key="Responses" DefaultValue="Subject_ID_" EditablePicklist="True">
**** <Option Value="Subject_ID_"/>
</OptionalItem>
<OptionalItem Key="NoMetadata" DefaultValue="False" EditablePicklist="False">
<Option Value="True"/>
<Option Value="False"/>
</OptionalItem>
<OptionalItem Key="AllowBlankValue" DefaultValue="False" EditablePicklist="False">
<Option Value="True"/>
<Option Value="False"/>
</OptionalItem>
<OptionalItem Key="OutputColumnName"/>
<OptionalItem Key="Metadata" DefaultValue="Counts" EditablePicklist="False">
<Option Value="Counts"/>
<Option Value="Values"/>
<Option Value="None"/>
</OptionalItem>
<OptionalItem Key="UseInOptimization" DefaultValue="Subject_ID_"
EditablePicklist="True">
**** <Option Value="Subject_ID_"/>
</OptionalItem>
<OptionalItem Key="Identifier"/>
</DataItems>
<FilterItems EditablePicklist="True">
</FilterItems>
<Relationships EditablePicklist="True">
</Relationships>
</ExtendedAttributesTemplate>

Verify that the list of subjects is correctly displayed by following the steps in “Verify That Custom
Properties are Available” on page 79.
84 F Chapter 8: SAS Information Maps for Campaigns

Custom Properties (Map Level)

In the example values in the following table, the two subjects are 'Customer' and 'Household'.
The extended attributes (for a SAS Marketing Automation information map) that are related to
subject are in the following table:

Table 8.1 Custom Properties (Map Level) That Are Related to Subject
Label Description Example Value Required? Default
Value
FilteredTableExport affects the refinement of export behav- True no -
ior. If FilteredTableExport is set to True,
then when a subject is specified to be
exported, at least one line for every sub-
ject is exported. If FilteredtableExport
is set to False, then the export behavior
from SAS Marketing Automation 4.4 is
maintained.
From_Subject_ID_ is defined for each relationship between From_Subject_ID_Customer_ yes -
subjectname1_ the valid subjects on the source tables. To_Subject_ID_Household=
To_Subject_ID_ An entry is necessary for each direction ManyToOne
subjectname2 of the relationship. These are valid rela-
tionships: From_Subject_ID_Household_
 OneToOne To_Subject_ID_Customer=
OneToMany
 OneToMany
 ManyToOne
 ManyToMany*
* not recommended because if the cells or lists
of customers are created, then any duplicates are
deleted.

MetadataTable_Prefix_ is the prefix name for the SAS data Customer yes -
Subject_ID_subjectname sets that contain the generated data (the
(for example, counts metadata) and for the data items
MetadataTable_Prefix_ that do not have the NoMetadata ex-
Subject_ID_Customer) tended attribute set to False. Only one
extended attribute per subject should ex-
ist.
Subject_Code_Subject_ID__ associates a two-digit code with a subject. Subject_Code_Subject_ID__ yes -
subjectname Only one extended attribute per subject Customer = 01
should exist. This code is encoded as part
of the ResponseTrackingCode that is a
mandatory column to be passed to SAS
Customer Intelligence Common Services.
This code enables SAS Customer Intel-
ligence Common Services to determine
which subject table to write the contact
responses and the presented treatment
rows to.
Subject_Default is the default subject extended attribute to Subject_ID_Customer yes -
be used throughout the information map
for any data items where an associated
subject extended attribute has not been
explicitly set.
Custom Properties (Map Level) F 85

Subject_ID_subjectname is established for each subject as a unique Customer yes -


(for example, extended attribute. Only one such ex-
Subject_ID_Customer) tended attribute exists per subject. This
subjectname is used in many places for
other extended attribute values.
The value appears in the Subject drop-
down list in the Select Data Item dialog
box in SAS Customer Intelligence Stu-
dio. The actual physical data field name
that makes up this subject is defined at
the data item level.

Example: Specifying Custom Properties at the Map Level


86 F Chapter 8: SAS Information Maps for Campaigns

Custom Properties (Folder Level)

Table 8.2 Custom Properties (Folder Level) That Are Related to Subject
Label Description Example Value Required? Default
Value
Subject_ID_x is a shortcut that defines the subject attribute of this data Subject_ID_Customer no -
item as this value for all of the data items in this folder, un-
(for example, less otherwise specified. Each Subject_ID_x label defines
Subject_ID_1) a valid subject for selection rules when a user selects data
items in this folder. The value must correspond to a subject
extended attribute name that was defined at the information
map level. More than one of these extended attributes can
be defined in a folder, by incrementing the number.

In a Select node (in SAS Customer Intelligence Studio),


the user chooses a category (folder) and a subject. Then
the user selects the data items in the corresponding folder
that has the chosen subject as a value of one of these Sub-
ject_ID_x extended attributes at either the folder level or
data item level.

If Subject_ID_1 is not set for either a given data item or


parent folder, then the subject default value that is set at the
Information Map level is assumed. For example, if for the
data item Account Balance (or for the folder that Account
Balance is in), Subject_ID_1 = Subject_ID_Customer and
Subject_ID_2 = Subject_ID_Account, then Account Bal-
ance can be selected only if the user’s chosen subject is
either Customer or Account.
Custom Properties (Folder Level) F 87

Example: Specifying Custom Properties at the Folder Level


88 F Chapter 8: SAS Information Maps for Campaigns

Custom Properties (Data Item Level)

Table 8.3 Custom Properties (Data Item Level) That Are Related to Subject
Label Description Example Value Required? Default
Value
Contact_History identifies the table in which contact history records Subject_ID_Customer yes for -
will be added for the specified subject. The contact one data
history property is used by SAS Customer Intelli- item
gence Studio in order to direct new contact history derived
records to the contact history table. from each
contact
Also, the underlying physical column name or names history
of the data items that have UseInSubjectID equal to table
this value are the physical column name or names of
the subject on Contact History. This attribute should
be set once per subject.
ExportIgnoresRe- (new) affects the refinement of export behavior. If True No -
finement ExportIgnoresRefinement is set to True for a data
item, then the data item ignores any refinement that
has been added. This extended attribute is useful for
aggregated items.
Presented_Treatments specifies that, for the specified subject, the presented Subject_ID_Customer yes for -
treatment will be stored in the table that contains one data
this data item. This attribute should be set once per item
subject.
Responses identifies the table in which the responses are stored Subject_ID_Customer yes for -
for the specified subject. The Responses property is one data
used by SAS Customer Intelligence Studio in order item
to fetch the appropriate response records from the derived
response table for the response node. from each
response
Also, the underlying physical column names of the table
data items that have UseInSubjectID equal to this
value are the physical column name or names of the
subject on responses. This attribute should be set
once per subject.
Custom Properties (Data Item Level) F 89

UseInSubjectID is set only for the data items that are derived from Subject_ID_Customer yes for -
primary keys of a primary subject table. The value data items
that is specified here is the Subject_ID_x extended from the
attribute value that is assigned for this subject ta- primary
ble at the information map level. For example, if key of the
this extended attribute is on data item Customer ID subject
whose underlying physical column name is CUST- tables
TABLE.CUST_ID, then this extended attribute de-
fines the physical column as CUSTTABLE.CUST_ID
for subject Subject_ID_Customer.

If two physical fields make up a single subject, then a


UseInSubjectID extended attribute exists for both of
the data items that are associated with those fields.
Only one (or one set) of these attributes for each sub-
ject that is represented in the information map should
exist. It does not matter which folder the data item
with this attribute is in; it will be the physical subject
column or columns that are derived for all data items
in the information map that is associated with that
subject. The field name and type are used to generate
the holding table when the selections are made at this
subject level.
90 F Chapter 8: SAS Information Maps for Campaigns

Example: Specifying Custom Properties at the Data Item Level


All Custom Properties for SAS Marketing Automation Information Maps F 91

All Custom Properties for SAS Marketing Automation Information Maps

The extended attributes in a SAS Marketing Automation information map describe settings for the
following levels:

Map The custom properties (for information maps) typically describe


the metadata and define the subjects in an information map. Subject
properties specify either a default subject or valid subjects for
selection rules, and specify the relationship between valid subjects
of selection rules. Metadata properties specify the location for the
metadata tables, the names for tables, and the metadata column
widths.

Folder The custom properties for folders specify valid subjects for selection
rules, and specify the details about histograms.

Data Item The custom properties for data items define the supported data
types, the creation of primary keys and multi-keys, and the location
of contact history and response tables for each subject.

Each of the following tables includes all of the extended attributes for SAS Marketing Automation
information maps at the map level, folder level, and data item level, respectively.
92 F Chapter 8: SAS Information Maps for Campaigns

Table 8.5 Map Level: All Custom Properties


Label Description Example Value Required? Default
Value
Count(*) Use this attribute to specify whether to True no True
use a select count(*) to get a count for False
the query. The default value uses select
count(*) to obtain a row count for the
query instead of using a JDBC method
to obtain a row count.

C AUTION : This attribute is designed to


be used only for performance testing, and
should not be used in the production en-
vironment.
CreateMetadataTable2 If this attribute is set to True, then the True no False
suffix 2 is added to each generated ta- False
ble name. The tables are created in the
library that is defined by the MAMeta
library reference.
DiscreteSql is used to specify the SQL method to use DiscreteSql = [SP] no SP
in order to generate discrete (NUM and SP: use a stored process
CHAR) metadata.
DiscreteSql = [IQ]
IQ: use Iquery (JDBC)
FilteredTableExport (new) affects the refinement of export be- True no -
havior. If FilteredTableExport is set to
True, then when a subject is specified to
be exported, at least one line for every
subject is exported. If FilteredtableEx-
port is set to False, then the export behav-
ior from SAS Marketing Automation 4.4
is maintained.
From_Subject_ID_ is defined for each relationship between From_Subject_ID_Customer_ yes -
subjectname1_ the valid subjects on the source tables. To_Subject_ID_Household=
To_Subject_ID_ An entry is necessary for each direction ManyToOne
subjectname2 of the relationship. These are valid rela-
tionships: From_Subject_ID_Household_
 OneToOne To_Subject_ID_Customer=
OneToMany
 OneToMany
 ManyToOne
 ManyToMany*
* not recommended for this reason: if the cells or
lists of customers are created, then any duplicates
are deleted.
IDListSeparator overwrites the default separator (<>) for —- no <>
the IDList parameter that is passed into ++++
the stored process in the case where
****
the data item ID also contains this pat-
tern. This value is used by the metacount
stored process.
MAMeta specifies a libref for the location of the LIBNAME MAMeta yes -
metadata tables. 'C:\mameta\
MAInformationMap';
All Custom Properties for SAS Marketing Automation Information Maps F 93

MaxItemsForInQuery converts ITEM IN(...) queries with > N 1000 (for ORACLE) no 0
items:
SELECT ITEM IN(...< N) UNION
SELECT ITEM IN(...< N)
N OTE : Use this attribute to override the specifica-
tion that is imposed by a database (such as ORA-
CLE) that limits the number of items in a list.

MaxProcSummary specifies discrete (NUM and CHAR) 20 no 50


variable metadata. MAxProcSummary
specifies the maximum number of vari-
ables to process within one execution
of PROC SUMMARY. By reducing the
number of variables, you can reduce
memory requirements.
MaxValueColumnWidth A numeric attribute that defines the width 100 no 200
of the metadata columns Value and For-
mattedValue in each metadata table.
MaxVariableColumnWidth A numeric attribute that defines the width 100 no 40
of the metadata column Variable in each
metadata table.
Metadata Metadata = [Values | Counts | None] Values no Counts
Values: distinct values only. Counts
Counts: default (distinct values and None
counts).
None: equivalent to NoMetadata=True.
The Values argument is for discrete vari-
ables only.
The Metadata extended attribute can be
propagated from upper level to lower
level. For example, if you specify Meta-
data = x at the map level, then all of the
folders will inherit this setting unless a
folder also has its own Metadata = y at-
tribute that overrides the x setting.
MetadataTable_Prefix_ specifies the prefix name for the SAS Customer yes -
Subject_ID_subjectname data sets that contain the generated data
(for example, (the counts metadata) and for the data
MetadataTable_Prefix_ items that do not have the NoMetadata
Subject_ID_Customer) extended attribute set to False. Only one
extended attribute per subject should ex-
ist.
Subject_Code_Subject_ID__ associates a two-digit code with a 01 yes -
subjectname subject. Only one extended attribute per
subject should exist.
For example,
Subject_Code_Subject_ID_Customer=01

Subject_Code_Subject_ID_Account=02
Subject_Default is the default subject extended attribute to Subject_ID_Customer yes -
be used throughout the information map
for any data items where an associated
subject extended attribute has not been
explicitly set.
94 F Chapter 8: SAS Information Maps for Campaigns

Subject_ID_subjectname is a unique extended attribute that ex- Customer yes -


(for example, ists for each subject. The subjectname is
Subject_ID_Customer) used in many places for other extended
attribute values.
The value appears in the Subject drop-
down list in the Select Data Item dialog
box in SAS Customer Intelligence Stu-
dio.

The actual physical data field name or


names that make up this subject are de-
fined at the data item level.
Verbose If this extended attribute is set to True, True no False
then the extended attributes for the map, False
folder, and data items are output to the
log files of the middle tier.
These extended attributes can also be re-
viewed in the SAS Customer Intelligence
plug-in for SAS Management Console,
in the Administration folder by view-
ing the Information Map details on the
Diagnostics tab.
All Custom Properties for SAS Marketing Automation Information Maps F 95

Table 8.6 Folder Level: All Custom Properties


Label Description Example Value Required? Default
Value
Histogram_Display- defines the number of intervals used in the histogram in the 8 no If Histogram
NumBins Select Data Item dialog box in SAS Customer Intelligence _NumBins
is 64, then
Studio. Unless specified at the data item level, this value the default
applies to all Interval level data items within the folder. value is 16.

Histogram_NumBins defines the number of bins to be used by the histogram 32 no 16


stored process in order to support the histogram display of
interval data items. Interval data items are specified in the
Select Data Item dialog box in SAS Customer Intelligence
Studio.

The value for this attribute is required to be an even power


of 2 (for example, 16 is an acceptable value because 16 is
equal to 2 to the 4th power). This value applies to all of the
interval level data items within the folder, unless the value
is specified at the data item level.

N OTE : The default value of 64 was changed to 16 in both


SAS Marketing Automation 4.4 and 5.1.
Metadata Metadata = [Values | Counts | None] Values no Counts
Values: distinct values (discrete variables only). Counts
Counts: default (distinct values and counts). None
None: equivalent to NoMetadata=True.

This extended attribute can be propagated from upper level


to lower level. For example, if you specify Metadata =
Counts at the map level, then all of the folders inherit this
setting unless an attribute (such as Values) for a folder has
been specified. In this example, the folder attribute (Values)
overrides the setting of the map level (Counts).
Subject_ID_x is a shortcut to define that for all of the data items in this Subject_ID_Customer no -
(for example, folder, unless otherwise specified, the data item’s subject
Subject_ID_1) attribute is this value. Each Subject_ID_x defines a valid
subject for selection rules when a user selects data items in
this folder. The value must correspond to a subject extended
attribute name that is defined at the information map level.
More than one of these extended attributes can be defined
in a folder, by incrementing the number.

In a Select node (in SAS Customer Intelligence Studio), the


user chooses a category (folder) and a subject. Then the
user selects the corresponding folder that has the chosen
subject as a value of one of these Subject_ID_x extended
attributes at either the folder level or data item level.

If Subject_ID_1 is not set for either a given data item


or the parent folder, then the Subject Default that is
set at the Information Map level is assumed. For ex-
ample, if Subject_ID_1=Subject_ID_Customer and Sub-
ject_ID_2=Subject_ID_Account are specified for the data
item Account Balance (or the folder that Account Balance
is in), then Account Balance can be selected only if the
user’s chosen subject is either Customer or Account.
96 F Chapter 8: SAS Information Maps for Campaigns

Table 8.7 Data Item Level: All Custom Properties


Label Description Example Value Required? Default
Value
AllowBlankValue specifies that a blank value is allowed to be used as a distinct True no False
value when this attribute is set to true. False

N OTE : Set this attribute to True for a Teradata database (or


any database that is not configured to allow blank values).
Contact_History identifies the table in which contact history records will be Subject_ID_Customer yes for 1 -
added for the specified subject. The contact history prop- data item
erty is used by SAS Customer Intelligence Studio in order derived
to direct new contact history records to the contact history from each
table. contact
history
Also, the underlying physical column name or names of the table
data items that have UseInSubjectID equal to this value are
the physical column name or names of the subject on Con-
tact History. This attribute should be set once per subject.
ExportIgnoresRe- (new) affects the refinement of export behavior. If Expor- True No -
finement tIgnoresRefinement is set to True for a data item, then the
data item ignores any refinement that has been added. This
extended attribute is useful for aggregated items.
Histogram_Display- defines the number of intervals that are used in the his- 8 no If Histogram
NumBins togram in the Select Data Item dialog box in SAS Cus- _NumBins
is 64, then
tomer Intelligence Studio. Unless specified at the data item the default
level, this value applies to all interval level data items within value is 16.
the folder.
Histogram_Increment specifies the increment value for the histogram stored pro- 1 no -
cess.
Histogram_NumBins defines the number of bins to be used by the histogram 32 no 16
stored process in order to support the histogram display of
interval data items. Interval data items are specified in the
Select Data Item dialog box in SAS Customer Intelligence
Studio. The value for this attribute is required to be an even
power of 2 (for example, 16 is an acceptable value because
16 is equal to 2 to the 4th power). This value applies to all
of the interval level data items within the folder, unless the
value is specified at the data item level.
N OTE : The default value of 64 was changed to 16 in both
SAS Marketing Automation 4.4 and 5.1.
Histogram_Start specifies the start value for the histogram stored process. 1 no -
Identifier specifies a string that is entered by a user. - no -
IsFilterItem specifies whether the corresponding data item is a filter item True no False
that will be applied in the WHERE clause. False
All Custom Properties for SAS Marketing Automation Information Maps F 97

Level specifies the level of value to be assigned to the data item. Nominal yes -
You can assign the following levels to a data item:
 ID
 Unary
 Binary
 Nominal
 Interval
 Ordinal

N OTE : Data items that are set to Level=ID are not used in
SAS Customer Intelligence Studio.

See “Definitions of the Levels of Data Items” on page 99 for


the definition of each valid level of data item. See Figure 8.7
for valid combinations of Level with data type.
Metadata Metadata = [Values | Counts | None] Values no Counts
Values: distinct values only. Counts
Counts: default (distinct values and counts). None
None: equivalent to NoMetadata=True.

Values is for discrete variables only.


The Metadata extended attribute can be propagated from
upper level to lower level. For example, if you specify
Metadata = x at the map level, then all of the folders will
inherit this setting unless a folder also has its own Metadata
= y attribute that overrides the x setting.
NoMetadata specifies whether a discrete list of values should be gener- True no False
ated in the metadata. If a data item whose level is nominal
has many distinct values (for example, 1,000) to be gener-
ated for the metadata tables, then performance will degrade.

N OTE : If you use NoMetadata, then the user must specify values manually
in order to use the data item for selections. Values are case sensitive and
must be enclosed in quotation marks for data items that are specified by
character table columns.

To prevent poor performance for nominal data items that have too many
unique values, specify NoMetadata=True.

OutputColumnName specifies the column name that replaces the physical column You can use any valid no -
name that is used in the internally generated SQL query column name.
when this data item is selected for processing.
Precision specifies the precision for the interval variable 100 no 1
Presented_Treatments specifies that the table containing this data item is where Subject_ID_Customer yes for 1 -
the presented treatment is stored for the specified subject. data item
from each
This attribute should be set once per Subject_ID. presented
treatment
table

Responses identifies the table in which the responses will be stored Subject_ID_Customer yes for -
for the specified subject. The Responses property is used one data
by SAS Customer Intelligence Studio in order to fetch the item
appropriate response records from the response table for derived
the response node. from each
response
Also, the underlying physical column name or names of table
the data items that have UseInSubjectID equal to this value
are the physical column name or names of the subject on
responses. This attribute should be set once per subject.
98 F Chapter 8: SAS Information Maps for Campaigns

UseInCluster specifies whether this data item will be used in the Cluster True no False
node. These are the valid values:
 True
 False
Nominal and ordinal data items are clustered separately
from interval data items. If any nominal or ordinal data
items have UseInCluster set to True, then at least three nom-
inal/ordinal data items with the UseInCluster attribute set
to True must exist.

At least three interval data items with UseInCluster set to


True must exist if any interval data items have UseInCluster
set to True.

To improve performance, do not cluster any nominal or or-


dinal data items with many values. Limit the data items that
you cluster to those data items that are the most meaningful
to cluster.
UseInOptimization specifies whether the data item will be used in an optimiza- Subject_ID_Customer no -
tion of the subject ID. The valid value is the subject ID.
UseInReports specifies whether the data item will appear in reports that True no False
are generated by the Report node. These are valid values:
 True
 False

UseInSubject- is the same as UseInSubjectID, except that it also specifies Subject_ID_ no -


IDTop the order of this data item to be placed ahead of the other Arrangement
multi-part keys.
UseInSubjectID is set only for the data items that are derived from primary Subject_ID_ yes for -
keys of a primary subject table. The value that is speci- Customer data items
fied here is the Subject_ID_x extended attribute value that from the
is assigned for this subject table at the information map primary
level. For example, if this extended attribute is on data item key of the
Customer ID whose underlying physical column name is subject
CUSTTABLE.CUST_ID, then this extended attribute de- tables
fines that for subject Subject_ID_Customer, the physical
column is CUSTTABLE.CUST_ID.

If two physical fields make up a single subject, then a UseIn-


SubjectID extended attribute would exist for both of the
data items that are associated with those fields.

Only one (or one set) of these attributes for each subject that
is represented in the information map should exist. It does
not matter which folder the data item with this attribute is
in; it will be the physical subject column or columns that
are derived for all data items in the information map that is
associated with that subject. The field name and type are
used to generate the holding table when the selections are
made at this subject level.
VarUsedWithFilter Specifies the data item name to be used together with a Customer Model no -
filter item. Score No
N OTE : Only a Numeric Interval data item is a valid entry.
Definitions of the Levels of Data Items F 99

Definitions of the Levels of Data Items

You can assign a data item to one of the following levels:

Table 8.8 Definitions of the Levels of Data Items


Level Value Definition Character Numeric Date
ID identifies the data, but is not yes yes yes
used in analysis.
Unary has one distinct value, includ- yes yes no
ing missing
Binary has two distinct values, includ- yes yes no
ing missing.
Nominal has distinct values, but has no yes yes no
order (such as gender or mari-
tal status), including missing.
Interval has many values, including in- no yes yes
finite.
Ordinal has distinct ordered values, yes yes no
such as income brackets, age
groups, or scores.
100 F Chapter 8: SAS Information Maps for Campaigns

The following display provides the valid combinations of the Level attribute with data type. Classifi-
cation refers to how the data item is classified in SAS Information Map Studio.

Figure 8.7 Valid Data Type and Level Combinations

Understanding the Counts Metadata for SAS Customer


Intelligence

What Is the Counts Metadata?

The counts metadata is metadata that is specifically generated for SAS Customer Intelligence Studio
views, and is distinct from the SAS metadata in the SAS Metadata Repository. The counts metadata
is typically a list of values and a count of how often each value occurs in the database. Occasionally
the counts metadata is composed of a list of how many values fall into each of a set number of
sub-intervals, depending on the type of level selected for the particular data item.
A counts metadata value is read from a library reference (libref) of a SAS Marketing Automation
information map. A counts metadata value is displayed within the Select node of a SAS Customer
Intelligence Studio diagram (see the following display).
Generating the Counts Metadata F 101

Figure 8.8 A Counts Metatadata Value (Circled) in a Diagram in SAS Customer Intelligence Studio

Descriptions of the Counts Metadata Tables

The counts metadata is stored a series of SAS tables stored in the location that is defined by the
MAMeta extended attribute at the map level. These are the metadata tables:

subjectcharcounts is a list of character data items and the associated counts by subject.
subjectnumcounts is a list of numeric data items and the associated counts by subject.
subjecthistocounts contains information that is used to generate histograms for numeric
data items by subject.
subjectdatehistocounts information that is used to generate histograms for the date data
items by subject.
univariatestats min, max, mean, and standard deviation for interval variables.
This attribute must be updated before you update either sub-
jecthistocounts or subjectdatehistocounts.
physicalmapping variable and physical reference data that is based on the information
map. Must be updated before updating any of the other tables in
this list.

For the first four metadata tables in the previous list, one table per subject exists. Metadata is
generated only for items whose subject is set at the folder level. For example, for a folder that does
not have a Subject_ID_x specified for the household subject, no metadata will be generated for any
data item in the folder at the household level.

Generating the Counts Metadata

Generate the Counts Metadata

You generate the counts metadata by using the SAS Customer Intelligence Plug-ins for SAS Man-
agement Console. First, add the information map (that you created for SAS Customer Intelligence
Studio users) by following these steps:

1. The navigation tree in SAS Management Console displays the plug-ins in two main categories,
Environment Management and Application Management. To access the SAS Customer In-
telligence plug-ins, expand the Customer Intelligence branch in the Application Management
folder.
102 F Chapter 8: SAS Information Maps for Campaigns

2. Expand Administration Resources.

3. Right-click Information Map Metadata, and select New Information Map Metadata from
the drop-down menu. The Information Map Metadata dialog box appears.

4. Specify the following information:


 Name is the name of the information map that is displayed in SAS Management Console.
 Description is optional.
 Folder is the sub-folder or folders where the information map is located.
 Information map is the name of the information map that is displayed in SAS Informa-
tion Map Studio.
 Select tables to update enables you to specify the types of metadata that you want to
generate.
 Metadata generation method is the method that you want to use in order to generate
the counts metadata (see also “When to Use PROC SQL to Generate Metadata” on
page 105).
 Create tables enables you either to generate metadata now, or on a date that is specified
by a schedule manager such as LSF.
 Clear metadata cache clears the metadata cache when the metadata count tables are
updated, and replaces the existing metadata counts with new counts.
 Click OK.
Generating the Counts Metadata F 103

When Should the Counts Metadata Be Generated?

Generate or update the counts metadata in any of the following circumstances:

 The underlying data changes to ensure that all the possible values are available for use.

 A new folder is added to the information map.

 A new subject is added to a folder.

 New data items are added to the information map.

 Data item attributes that require support by the metadata are changed.

Update the Counts Metadata - Method 1

After the counts metadata has been generated, whenever the Information Map Metadata item
is selected, the information map appears in the Information Map list. To update metadata for an
information map for SAS Customer Intelligence, follow these steps:

1. Access the SAS Customer Intelligence plug-ins by expanding the Customer Intelligence branch
in the Application Management folder in SAS Management Console.

2. Select Information Map Metadata in order to display all the information maps from the SAS
Metadata Repository for which metadata has been generated (Figure 8.9).
104 F Chapter 8: SAS Information Maps for Campaigns

Figure 8.9 Selecting an Information Map for SAS Customer Intelligence in SAS Management
Console

3. Right-click the information map (either in the Folder column or the Information Map
column) for which you want to generate the counts metadata.

4. Select Properties to display the Information Map Metadata dialog box. Any tables for
which metadata was previously generated will still be checked. If necessary, select (or clear)
the tables for which you want to update the counts metadata.

5. Select the metadata generation method (SQL or SAS SUMMARY) that you want to use to
generate the counts metadata (see also “When to Use PROC SQL to Generate Metadata” on
page 105).

6. For Create tables, decide whether to generate metadata now, or on a date that is specified by
a schedule manager such as LSF.

7. Select Clear metadata cache to clear the metadata cache when the metadata count tables are
updated, and to replace the existing metadata counts with new counts.

8. Click OK.
Generating the Counts Metadata F 105

Update the Counts Metadata - Method 2

You can also manually update the counts metadata tables by using the custom property CreateMeta-
dataTable2 on the information map level. When you set this custom property to True, the generated
metadata tables (from the underlying information map) are renamed by appending a 2 to the table
names. For example, customercharcounts.sas7bdat is renamed customercharcounts2.sas7bdat. Then in
order to update the old metadata tables, replace the contents of the original tables with the files that
are appended with a 2, and then clear the metadata cache (see “When to Enable the Clear Metadata
Cache Option” on page 106 for details).

When to Use PROC SQL to Generate Metadata

If the information map is not complex, but the underlying data is very large, then generate the
metadata by using the SAS SQL procedure (PROC SQL). In the PROC SQL method, an SQL query
is streamed to the SAS procedure as XML, which then generates the counts for discrete variables
and the bin ranges for the histogram variables.

Accessing the Tables of the Counts Metadata

If an information map has three subjects, (such as household, customer, and account), the resulting
metadata is contained in these tables:

 accountcharcounts

 accountdatehistocounts

 accounthistocounts

 customercharchounts

 customerdatehistocounts

 customerhistocounts

 customernumcounts

 householddatehistocounts

 householdhistocounts

 householdnumcounts

 physicalmapping

 univariatestats

The data that are contained in these tables can be accessed like any other SAS table. For example,
you can use the following SAS code to check the data item variable:
106 F Chapter 8: SAS Information Maps for Campaigns

LIBNAME MAMETA '\\machinename\SAS\MA\Data\MAMeta';


proc sql;
select * from MAMeta.customercharcounts
where Variable='Gender';
quit;

When to Enable the Clear Metadata Cache Option

In some environments, the counts are stored in a separate set of tables. The tables are copied into the
Marketing Automation metadata library. The Marketing Automation engine (the computational heart
of the solution that is installed on either WebLogic, WebSphere, or JBoss), however, keeps a copy of
those tables in memory. When you make changes to the SAS Marketing Automation metadata tables,
the SAS Marketing Automation engine will not recognize and update it. Users will not see the new
values of the counts metadata in the diagrams in SAS Customer Intelligence Studio.
To force the Marketing Automation engine to recognize the new values that you place in the SAS
Marketing Automation counts metadata tables, perform the following steps:

1. In SAS Information Map Studio, expand the navigation tree and select Information Map
Metadata (see Figure 8.9 on page 104).

Click the information map (from the list on the right) that contains the metadata (from
the separate metadata tables) to be updated. In the Information Map Metadata dialog box,
select Clear metadata cache.
Troubleshooting Your Information Map for SAS Customer Intelligence F 107

2. When you click OK (assuming that you selected the “Create tables now” option), the SAS
Marketing Automation engine reads the new SAS Marketing Automation metadata values into
memory, replacing the old values immediately. You do not need to refresh your SAS Customer
Intelligence Studio session in order to see the new values.

Troubleshooting Your Information Map for SAS Customer


Intelligence

Metadata Locations

Generating metadata involves three different servers that might be on the same physical computer,
or on different computers. Logging on to the Customer Intelligence resource in the Application
Management folder of SAS Management Console (Figure 8.10) requires a connection to the Web
server that hosts the core SAS Marketing Automation engine.
108 F Chapter 8: SAS Information Maps for Campaigns

Figure 8.10 Customer Intelligence Resource

When you choose to generate metadata, the designated SAS Workspace server and SAS Stored
Process server read the data from the specified database server and write the metadata tables to the
location that is specified in the MAMeta custom property (see “Specify the MAMeta Library as a
Custom Property” on page 71).
Troubleshooting Checklist F 109

Troubleshooting Checklist
Invalid LIBNAME statement?
Verify the syntax of the value for the MAMeta custom property:

 Verify that the beginning and ending quotation marks match.


 Verify that the path statement in the Value column ends with a semicolon (;).
 Verify that the location exists.

Missing a required custom property?


See the Required column of each of the Custom Properties tables to verify that you included
all of the required custom properties on the information level, the folder level, and the data
item level of an information map for SAS Customer Intelligence.
READ and WRITE permissions?
Verify that all users such as campaign designers have the necessary READ and WRITE
permissions in order to access the data server or servers that they will need to perform their
tasks for SAS Customer Intelligence. For details, see Chapter 7, “Users and Groups.”

View a Summary of Your Information Map’s Custom Properties

You can view a summary of all of the custom properties of a selected information map by following
these steps:

1. In SAS Management Console, expand Application Management ICustomer Intelligence


IAdministration Resources.

2. Click Business Contexts. In the list that appears on the right, right-click a business context.

3. Select Properties from the drop-down list.

4. Click the View Information Map Details button in the dialog box that appears.

5. A dialog box appears that lists the contents of an XML output file. See Figure 8.11. The
file contains all of the custom properties of the information map that is associated with the
business context.
110 F Chapter 8: SAS Information Maps for Campaigns

Figure 8.11 An Example XML File of the Custom Properties of an Information Map called
MAClassMap
Chapter 9

Common Data Model: Concepts

Contents
About the Common Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
What Is the Common Data Model? . . . . . . . . . . . . . . . . . . . . . . 112
Updating the Content of the Common Data Model . . . . . . . . . . . . . . 112
Managing Multiple Business Contexts . . . . . . . . . . . . . . . . . . . . 113
Reporting and the Common Data Model . . . . . . . . . . . . . . . . . . . 113
How the Common Data Model Is Organized . . . . . . . . . . . . . . . . . . . . . 113
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Campaigns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Campaign Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Cell Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Packages and Treatments . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Contact History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
About Extension (_EXT) Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Purpose of _EXT Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
About Populating the _EXT Tables . . . . . . . . . . . . . . . . . . . . . . 130
About History Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Overview of History Tables . . . . . . . . . . . . . . . . . . . . . . . . . . 132
The CI_CONTACT_HISTORY Table . . . . . . . . . . . . . . . . . . . . . 133
The CI_RESPONSE_HISTORY Table . . . . . . . . . . . . . . . . . . . . 134
The CI_PRESENTED_TREATMENT_HISTORY Table . . . . . . . . . . . . 137
About Lookup Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
112 F Chapter 9: Common Data Model: Concepts

About the Common Data Model

What Is the Common Data Model?

The SAS Customer Intelligence 5.3 Common Data Model is a common data repository for SAS
Customer Intelligence solutions.
Some SAS Customer Intelligence solutions use the common data model to store data such as
campaigns that have been conducted, communications that have been run, offers that have been
presented, and customer responses.
The common data model serves the operational functions that maintain real-time customer contact
history, response history, and presented treatment history. This data is generally used for creating
reports such as the treatment performance report that is provided to help you get started. See
“Working with the Treatment Performance Report” on page 166 in Chapter 10, “Implementing the
Common Data Model.”
All of the business contexts for your site can share a single version of the common data model, or
you can specify a separate version of the model for each business context. See “Managing Multiple
Business Contexts” on page 113.
See the SAS Customer Intelligence 5.3 Common Data Model: Data Dictionary for the descriptions
of the tables and their columns in the common data model. A diagram of the model is included at the
end of the data dictionary. Use the diagram to understand the relationships among the tables that
comprise the model.

Updating the Content of the Common Data Model

The common data model is typically updated when you save a campaign (after the selection campaign
or decision campaign has been published in SAS Customer Intelligence Studio), or each time you
execute a campaign.
N OTE : A campaign is not published if the publish operation is not enabled, and if the location of the
data model for the respective business context is not specified in SAS Management Console.
For every occurrence of a communication, the contact history records for that communication
occurrence are first deleted and repopulated with a newer set of contact records. This update happens
only if the Update contact history flag of the Communication node is enabled.
Managing Multiple Business Contexts F 113

Managing Multiple Business Contexts

In an environment where multiple business contexts exist, you can deploy the common data model
and capture data across business contexts in two ways.

 Specify a single instance of the common data model. Specify that all of the business con-
texts point to the same reporting libref (using SAS Management Console). The BUSI-
NESS_CONTEXT field in the CI_CAMPAIGN table captures the business context that
is associated with the campaign. In this pattern, all of the campaign data across the enterprise
resides in the same location.

 Create a separate instance of the common data model for each business context (recommended).
In this pattern, the data of a business context resides at different locations, and each instance
of the data model contains only the information for a single business context.

Reporting and the Common Data Model

When campaign data is published to the common data model tables, users can view this data in
the campaign reports (that are created in SAS Campaign Web Studio) by using SAS Web Report
Studio. See also “Working with the Treatment Performance Report” on page 166 in Chapter 10,
“Implementing the Common Data Model.”

How the Common Data Model Is Organized

Overview

The tables of the common data model for SAS Customer Intelligence 5.3 can be organized (for
conceptual purposes only) according to the following categories:

 “Campaigns” on page 115

 “Campaign Groups” on page 118

 “Communication” on page 120

 “Cell Packages” on page 122

 “Packages and Treatments” on page 124

 “Contact History” on page 127


114 F Chapter 9: Common Data Model: Concepts

 “Responses” on page 128

To implement these tables, see Chapter 10, “Implementing the Common Data Model.”
Campaigns F 115

Campaigns

Figure 9.1 Campaigns: Tables in the Common Data Model


116 F Chapter 9: Common Data Model: Concepts

CI_CAMPAIGN

The CI_CAMPAIGN table is the central table to which the other tables in the campaigns category
connect. The CI_CAMPAIGN table contains a planned set of one or more communications over one
or more channels that are directed at a group of subjects such as customer, household, or individual.
In order to add a new column or columns to the CI_CAMPAIGN table, you must alter the associated
_EXT table. See “About Extension (_EXT) Tables” on page 129 for reasons why the common data
model uses extension tables.

CI_CAMPAIGN_EXT

A column is automatically added to this extension table when you add a custom detail (for this type
of data) by using SAS Management Console.
To add a custom detail, see Adding Custom Details in the SAS Marketing Automation 5.3: User’s
Guide.

CI_CHANGE_LOG

The CI_CHANGE_LOG table records the version changes to a campaign. When you create the
campaign, a row in the CI_CHANGE_LOG table is populated with the initial date and time that the
campaign is created. When the campaign version changes, a new row is added to the table. Each row
contains the date and time of a version change. N OTE : Any other changes to the campaign do not
update the CI_CHANGE_LOG table.

CI_CAMP_CHECKLIST_ITEM

The CI_CAMP_CHECKLIST_ITEM table contains the metadata that links the checklist items and
any customized checklist steps to a specific campaign.
In order to add a new column or columns to this table, you must alter the associated _EXT table.
See “About Extension (_EXT) Tables” on page 129 for reasons why the common data model uses
extension tables.

CI_CAMP_CHECKLIST_ITEM_EXT

A column is automatically added to this extension table when you add a custom detail (for this type
of data) by using SAS Management Console.
To add a custom detail, see Adding Custom Details in the SAS Marketing Automation 5.3: User’s
Guide.
Campaigns F 117

CI_CHANGE_TYPE

The CI_CHANGE_TYPE table is referenced by the CI_CAMPAIGN table. The


CI_CHANGE_TYPE table contains the types of changes that are stored in the change log.
This table is automatically populated when the common data model is installed. Currently, the only
supported type of change that can be recorded for a campaign is version type.

CI_CAMPAIGN_STATUS

The CI_CAMPAIGN_STATUS table is a reference table that contains the status codes and status
descriptions for a campaign. This table is automatically populated when the common data model is
installed. Additional user-defined status codes can be specified. For the default populated values, see
“About Lookup Tables” on page 138.

CI_CAMPAIGN_TYPE

The CI_CAMPAIGN_TYPE table is a reference table that contains the types of campaigns. This
table is automatically populated with the values Selection and Decision when the common data
model is installed.
118 F Chapter 9: Common Data Model: Concepts

Campaign Groups

Figure 9.2 Campaign Groups: Tables in the Common Data Model

CI_CAMPAIGN_GROUP

The CI_CAMPAIGN_GROUP table is the central table to which the other tables in the campaign
groups category connect. The CI_CAMPAIGN_GROUP table contains the name, description,
business contexts, and checklist items for a group of campaigns. A campaign group bundles
campaigns together. Either SAS Marketing Automation or SAS Market Optimization might access
data about campaign groups.
In order to add a new column or columns to this table, you must alter the associated _EXT table.
See “About Extension (_EXT) Tables” on page 129 for reasons why the common data model uses
extension tables.

CI_CAMPAIGN_GROUP_EXT

A column is automatically added to this extension table when you add a custom detail (for this type
of data) by using SAS Management Console.
To add a custom detail, see Adding Custom Details in the SAS Marketing Automation 5.3: User’s
Guide.
Campaign Groups F 119

CI_CAMP_GRP_CHECKLIST_ITEM

The CI_CAMP_GRP_CHECKLIST_ITEM table contains information that links the user-defined


checklist items of a campaign group with CI_CAMPAIGN_GROUP, the campaign group table. The
relationship of the CI_CAMP_GRP_CHECKLIST_ITEM table to the CI_CAMPAIGN_GROUP
table is the same as the relationship of the CI_CAMP_CHECKLIST_ITEM table to the
CI_CAMPAIGN table.
In order to add a new column or columns to this table, you must alter the associated _EXT table.
See “About Extension (_EXT) Tables” on page 129 for reasons why the common data model uses
extension tables.

CI_CAMP_GRP_CLIST_ITEM_EXT

A column is automatically added to this extension table when you add a custom detail (for this type
of data) by using SAS Management Console.
To add a custom detail, see Adding Custom Details in the SAS Marketing Automation 5.3: User’s
Guide.
120 F Chapter 9: Common Data Model: Concepts

Communication

Figure 9.3 Communication: Tables in the Common Data Model

CI_COMMUNICATION

The CI_COMMUNICATION table contains the general descriptive information about a communica-
tion. A communication represents the delivery of a package of treatments over a channel to particular
cells. Each communication occurrence is represented by a row. A communication represents a
contact through a channel and might or might not be associated with a set of treatments. A treatment
represents a marketing message and its content that are delivered over a channel.
In order to add a new column or columns to this table, you must alter the associated _EXT table.
See “About Extension (_EXT) Tables” on page 129 for reasons why the common data model uses
extension tables.
Communication F 121

CI_COMMUNICATION_EXT

A column is automatically added to this extension table when you add a custom detail (for this type
of data) by using SAS Management Console.
To add a custom detail, see Adding Custom Details in the SAS Marketing Automation 5.3: User’s
Guide.

CI_COMMUNICATION_STATUS

The CI_COMMUNICATION table references the CI_COMMUNICATION_STATUS table, a lookup


table that contains the status codes and status code descriptions for a communication. For the default
values, see “About Lookup Tables” on page 138.
122 F Chapter 9: Common Data Model: Concepts

Cell Packages

Figure 9.4 Cell Packages: Tables in the Common Data Model

CI_CELL_PACKAGE

The CI_CELL_PACKAGE table contains columns to associate marketing cells, communications,


and treatments with a package in order to facilitate reporting. This table also includes summary
Cell Packages F 123

counts for contacts and responses at a package level.

CI_CHANNEL

The CI_CHANNEL table is a reference table. It contains the channels, channel codes, and channel
descriptions that are typically used in a campaign. A channel represents the means of communication
(such as e-mail) between a company and targeted customers. This table is automatically populated
with common channel codes (see “About Lookup Tables” on page 138).

CI_PACKAGE

The CI_PACKAGE table contains a collection of one or more treatments. A package is used as a
collection point for one or more treatments. Treatments are delivered to the channel as part of a
package that is associated with a campaign.

CI_MARKETING_CELL

The CI_MARKETING_CELL table contains a grouping of subjects that are targeted by a campaign.
An example of a subject is customer, household, or individual.

CI_CTL_GRP_CELL_X_TEST_CELL

The CI_CTL_GRP_CELL_X_TEST_CELL table is an intersection table that contains the intersection


of a marketing cell that is being used as a control group with a marketing cell that is being used as a
test cell. The purpose of this intersection table is to enable the performance of this control group to
be monitored.

CI_CONTROL_GROUP_TYPE

The CI_CONTROL_GROUP_TYPE table contains the types of control groups that are used for
reporting. The supplied type is _ST for Standard. This table is automatically populated when the
common data model is installed. You can supply additional (user-defined) types.
124 F Chapter 9: Common Data Model: Concepts

Packages and Treatments

Figure 9.5 Packages and Treatments: Tables in the Common Data Model
Packages and Treatments F 125

CI_CELL_PACKAGE_TREATMENT_CNT

The CI_CELL_PACKAGE_TREATMENT_CNT table contains the counts and reference information


about the individual treatments that are assigned to a marketing cell. This information is included if
a campaign is identified by the user as being a campaign for tracking treatment level presentations
(as opposed to simply package level contacts).
For packages that do not have treatments, the data is an exact replica of the CI_CELL_PACKAGE
table and the TREATMENT_SK column (from the CI_TREATMENT table) that is associated with a
treatment code such as Not Treatment.

CI_TREATMENT

The CI_TREATMENT table contains the treatments that are associated with a decision campaign.
A treatment represents a marketing message and its content that are delivered over a channel.
Treatments can be combined into a package.
When a business user defines a treatment, he can specify whether the treatment should be static
or dynamic. Static treatments are named because their values do not change as the treatment or
treatments are applied throughout the execution of a campaign.
The dynamic attribute of a treatment in a decision campaign can be specified as either a variable or a
manually-defined value. A dynamic attribute is referred to as a custom detail in the SAS Management
Console treatment facility.
In order to add a new column or columns to this table, you must alter the associated _EXT table.
See “About Extension (_EXT) Tables” on page 129 for reasons why the common data model uses
extension tables.

CI_TREATMENT_EXT

A column is automatically added to this extension table when you add a custom detail (for this type
of data) by using SAS Management Console.
See “About Extension (_EXT) Tables” on page 129 for details.

CI_PACKAGE_X_TREATMENT

The CI_PACKAGE_X_TREATMENT table is an intersection table that models the many-to-many


relationship between packages and treatments. A package is basically a group of offers, called
treatments; therefore a package is comprised of several treatments. A single treatment can also be a
part of multiple packages.
126 F Chapter 9: Common Data Model: Concepts

CI_DYNAMIC_TREATMENT_ATTRIBUTE

The CI_DYNAMIC_TREATMENT_ATTRIBUTE table contains the values of any variations of a


treatment (called dynamic attributes) that were actually executed for a specified campaign. The term
dynamic refers to the fact that the values can change each time that a campaign is run.

CI_DYNAMIC_TREATMENT_ATTR_EXT

The CI_DYNAMIC_TREATMENT_ATTR_EXT table contains data from columns that have been
transposed from the CI_DYNAMIC_TREATMENT_ATTRIBUTE table.

CI_PRESENTED_TREATMENT_HISTORY

The CI_PRESENTED_TREATMENT_HISTORY table contains a record of the presentation of


particular treatments for a particular channel for particular subjects. See also “About History Tables”
on page 132.
This table is used in a call center where an operator presents a subset of the delivered treatments to a
customer. N OTE : Data in this table is used for decision campaigns (for SAS Real-Time Decision
Manager data) as opposed to selection campaigns (for SAS Marketing Automation).
Contact History F 127

Contact History

Figure 9.6 Contact History: Tables in the Common Data Model

CI_CONTACT_HISTORY

The CI_CONTACT_HISTORY table contains a contact record of the delivery of a partic-


ular package to a particular channel for a particular subject. This table references the
CI_CONTACT_HISTORY_STATUS table. See also “About History Tables” on page 132.

CI_CONTACT_HISTORY_STATUS

The CI_CONTACT_HISTORY_STATUS table is a lookup table that contains the status codes and
status descriptions for a contact history record. For the default values, see “About Lookup Tables”
on page 138.
128 F Chapter 9: Common Data Model: Concepts

Responses

Figure 9.7 Responses: Tables in the Common Data Model

CI_RESPONSE_HISTORY

The CI_RESPONSE_HISTORY table contains a record of the direct or inferred response to a


particular treatment or package that has been made over a particular channel by a particular subject.
See also “About History Tables” on page 132.

CI_RESPONSE

The CI_RESPONSE_HISTORY table references the CI_RESPONSE table, a lookup table that
contains user-defined response codes and their associated descriptions. The CI_RESPONSE table
references the CI_RESPONSE_CHANNEL_RESPONSE table, a lookup table that associates the
external response codes of a specific channel with internal response codes in order to facilitate the
reporting of customer responses.

CI_RESPONSE_CHANNEL_RESPONSE

The CI_RESPONSE_CHANNEL_RESPONSE table is a lookup table that associates the external


response codes of a specific channel with internal response codes in order to facilitate the reporting
of customer responses. For the default values, see also “About Lookup Tables” on page 138.

CI_RESPONSE_X_CELL_PACKAGE

The CI_RESPONSE_X_CELL_PACKAGE table is an intersection table that contains the valid


responses for a cell package within a communication and the response types (for example, conver-
sion responses and non-conversion responses). The CI_RESPONSE_X_CELL_PACKAGE table
About Extension (_EXT) Tables F 129

references the CI_RESPONSE_TYPE table, a lookup table that contains the codes for the types of
responses such as _CV for Converted and _RS for Responded.

CI_RESPONSE_TYPE

The CI_RESPONSE_TYPE table is a lookup table that contains the codes for the types of responses
such as _CV for Converted and _RS for Responded.

About Extension (_EXT) Tables

Purpose of _EXT Tables

Extension (_EXT) tables are typically created in order to contain any additional information that is
specific to your business practices such as the metadata for campaigns or communications.
When the CI_CAMPAIGN table, for example, must be extended in order to meet the business
requirements of your company, the associated extension table (CI_CAMPAIGN_EXT) contains the
extra columns of data. Rather than creating additional columns directly in the CI_CAMPAIGN
or CI_COMMUNICATION table (thereby changing the structure of the model), SAS Customer
Intelligence populates the associated extension table in order to facilitate administrative tasks such as
updating and promoting. For details, see Chapter 10, “Implementing the Common Data Model.”
130 F Chapter 9: Common Data Model: Concepts

About Populating the _EXT Tables

Overview

The _EXT tables are not initially structured and are initially empty. As part of the customizing
process, you define the new column structures that you want to add to the _EXT tables by using SAS
Management Console.
The structure of the new columns is created by reading the values for the custom details (that you
provide in SAS Management Console). These custom details are written to a special group of tables
that are called UDF (user-defined field) tables.
When a campaign or communication is executed, those name/value pairs in the columns of a UDF
table are transposed to the rows of the associated _EXT table, thereby populating the rows of the
_EXT tables with data.
N OTE : The CI_DYNAMIC_TREATMENT_ATTR_EXT table is an exception; it contains the
transposed columns from the CI_DYNAMIC_TREATMENT_ATTRIBUTE table. No _UDF tables
are associated with the CI_DYNAMIC_TREATMENT_ATTR_EXT table, since the values (that
indicate whether a treatment is dynamic or static) can be obtained from parsing other values.
See also Chapter 10, “Implementing the Common Data Model.”
To add a custom detail, see Adding Custom Details in the SAS Marketing Automation 5.3: User’s
Guide.

Structure of UDF (User-Defined Field) Tables

A UDF table exists for each data type (character, numeric, and date). For example, the
CI_CAMPAIGN_EXT table has the following UDF tables associated with it:

 CI_CAMPAIGN_CHAR_UDF (for character data type)

 CI_CAMPAIGN_NUM_UDF (for numeric data)

 CI_CAMPAIGN_DATE_UDF (for dates)

When a campaign is published, a row is added to the associated UDF table for each UDF (custom
detail) that is defined within the campaign.
In the UDF tables at the campaign level, a flag exists that indicates whether the UDF (custom detail)
is defined within the brief or within a checklist item. This flag enables a report writer to find the
custom details that are associated with the brief. This flag also enables the writer to locate the custom
details that describe the other steps within the campaign checklist, including the step of completing
the brief itself (as opposed to the step of specifying the custom details of the brief).
These UDF tables have the following characteristics:
About Populating the _EXT Tables F 131

 are thin (seven columns) and long (with many rows, because one row exists for each custom
detail)

 are separated by data type

 contain every UDF (custom detail)


132 F Chapter 9: Common Data Model: Concepts

About History Tables

Overview of History Tables

What the History Tables Contain

A list of the history tables in the common data model and their descriptions follow.

CI_CONTACT_HISTORY table
contains a record of the delivery of a particular package to a particular channel for a
particular subject. This table is managed for outbound campaign activities by using SAS
Marketing Automation.
CI_RESPONSE_HISTORY table
contains a record of the direct or inferred response to a particular treatment or package
that was made over a particular channel by a particular subject. This table is managed for
inbound campaign activities by using SAS Real-Time Decision Manager.
CI_PRESENTED_TREATMENT_HISTORY table
contains a record of the presentation of particular treatments for a particular channel
for particular subjects. This table might be used, for example, in a call center where an
operator presents a subset of the delivered treatments to a customer. This table is managed
for inbound campaign activities by using SAS Real-Time Decision Manager.

These history tables have the following requirements or properties:

 They are deployed in the same location as the common data model.

 They must be registered in the SAS Metadata Repository.

 They must be included in a SAS Information Map in order to make the contact history and
response history data available for use in SAS Customer Intelligence Studio.

 They are typically connected to the table or tables of the primary marketing data by an outer
join.

Estimating the Size of the History Tables

Use either of the following methods to estimate maximum table size:

 Multiply the average number of customers who are targeted by the average number of cam-
paigns that you want to initiate. Then multiply the result by the number of bytes in the total
number of rows in a history table.
The CI_CONTACT_HISTORY Table F 133

 Multiply the estimated number of rows in each history table by the size of each row (in bytes).
Then multiply the result by the number of years that you want to retain the history table data
for each table.

N OTE : The CI_CONTACT_HISTORY, CI_RESPONSE_HISTORY, and the


CI_PRESENTED_TREATMENT_HISTORY tables are the only tables in the common data model
that might increase in size as responses are recorded.
For more information about using contact history, response history, and presented treatment history
data, see the SAS Marketing Automation User’s Guide. For more information about managing
response history data, see the SAS Real-Time Decision Manager: Administrator’s Guide.

The CI_CONTACT_HISTORY Table

What the CI_CONTACT_HISTORY Table Contains

The CI_CONTACT_HISTORY table contains the following columns:

CELL_PACKAGE_SK
is the primary reference key that associates the contact history with a cell package.
SUBJECT_ID
is the primary reference key of a unique identifier such as Subject ID (for example,
Customer, Account, or Household) that associates the CI_CONTACT_HISTORY table
with an external table. You need to replace the placeholder value that is assigned for this
column during installation with a valid key to the appropriate external table.
CONTACT_DTTM
is the date and time when the subject (such as Customer, Account, or Household) is
contacted.
CONTACT_HISTORY_STATUS_CD
is the reference key code that associates the contact history with a contact history status.
See the CI_CONTACT_HISTORY_STATUS table for the supplied values of the status
codes.
PACKAGE_HASH_VALUE
contains a hash value generated to supply a single lookup value for a combination of the
dynamic custom details for a package.

N OTE : SAS Technical Support does not recommend adding fields to the table. If you need additional
contact-related fields, then create a separate table and link the information to the history table by
using a key.

Structure of the CI_CONTACT_HISTORY Table: Subject Levels

Create a separate table for each subject level for which contacts are made. For example, a customer
contact history table and a household contact history table might both need to exist when, at some
134 F Chapter 9: Common Data Model: Concepts

times, communications are directed to the individual and, at other times, communications are directed
to the household. A contact history table is required only for the potential subject levels that apply to
a communication in SAS Customer Intelligence Studio.
For details, see Updating the Placeholder SUBJECT_ID Columns in Chapter 10, “Implementing
the Common Data Model.”
The CI_CONTACT_HISTORY table contains one row for each subject for each occurrence of a
communication. There is a separate record in the CI_CONTACT_HISTORY table for each time that
a selected customer is contacted. Each record represents a unique combination of communication,
communication occurrence, and subject (such as Customer). Note that occurrence = 1 if the
communication is not a recurring communication.

The CI_RESPONSE_HISTORY Table

What the CI_RESPONSE_HISTORY Table Contains

The CI_RESPONSE_HISTORY table contains information about customer behavior in response to a


marketing campaign. There is one row for each subject every time that a response is recorded.
The CI_RESPONSE_HISTORY table contains these key columns:

CELL_PACKAGE_SK
is the primary reference key that associates the response with a cell package.
TREATMENT_SK
is the primary reference key that associates the response with a treatment.
RESPONSE_CD
is the primary reference key code that associates the response with the response code.
This column refers to the CI_RESPONSE table that is a lookup table for the response
codes and their descriptions.
SUBJECT_ID
is the primary reference key of a unique identifier such as Subject ID (for example,
Customer, Account, or Household) that associates the CI_RESPONSE_HISTORY table
with an external table. You must replace the placeholder value that is assigned for this
column during installation with a valid key to the appropriate external table.
RESPONSE_DTTM
is a primary key that is the date and time of the response.

The CI_RESPONSE_HISTORY table also contains these columns:

RESPONSE_CHANNEL_CD
is the reference response code that indicates the response that originates directly from the
channel.
N OTE : This foreign key references the RESPONSE_CHANNEL_CD column in the
CI_RESPONSE_CHANNEL_RESPONSE table. The RESPONSE_CHANNEL_CD
The CI_RESPONSE_HISTORY Table F 135

column is also the role name that corresponds to the CHANNEL_CD column of the
CI_CHANNEL table.
INFERRED_RESPONSE_FLG
is a flag that indicates the type of correlated response. Valid values are Y (inferred
response) and N (direct response).
EXTERNAL_RESPONSE_INFO_ID1
contains channel-specific data that is typically the reference to external channel informa-
tion such as a transaction number.
EXTERNAL_RESPONSE_INFO_ID2
contains channel-specific data that is typically the reference to external channel informa-
tion such as a transaction number.
PROCESSED_DTTM
is the last date and time that a record was processed.

About Types of Responses

Responses occur from the sales that result from a specific marketing offer. Both direct and inferred
responses can be recorded in the CI_RESPONSE_HISTORY table.

Direct Responses

Direct responses are responses that are attributed to a specific direct marketing campaign. Direct
responses are captured at the time of purchase by matching a promotion code or key code (that is
provided to a customer in the offer) to the targeted customer names. The promotion code is returned
in the response by the customer and captured at the touch point in order to make a direct link between
the campaign and the response.
N OTE : The promotion code is a value that is external to SAS Customer Intelligence. Therefore,
you must decide how this direct link (between the external promotion code and a campaign in SAS
Customer Intelligence) is managed.

Inferred Responses

Inferred responses are those responses that are indirectly attributable to a marketing campaign, as
specified by the purchase behavior of a customer. For example, inferred responses might include
the responses of all of the customers in the target population of direct marketing Campaign X who
bought the product during the campaign. The objective of tracking the inferred responses is to
measure the total potential effect of the direct marketing efforts.
Both direct and inferred responses are defined by a response interval that includes a start time and
an end time. Responses that are returned outside the defined response interval are not attributed to
the campaign ROI. The only responses that do not require a response interval are specified by either
trigger-based or event-based campaigns.
A customer who is targeted for a campaign might respond in a number of ways. Possible types of
direct and inferred responses that you might track are listed in the following table.
136 F Chapter 9: Common Data Model: Concepts

Table 9.1 Sample Types of Responses


Direct Inferred
Response Type
Acceptance Provides a promotion code at the Purchases without providing a
time of purchase. promotion code (captured in
billing data).
Clicks through an e-mail to make
a purchase.
Spill (to a Clicks through an e-mail to Does not provide a promotion
similar product purchase a similar product. code and does not purchase the
in the same product that is offered, but
category) Provides a promotion code at purchases another product in the
time of purchase and does not same category (captured in
purchase the product that is billing data).
offered, but purchases another
product in the same category.
Inquiry Provides a promotion code and Does not provide a promotion
asks for further information, but code and asks for further
does not purchase. information, but does not
purchase (captured in touch point
Opens and clicks through an data).
e-mail, but does not purchase.
Decline (often Provides a promotion code and Does not provide a promotion
not captured) does not purchase either the code and does not purchase
product that is offered or a either the product that is offered
product in the same category. or a product in the same category
(no record of a purchase in
Receives an e-mail, but does not billing data).
open it.
Halo Customers who are not targeted Customers who are not targeted
for a campaign are not captured for a campaign are not captured
in contact history; therefore, their in contact history; therefore, their
responses to that campaign are responses to that campaign are
not captured. not captured.

Forwards the e-mail offer to a


friend.
The CI_PRESENTED_TREATMENT_HISTORY Table F 137

The CI_PRESENTED_TREATMENT_HISTORY Table

What the CI_PRESENTED_TREATMENT_HISTORY Table Contains

The CI_PRESENTED_TREATMENT_HISTORY table contains the following columns:

CELL_PACKAGE_SK
is the primary reference key that associates the presented treatment history with a cell
package.
SUBJECT_ID
is the primary reference key of a unique identifier such as Subject ID (for example, Cus-
tomer, Account, or Household) that associates the CI_PRESENTED_TREATMENT_HISTORY
table with an external table. You must replace the placeholder value that is assigned for
this column during installation with a valid key to the appropriate external table.
TREATMENT_SK
is the primary reference key that associates the presented treatment history with a treat-
ment.
PRESENTED_TREATMENT_HIST_DTTM
is the primary key that contains the date and time of the presented treatment.
138 F Chapter 9: Common Data Model: Concepts

About Lookup Tables

These lookup tables, also called reference tables, are prepopulated with typical industry values:

 CI_CAMPAIGN_GROUP_STATUS

 CI_CAMPAIGN_GROUP_TYPE

 CI_CAMPAIGN_STATUS

 CI_CAMPAIGN_TYPE

 CI_CHANGE_TYPE

 CI_CHANNEL

 CI_COMMUNICATION_STATUS

 CI_CONTACT_HISTORY_STATUS

 CI_CONTROL_GROUP_TYPE

 CI_RESPONSE

 CI_RESPONSE_CHANNEL_RESPONSE

 CI_RESPONSE_TYPE

These values are supplied when the common data model is initially created. Here are the tables, with
their prepopulated values.
N OTE : Your lookup tables might contain either different or additional values if they have been
customized.
To specify the lookup values for a non-English locale, see “Specifying Non-English Values in the
Lookup Tables” on page 154 in Chapter 10, “Implementing the Common Data Model.”
About Lookup Tables F 139

Table 9.2 CI_CAMPAIGN_GROUP_STATUS Table: Prepopulated Values


CAMPAIGN_GROUP_STATUS_CD CAMPAIGN_GROUP_STATUS_DESC
_10 Exported
_14 Deployed
_15 Approval Requested
__0 Not Ready
__1 Planned
__2 Approved
__3 Scheduled
__4 Executed
_16 Marked for Deployment

Table 9.3 CI_CAMPAIGN_GROUP_TYPE Table: Prepopulated Values


CAMPAIGN_GROUP- CAMPAIGN_GROUP-
_TYPE_CD _TYPE_DESC
I Decision
O Selection

Table 9.4 CI_CAMPAIGN_STATUS Table: Prepopulated Values


CAMPAIGN_STATUS_CD CAMPAIGN_STATUS_DESC
_10 Exported
_14 Deployed
_15 Approval Requested
__0 Not Ready
__1 Planned
__2 Approved
__3 Scheduled
__4 Executed
_16 Marked for Deployment

Table 9.5 CI_CAMPAIGN_TYPE Table: Prepopulated Values


CAMPAIGN_TYPE_CD CAMPAIGN_TYPE_DESC
I Decision
O Selection

Table 9.6 CI_CHANGE_TYPE Table: Prepopulated Value


CHANGE_TYPE_CD CHANGE_TYPE_DESC
_NV New Version
140 F Chapter 9: Common Data Model: Concepts

Table 9.7 CI_CHANNEL Table: Prepopulated Values


CHANNEL_CD CHANNEL_NM CHANNEL_DESC
_AT ATM ATM channel
_CA Calendar Calendar channel
_CC Call Center Call center channel
_CT Catalog Catalog channel
_EL Electronic Electronic channel
_EM Email E-mail channel
_EV Event Event channel
_FX Fax Fax channel
_GI General insert General insert channel
_MC Multichannel Multiple potential channels
_ML Mail Mail channel
_MP Mobile phone Mobile phone channel
_OP Off the page Off the page channel
_PA Print ad Print advertisement channel
_PB Point of Sale Point of Sale (POS) branch channel
branch
_PG Pager mail Pager mail channel
_PH Phone Telephone channel
_PM Phone mail Phone mail channel
_RD Radio Radio channel
_SF Point of Sale Point of Sale (POS) sales force channel
Sales Force
_SI Statement Insert Statement insert channel
_SM Statement Mes- Statement Message channel
sage
_SP Sales Promo Sales promotion channel
_TV TV Television channel
_WB Web Web channel
About Lookup Tables F 141

Table 9.8 CI_COMMUNICATION_STATUS Table: Prepopulated Values


COMMUNICATION- COMMUNICATION-
_STATUS_CD _STATUS_DESC
_11 Exported
_12 Deployed
__5 Not Ready
__6 Planned
__7 Approved
__8 Scheduled
__9 Executed

Table 9.9 CI_CONTACT_HISTORY_STATUS Table: Prepopulated Values


CONTACT_HISTORY_STAT- CONTACT_HISTORY_STAT-
US_CD US_DESC
_11 Exported
_30 Failed
__5 Not Ready
__6 Planned
__7 Approved
__8 Scheduled
__9 Executed

Table 9.10 CI_CONTROL_GROUP_TYPE Table: Prepopulated Values


CONTROL_GROUP_TYPE_CD CONTROL_GROUP_TYPE_DESC
_ST Standard

Table 9.11 CI_RESPONSE Table: Prepopulated Values


RESPONSE_CD RESPONSE_NM
_EC E-mail - Clicked Link
_EO E-mail - Opened
_ER E-mail - Reply

Table 9.12 CI_RESPONSE_CHANNEL_RESPONSE Table: Prepopulated Values


RESPONSE_TYPE_CD RESPONSE_TYPE_DESC
_TEST Test response
_CV Converted
_RS Responded

Table 9.13 CI_RESPONSE_TYPE Table: Prepopulated Values


RESPONSE_TYPE_CD RESPONSE_TYPE_DESC
_CV Converted
_RS Responded
142
Chapter 10

Implementing the Common Data Model

Contents
Overview of Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Creating the Table Structure of the Common Data Model . . . . . . . . . . . . . . 145
Overview of DDL Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
How to Find Your DDL Scripts for Creating the Common Data Model . . . 146
Specify Your Database Connection Values . . . . . . . . . . . . . . . . . . 146
Setting Up the History Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Overview: Setting Up the History Tables . . . . . . . . . . . . . . . . . . . 148
Update the Placeholder SUBJECT_ID Columns . . . . . . . . . . . . . . . 148
Customizing the Extension (EXT) Tables . . . . . . . . . . . . . . . . . . . . . . . 151
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Modify the Definition of an Extension Table . . . . . . . . . . . . . . . . . . 151
Setting Up the Lookup Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Prepopulate the Lookup Tables . . . . . . . . . . . . . . . . . . . . . . . . 154
Specifying Non-English Values in the Lookup Tables . . . . . . . . . . . . . 154
Resolving Translated Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Registering Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
About Using SAS Data Integration Studio to Register Common Data Model
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Use SAS Management Console to Register Common Data Model Tables . . 156
Specify the Library Location for Business Contexts . . . . . . . . . . . . . . . . . 162
Saving, Publishing, and the Common Data Model . . . . . . . . . . . . . . . . . . 164
About Saving Versus Publishing . . . . . . . . . . . . . . . . . . . . . . . . 164
Full Publish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Working with the Treatment Performance Report . . . . . . . . . . . . . . . . . . 166
Purpose of the Treatment Performance Report . . . . . . . . . . . . . . . . 166
Scenarios That Use the Treatment Performance Report . . . . . . . . . . . . . 167
Administrative Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Report Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Setting Up the Treatment Performance Report . . . . . . . . . . . . . . . . 170
Scheduling and Distributing the Treatment Performance Report . . . . . . . 172
144 F Chapter 10: Implementing the Common Data Model

Overview of Steps

This section contains the steps for creating the table structure of the common data model. The
common data model is typically created as part of either the SAS Marketing Automation or the SAS
Real-Time Decision Manager installation. For conceptual information about the common data model,
see Chapter 9, “Common Data Model: Concepts.”
To implement the common data model for SAS Customer Intelligence, perform the following steps:

1. Verify that the user and group authorizations are specified for the users who start the Customer
Intelligence Common Web Service in order to access the metadata for the business context.
See Chapter 7, “Users and Groups.”

2. Create the table structure for common data model tables in your database. See “Creating the
Table Structure of the Common Data Model” on page 145.

3. Set up the history tables. See “Setting Up the History Tables” on page 148.

4. Customize the _EXT tables. To add the user-defined fields for the associated UDF tables, see
“Customizing the Extension (EXT) Tables” on page 151.

5. Set up the lookup tables. See “Setting Up the Lookup Tables” on page 154.

6. Register the metadata for the common data model tables. See “Registering Data Sources” on
page 155.

7. Edit your business contexts to include the location of the metadata for the common data model
tables. See “Specify the Library Location for Business Contexts” on page 162.

8. Verify the implementation of the SAS Customer Intelligence Common Data Model by pub-
lishing and viewing a report. See “Working with the Treatment Performance Report” on
page 166.
Creating the Table Structure of the Common Data Model F 145

Creating the Table Structure of the Common Data Model

Overview of DDL Scripts

SAS Customer Intelligence provides the data definition language (DDL) scripts that are contained in
a program called ciddl<target>.sas. You execute these scripts to create the column structure of the
common data model tables in your SAS environment. The SAS system administrator modifies these
DDL scripts to customize some of the tables.
To set up the common data model tables, open ciddl<target>.sas (where <target> for your envi-
ronment is specified in “How to Find Your DDL Scripts for Creating the Common Data Model” on
page 146), and follow these steps:

 Customize the history tables. Scroll down to the BEGIN HISTORY SECTION and follow
the instructions for modifying the history tables. See also “Setting Up the History Tables” on
page 148.

 Customize the user-defined field (UDF) tables for CI_CAMPAIGN and CI_COMMUNICATION.
Scroll down to the BEGIN USER DEFINED SECTION and follow the instructions for
modifying the UDF tables.

 Customize the extension tables:

– CI_CAMPAIGN_EXT
– CI_CAMP_CHECKLIST_ITEM_EXT
– CI_CAMPAIGN_GROUP_EXT
– CI_CAMP_GRP_CLIST_ITEM_EXT
– CI_COMMUNICATION_EXT
– CI_DYNAMIC_TREATMENT_ATTR_EXT

Scroll down to the BEGIN EXTENSION SECTION and follow the instructions for modifying
the extension tables.

 (optional) Customize the reporting views that produce reports in the style of SAS Marketing
Automation 4.4 for contact history. Scroll down to the BEGIN VIEW SECTION. Follow the
instructions for modifying the reporting views.
N OTE : If you do not customize the BEGIN VIEW SECTION, then you can safely ignore
the error messages that result from running the default code in this section of the DDL script.
Some of the acceptable errors are caused by a missing or invalid SUBJECT_ID column. Other
acceptable errors are caused if you previously created multiple subjects and had subsequently
renamed the CI_CONTACT_HISTORY tables. The default code would incorrectly reference
the default names of the history tables.
146 F Chapter 10: Implementing the Common Data Model

How to Find Your DDL Scripts for Creating the Common Data Model

The database in your environment specifies the name for <target> at the end of the ciddl filename as
follows:

Database Corresponding Program Name


<Target>
Oracle ora ciddlora.sas
DB2 db2 ciddldb2.sas
Teradata trd ciddltrd.sas
SQL server sqs ciddlsqs.sas
Scalable Performance spd ciddlspd.sas
Data server
Neoview neo ciddlneo.sas
Netezza ntz ciddlntz.sas

Find the program at the following locations:

 Under Windows: <!SASroot>\ma\misc

 Under UNIX: <!SASroot>/misc/ma

Specify Your Database Connection Values

To specify the connections between your database and the common data model tables, open
ciddl<target>.sas (where <target> for your environment is specified in “How to Find Your DDL
Scripts for Creating the Common Data Model” on page 146). Make the changes that apply for the
applicable database type as follows:

Oracle Example

%let lib = <Target Library>; /* For example, MAREPORT */


%let path = <Oracle TNS Entry>; /* From tnsnames.ora */
%let user = <User Name>; /* Oracle User/Schema */
%let pass = <Password>; /* Oracle Password */

For example, if your Oracle library name is MAREPORT, the user ID is scott, the password is tiger,
and the Oracle TNS Entry computer is cicommon.acme.com, then your %LET statements would be
similar to the following statements:

%let lib = MAREPORT;


%let path = cicommon.acme.com;
%let user = scott;
%let pass = tiger;
Specify Your Database Connection Values F 147

N OTE : For Oracle, if the common data model is in a separate database instance from the customer’s
subject data (for example: customer, household, account), then the tnsnames.ora file must be updated
with the new connection information about the subject data files so that SAS Management Console
can connect to SAS Customer Intelligence.

N OTE : The tnsnames.ora file would be located on the SAS computer where the Oracle client is
installed.

DB2 Example

%let lib = <Target Library>; /* For example, MAREPORT */


%let user = <User Name>; /* Other than Default User */
%let pass = <Password>; /* DB2 Password */
%let dsn = <Data Source>; /* DB2 Data Source */

Teradata Example

%let lib = <Target Library>; /* For example, MAREPORT */


%let user = <User Name>; /* Teradata User */
%let pass = <Password>; /* Teradata Password */
%let server = <Server>; /* Teradata Server or TDPID */

SQL server Example

%let lib = <Target Library>; /* For example, MAREPORT */


%let user = <User Name>; /* Other than Default User */
%let pwd = <Password>; /* SQL Server Password */
%let dsn = <Data Source>; /* SQL Server Data Source */

SAS Scalable Performance Data server Example

%let lib = <Target Library>; /* For example, MAREPORT */


%let domain = '<Libname Domain>'; /* CI 5.1 Libname Domain */
%let server = <serverNode.Port>; /* Name Server Network Node, Port */
%let user = '<User>'; /* Scalable Performance Data Server User */
%let dttmfmt = <DateTime Format>; /* For example, NLDATM21. */
%let dtfmt = <Date Format>; /* For example, DATE9. */

Neoview Example

%let lib =<library>; /* For example, MAREPORT */


%let user =<user>; /* NeoView User */
%let pass =<password>; /* NeoView Password */
%let server = '<server address>'; /* NeoView Server Ex:192.168.24.11*/
%let schema = <schema name>; /* NeoView Schema */
148 F Chapter 10: Implementing the Common Data Model

Netezza Example

%let lib = <library>; /* For example, MAREPORT */


%let user = <user>; /* Netezza User */
%let pwd = <password>; /* Netezza Password */
%let dsn = <dsn>; /* Netezza Data Source */

Setting Up the History Tables

Overview: Setting Up the History Tables

These three history tables must be created according to subject type within the environment:

 CI_CONTACT_HISTORY records the contacts who are identified by SAS Marketing Automa-
tion and SAS Real-Time Decision Manager.

 CI_PRESENTED_TREATMENT_HISTORY records the specific treatments that were actually


presented to the consumer. This table is automatically populated by SAS Real-Time Decision
Manager.

 CI_RESPONSE_HISTORY records the responses to specific contacts or presentations of


treatments. This table is automatically populated by SAS Real-Time Decision Manager and
by SAS Marketing Automation when used with SAS Digital Marketing for campaigns that
include e-mail communications.

The following changes are required to set up these tables for subject and business context. The
section of the ciddl <target>.sas program code for history tables appears in the BEGIN HISTORY
SECTION.
N OTE : When you run this code in order to set up a demonstration, one change to this program is
required: specify the customer-specific target source connection values in the %LET statements at
the beginning of the program.

Update the Placeholder SUBJECT_ID Columns

Each of the tables in the BEGIN HISTORY SECTION by default contain the primary key column,
SUBJECT_ID, that is used as a placeholder column. A history table can belong to one or more
subjects, as well as to one or more business contexts. You must update SUBJECT_ID with a
customer-specific subject key column or columns that typically point to an external table of custom
business values.
Update the Placeholder SUBJECT_ID Columns F 149

A. Update a Single Subject

1. SUBJECT_ID is a placeholder column for the subjects. Replace this column with the key
column or columns of the subject or subjects.

For example, if the subject that is referenced is Customer and if the key column is CUS-
TOMER_ID that is referenced as VARCHAR(10), then replace the SUBJECT_ID column
with this column:
CUSTOMER_ID VARCHAR(10) NOT NULL

N OTE : If the subject has a composite key, then the multiple columns of the composite key
will replace the SUBJECT_ID column.

2. Replace SUBJECT_ID column in the primary key constraint statements.

For a Neoview DBMS, replace the SUBJECT_ID column in the hash partition and create
unique index statements.

For a Netezza DBMS, replace SUBJECT_ID column in the DISTRIBUTE ON clause.

B. Update Multiple Subjects

1. Duplicate each of the three history tables for each subject that track history, and assign a
subject-specific name to each table. For example, if one of the multiple subjects that is
referenced is Customer, then the history tables might have these names:

CI_CUST_CONTACT_HISTORY
CI_CUST_RESPONSE_HISTORY
CI_CUST_PRESENTED_TREAT_HIST

2. Rename the constraint names to match the new subject-specific table names.

3. Follow the same steps in “Update a Single Subject” (listed above) for the set of tables for each
subject.

4. Repeat the previous steps for each subject.

C. Update a Single Subject in Multiple Business Contexts

A single business context requires no change other than the modifications described above for the
single or multiple subject updates. If a multiple business context setup is required, you can use one
of the following techniques:

 Run this entire SAS program using a different schema for each business context. Every
common data model table should be duplicated for each schema.
150 F Chapter 10: Implementing the Common Data Model

 For each schema, duplicate the three tables in the history section, once for each subject in all
business contexts, and assign an identifiable business context name to each table.

If a company is divided into two separate business contexts (such as Asia Pacific-AP and North
America-NA), then duplicate and name the three tables in the history section according to the
corresponding business context. For example:

CI_AP_CUST_CONTACT_HISTORY
CI_AP_CUST_RESPONSE_HISTORY
CI_AP_CUST_PRESENTED_TREAT_HIST
CI_NA_CUST_CONTACT_HISTORY
CI_NA_CUST_RESPONSE_HISTORY
CI_NA_CUST_PRESENTED_TREAT_HIST

N OTE : Table names must conform to the restrictions (such as length and special characters) of the
target data source. For example, the maximum length of a table name in Oracle is 30 characters.

D. Update Multiple Subjects in Multiple Business Contexts

Multiple subjects within multiple business contexts can also exist. Use a naming convention to easily
identify the combination of subject and business context. Here are examples:

CI_AP_CUST_CONTACT_HISTORY
CI_AP_CUST_RESPONSE_HISTORY
CI_AP_CUST_PRESENTED_TREAT_HIST
CI_AP_HHLD_CONTACT_HISTORY
CI_AP_HHLD_RESPONSE_HISTORY
CI_AP_HHLD_PRESENTED_TREAT_HIST
CI_NA_CUST_CONTACT_HISTORY
CI_NA_CUST_RESPONSE_HISTORY
CI_NA_CUST_PRESENTED_TREAT_HIST
Customizing the Extension (EXT) Tables F 151

Customizing the Extension (EXT) Tables

Overview

These steps are required in order to customize an extension table:

1. Modify the database table definition for the extension table. This step is performed by the
system DBA.

2. Identify which custom details (UDFs) are associated with which column of the extension table.
This step is performed by the administrator in SAS Management Console.

N OTE : User-defined fields (UDFs) in the common data model are represented as custom details in
SAS Customer Intelligence Studio and in SAS Management Console.
Although the examples in this section use the CI_CAMPAIGN table and its associated UDF tables
and extension tables, CI_CAMPAIGN is only one of the common data model tables that contain
associated UDF and extension tables.

Modify the Definition of an Extension Table

Overview

The extension tables contain one column by default that is a key column that is associated with a
main table in the common data model. For example, the extension table, CI_CAMPAIGN_EXT,
contains the single column called CAMPAIGN_SK that is a key column in the associated table,
CI_CAMPAIGN.
To create the new UDF columns for reporting, add a column to the extension table. Here is an
example of SAS code in which a column called CAMPAIGN_ADDITIONAL_DESC is added to the
CI_CAMPAIGN_EXT extension table in an Oracle database.
152 F Chapter 10: Implementing the Common Data Model

Example: Modifying the Oracle Database Table Definition of an Extension Table

/*===================================================================*/
/* Enter Customer Specific Target Source Connection Values - Oracle */
/*===================================================================*/

%let path = <Oracle TNS Entry> ; /* From tnsnames.ora */


%let user = <User Name> ; /* Oracle User for schema */
%let pass = <Password> ; /* Oracle Password */

PROC SQL NOERRORSTOP;

CONNECT TO ORACLE (USER=&USER PASS=&PASS PATH=&PATH);

EXECUTE (ALTER TABLE CI_CAMPAIGN_EXT


ADD CAMPAIGN_ADDITIONAL_DESC VARCHAR (50)) BY ORACLE;
DISCONNECT FROM ORACLE;

QUIT;

Set Up the User-Defined Fields in SAS Management Console

User-defined fields (custom details) are defined in SAS Management Console. In order to indicate
that a specific UDF (custom detail) should be added to the extension table, you specify the name of
the column that corresponds to the custom detail. This custom detail, specified as a user interface
field in SAS Management Console, must conform to the column-naming conventions of the target
data source such as SAS, Oracle, or DB2. For example, a database might disallow special characters,
or might restrict the column length.

Populating the Extension Tables

The extension tables are populated automatically when a campaign is executed. Using the specific
UDF tables as input, the system performs simple row-to-column mapping. One column (that you
must have previously defined in SAS Management Console) in the extension tables is populated for
each row that exists in the associated UDF tables.
Example
This example code shows the values of the specific UDF table that return a value of East. The value
East is also published to the CAMPAIGN_ADDITIONAL_DESC column in the extension table.

CAMPAIGN_SK = 1000000001
CHAR_UDF_NM = 'Sales Unit'
CHAR_UDF_SEQ_NO = 000002
CHAR_UDF_CHECKLIST_FLG = 'N'
CHAR_UDF_VAL = 'East'
CHAR_EXT_COLUMN_NM = 'CAMPAIGN_ADDITIONAL_DESC'
PROCESSED_DTTM = 01-APR-2004 00:00:00
Modify the Definition of an Extension Table F 153

If the column does not exist in the extension table, then no error is reported; however, no data is
written. This behavior is designed to enable you either to create campaign definitions that have
extension column names before the tables are modified, or to modify the tables before you create the
campaign definitions.
154 F Chapter 10: Implementing the Common Data Model

Setting Up the Lookup Tables

Prepopulate the Lookup Tables

After the lookup tables for the common data model are created (as specified in “Creating the Table
Structure of the Common Data Model” on page 145 and “Setting Up the History Tables” on page 148),
you next prepopulate the lookup tables with default values. To prepopulate the lookup tables and
assign startup codes, run the ciloadcd.sas program. Find ciloadcd.sas at the following locations:

 Under Windows: <!SASroot>\ma\misc

 Under UNIX: <!SASroot>/misc/ma

For a list of lookup tables and their prepopulated values, see “About Lookup Tables” on page 138 in
Chapter 9, “Common Data Model: Concepts.”

Specifying Non-English Values in the Lookup Tables

Overview

If the language for your locale is not English, then you can specify the language for the values in the
lookup tables by modifying ciddl<target>.sas. N OTE : To determine the name and location of your
ciddl<target>.sas file, see “Creating the Table Structure of the Common Data Model” on page 145.
For a list of lookup tables and their prepopulated values, see “About Lookup Tables” on page 138 in
Chapter 9, “Common Data Model: Concepts.”

Populate Reference Tables with Language-Specific Data

The DDL script that is used to create these lookup tables is located in the section of ciddl<target>.sas
titled POPULATE REFERENCE TABLES WITH LANGUAGE SPECIFIC DATA. This section
of code populates the tables with translated data according to the locale where the SAS instance is
running.
For example, if the locale is French, then replace %SYSFUNC in the %LET statement at the
beginning of the step with a valid two-byte language code such as %let lang = fr;
As a result, the values in the lookup tables will be populated with the status codes and descriptions in
French.
Resolving Translated Data F 155

Resolving Translated Data

The SASMSG function has been added to each INSERT statement in ciddl<target>.sas to prop-
erly resolve the translated data that contains characters in Unicode escape representation. The
SASHELP.ci tables that are created by SMD files contain these characters. These characters are
resolved by the SASMSG function when the message text is read from the table. These characters are
used in the table to enable you to store data for all languages in one SAS data set. The tables are also
created in an encoding that supports ASCII characters that are used in Unicode escape representation
to prevent problems with data loss during transcoding. These problems can occur if the language of
the locale is incompatible with the session encoding.

Registering Data Sources

Overview

Registering the tables for the common data model was completed during the installation of your SAS
Customer Intelligence product. However, if you change the location of your common data model
tables, then you must re-register the tables.
To register the SAS Customer Intelligence Common Data Model tables, complete these steps:

1. Create a new SAS library definition named MAREPORT.


2. Import the common data model tables into the MAREPORT library.

You can register the common data model tables for SAS Customer Intelligence by using either SAS
Management Console (see “Use SAS Management Console to Register Common Data Model Tables”
on page 156) or SAS Data Integration Studio (see “About Using SAS Data Integration Studio to
Register Common Data Model Tables” on page 155 for an overview). The steps in both of the
applications are similar.
Although the examples in this chapter use an Oracle database, you can specify other databases,
including SAS data sets. For a comprehensive list of databases that can be used, see the system
requirements for your specific environment that are available at http://support.sas.com.

About Using SAS Data Integration Studio to Register Common Data


Model Tables
If company-specific data tables (such as contact history or response tables) were created with
SAS Data Integration Studio, then the data tables were previously registered to the SAS metadata
156 F Chapter 10: Implementing the Common Data Model

repository, and there is no need to register them using SAS Management Console.
N OTE : If you register a data source using SAS Data Integration Studio and you want to view the
new library in SAS Management Console, then you must select View IRefresh in order to update
the information to SAS Management Console.
If you delete a library in SAS Data Integration Studio or in SAS Management Console after the
tables have been registered, then the tables lose their association with the library. After you register
the library again, you must re-associate each table again with the library by updating the Physical
Storage property of each table (located under Properties).

Use SAS Management Console to Register Common Data Model Tables

To register the sources of data for SAS Customer Intelligence (such as the contact history tables of
the common data model), follow these steps.

1. Create a new SAS library definition. Now you are ready to create the SAS library definition
that references the location of your marketing data for the new schema that you created.
Expand the Data Library Manager and right-click SAS Libraries. Select New Library from
the drop-down list.

2. In the list of database libraries that appears, select the database type for the new SAS library,
and click Next.

3. The SAS library name MAREPORT is the default name, but you can specify any valid library
name. Click Next.

4. Specify the library reference that is the alias for the path to the SAS Marketing Automation
data in the database. N OTE : Although the metadata name of the library must be MAREPORT,
the library reference can be user-specified. Remember, though, that you will need reference
this library name when you set up the treatment performance report.
Use SAS Management Console to Register Common Data Model Tables F 157

5. In the next New Library Wizard that appears, select the database server and the schema from
the drop-down lists. The database server name should correspond to the server name that you
specified when you created the new schema. Click Next.
158 F Chapter 10: Implementing the Common Data Model

6. (Optional) If you know the name of the SAS server or servers that have access to the library,
then select one or more servers from the list, and click Next.

7. A summary of the new metadata definition for the library appears. Click Finish.
Use SAS Management Console to Register Common Data Model Tables F 159

8. Import the common data model tables into the new library definition. In SAS Management
Console, right-click SAS Libraries in order to display the list of libraries. Right-click the
MAREPORT library. In the drop-down list that appears, select Import Tables.
160 F Chapter 10: Implementing the Common Data Model

9. Typically, the source data for SAS Customer Intelligence is located on either the SASMain or
on the SASApp server. Click Next.

10. Verify the database and schema names, and click Next.
Use SAS Management Console to Register Common Data Model Tables F 161

After you enter your credentials, SAS connects to the database. All of the common data model
tables for SAS Customer Intelligence that were defined earlier are displayed.

11. Select all tables (unless you want to exclude other tables that might have been added to the
MAREPORT schema definition), and click Next.
162 F Chapter 10: Implementing the Common Data Model

The selected tables are imported to the SAS metadata repository.

Specify the Library Location for Business Contexts

To configure your business contexts so that they point to the library location for the common data
model (in order to display treatment performance reports), follow these instructions:

1. On the Plug-ins tab in SAS Management Console, select Application Management


ICustomer Intelligence IAdministrative Resources. Click Business Contexts.

2. In the table that appears on the right, right-click the name of the business context and select
Properties.

3. In the Business Context Properties dialog box that appears, select the Options tab.

4. In the Reporting options area, select a libref from the Reporting libref drop-down list.

N OTE : MAREPORT is the default libref, but is no longer required as the libref for the SAS
Customer Intelligence Common Data Model. Specify the library name that references the
common data model.
Specify the Library Location for Business Contexts F 163

If <none> is displayed, then you cannot publish campaigns. This might imply that the
Treatment Performance Report packages either have not been imported or have not been
configured correctly; see “Overview” on page 170.

5. Click OK.

6. Select any additional business context that needs to reference the libref for the common data
model, and specify the libref by repeating the previous steps.
164 F Chapter 10: Implementing the Common Data Model

Saving, Publishing, and the Common Data Model

About Saving Versus Publishing

When SAS Customer Intelligence users publish campaign data, they populate or update the tables of
the SAS Customer Intelligence Common Data Model.
Initially, when a campaign designer begins creating a new campaign, he saves it. SAS Customer
Intelligence Studio does not automatically publish it when it is saved, because any view of the partial
data (if it were updated to the common data model) would be incorrect. The Save operation, since it
does not update the common data model, also uses fewer system resources than the Publish operation.
When the designer has completed all of the components of the campaign, and is ready to update the
common data model, the designer can use two methods to publish the data in SAS Customer Intelli-
gence Studio. When any communication within a campaign is executed, the system automatically
publishes the campaign.
In subsequent Publish operations, the common data model is updated with any changes that were
made since it was last published.
N OTE : You can specify an option in SAS Management Console to publish a campaign when you
save it. When a campaign is published (as opposed to saved), then these consequences might result:

 Performance is reduced during each subsequent Save operation.

 If the campaign designer saves a partially completed campaign at the end of the day, then any
view of the partially published data in the common data model reflects this partial state of the
campaign until the designer next saves his work.

N OTE : The common data model is also updated every time an occurrence runs.
Campaign analysts can then use SAS Web Report Studio to view the campaign data from the common
data model either in the treatment performance report that is supplied with the product, or in their
own customized reports.

Full Publish

A full Publish operation occurs when you first manually publish a campaign from within SAS
Customer Intelligence Studio. When you first manually publish a campaign, all publishable data
is sent to the common data model. Subsequent requests to publish the campaign from within SAS
Customer Intelligence Studio result in an incremental Publish operation.
Full Publish F 165

An incremental Publish operation updates only those fields in the common data model that have
changed or have never been published. An incremental Publish operation occurs under these
conditions:

 You request that a campaign be published from SAS Customer Intelligence Studio and the
campaign has been previously published.

 An execution of the campaign (or a communication within the campaign) occurs.

 A previously published campaign is saved and the Automatically publish campaigns on


subsequent saves option is checked in the business context panel on the Documents tab.
N OTE : This option is located in SAS Management Console: expand Customer Intelligence
IAdministration Resources IBusiness Contexts IProperties. Select the Documents tab.
166 F Chapter 10: Implementing the Common Data Model

Working with the Treatment Performance Report

Purpose of the Treatment Performance Report

The treatment performance report displays treatments across several campaigns, and enables you
to identify the quality of the responses to a treatment. This report can combine data from SAS
Marketing Automation, SAS Real-Time Decision Manager, SAS Web Analytics, and SAS Digital
Marketing.

Figure 10.1 Sample Treatment Performance Report in SAS Web Report Studio

The components of the treatment performance report are provided with SAS Customer Intelligence
so that users can obtain basic reports quickly, and so that users can observe the relationship between
the supplied information map and the resulting report views in SAS Web Report Studio.
Users can save, publish, and distribute the treatment performance report by using SAS Web Report
Studio.
Scenarios That Use the Treatment Performance Report F 167

Scenarios That Use the Treatment Performance Report

Scenario One

The campaign manager wants to view the current status of the number of successful responses that
have been returned for each of the campaigns that are running. The campaign manager accesses the
Internet, logs in to SAS Web Report Studio, and views a list of sample reports for SAS Customer
Intelligence. One of the reports is the treatment performance report. The campaign manager can
modify the report (sort columns, hide columns, and so on) in SAS Web Report Studio.

Scenario Two

The marketing executive requests that daily copies of the treatment performance report be automati-
cally e-mailed to a specified list of recipients.

Administrative Overview

The Treatment Performance report is produced by SAS Web Report Studio from a SAS Information
Map (TreatmentPerformanceReportMap) that references the SAS Customer Intelligence 5.3 Common
Data Model. For more about the common data model, see the SAS Customer Intelligence Common
Data Model Data Dictionary, a PDF document that is available from either your on-site SAS support
personnel or from SAS Technical Support.
The report points by default to a predefined library called MAREPORT that has a database schema
called MAREPORT. However, if another library name has been specified during setup of the SAS
Customer Intelligence Common Data Model, then when you import the SAS Package containing
the treatment performance report, you will need to specify that library name which points to the
common data model. See “Overview” on page 170.
The specific tables that are used by the TreatmentPerformanceReportMap information map are listed
in Table 10.1.
The TreatmentPerformanceReportMap information map defines data items from the following tables:

Table 10.1 Data Items That Are Defined in TreatmentPerformanceReportMap


Table Name Comments
CI_CAMPAIGN contains a planned set of one or more communications
over one or more channels that are directed at a group
of subjects. An example of a subject is customer,
household, or individual.
CI_CAMPAIGN_STATUS contains the status codes and descriptions for a
campaign.
CI_CAMPAIGN_TYPE contains the types of campaigns such as Selection
and Decision.
168 F Chapter 10: Implementing the Common Data Model

CI_CELL_PACKAGE contains columns to associate cells, communications,


and treatments with a package in order to facilitate
reporting. The table also includes summary counts for
contacts and responses at a package level.
CI_CELL_PACKAGE_ TREATMENT_CNT contains the counts and reference information about
the individual treatments that are assigned to a cell.
This information is included if a campaign is
identified by the user as being a campaign for tracking
treatment level presentations (as opposed to package
level contacts).
CI_CHANGE_LOG contains an audit trail that is recorded when a
component (table) of a campaign is changed.
CI_CHANGE_TYPE contains the types of changes such as new or changed
that are stored in the change log.
CI_CHANNEL contains the channels, channel codes, and channel
descriptions that are typically used in a campaign.
CI_COMMUNICATION contains the general descriptive information about a
communication. A communication represents the
delivery of a package of treatments over a channel to
particular cells.
CI_COMMUNICATION_STATUS contains the status codes and status code descriptions
for a communication. For example, the status code _11
means Exported; the status code _12 means Deployed.
CI_CONTROL_GROUP_TYPE contains the types of control groups that are used for
reporting. The supplied type is _ST for Standard.
CI_RESPONSE contains user-defined response codes and their
associated descriptions.
CI_RESPONSE_TYPE contains the codes for the types of responses (for
example, _CV for Converted, _RS for Responded).
CI_RESPONSE_X_CELL_PACKAGE contains the valid responses for cell packages within a
communication, and the response types (for example,
conversion responses and non-conversion responses).
CI_TREATMENT contains the treatments that are associated with either
a selection campaign (created by SAS Marketing
Automation) or decision campaign (created by SAS
Real-Time Decision Manager).
Report Layout F 169

Report Layout

The treatment performance report contains the following fields whose sources are the tables in
Table 10.1.
Table 10.2 Fields in the Treatment Performance Report
Table Derivation of the Report Columns
CAMPAIGN
Campaign Code CI_CAMPAIGN CAMPAIGN_CD
Campaign Name CI_CAMPAIGN CAMPAIGN_NM
Campaign Start Date CI_CAMPAIGN START_DTTM
Campaign End Date CI_CAMPAIGN END_DTTM
Campaign Type CI_CAMPAIGN CAMPAIGN_TYPE_CD
Business Context Name CI_CAMPAIGN BUSINESS_CONTEXT_NM
COMMUNICATION
Communication or Reply Code CI_COMMUNICATION COMMUNICATION_CD
Communication or Reply Name CI_COMMUNICATION COMMUNICATION_NM
Communication or Reply Status CI_COMMUNICATION COMMUNICATION_ STATUS_CD
Communication or Reply Occurrence CI_COMMUNICATION COMMUNICATION_ OCCURENCE_NO
Number
Communication or Reply Occurrence CI_COMMUNICATION EXPORT_DTTM
Date
Communication or Reply Start Date CI_COMMUNICATION START_DTTM
Communication or Reply End Date CI_COMMUNICATION END_DTTM
PACKAGE AND
TREATMENT
Channel Code CI_CELL_PACKAGE_ CHANNEL_CD
TREATMENT_CNT
Package Code CI_CELL_PACKAGE_ PACKAGE_CD
TREATMENT_CNT
Marketing Cell Code CI_CELL_PACKAGE_ CAMPAIGN_CELL_CD
TREATMENT_CNT
Marketing Cell Name CI_CELL_PACKAGE_ CAMPAIGN_CELL_NM
TREATMENT_CNT
Treatment Code CI_CELL_PACKAGE_ TREATMENT_CD
TREATMENT_CNT
Treatment Name CI_TREATMENT TREATMENT_NM
Treatment Description CI_TREATMENT TREATMENT_DESC
Treatment Reference Text CI_TREATMENT TREATMENT_REFERENCE_TXT
Treatment Reference URL CI_TREATMENT TREATMENT_REFERENCE_URL
Subject Type Name CI_CELL_PACKAGE_ SUBJECT_TYPE_NM
TREATMENT_CNT
RESULTS
Attempted Contact Count CI_CELL_PACKAGE_ TOTAL_ATTEMPTED_CONTACT_CNT
TREATMENT_CNT
170 F Chapter 10: Implementing the Common Data Model

Failed Contact Count (TOTAL_ATTEMPTED_CONTACT_CNT)

(TOTAL_MARKETING_CONTACT_CNT)
Marketing Contact Count CI_CELL_PACKAGE_ TOTAL_MARKETING_CONTACT_CNT
TREATMENT_CNT
Marketing Response Count CI_CELL_PACKAGE_ TOTAL_RESPONSE_CNT
TREATMENT_CNT
Marketing Response Rate (TOTAL_RESPONSE_CNT /
TOTAL_MARKETING _CONTACT_CNT) *
100
Conversion Response Count CI_CELL_PACKAGE_ TOTAL_SUCCESSFUL_RESPONSE_CNT
TREATMENT_CNT
Conversion Response Rate (TOTAL_SUCCESSFUL_RESPONSE_CNT /
TOTAL_MARKETING_CONTACT_CNT ) *
100

Setting Up the Treatment Performance Report

Overview

The following SAS package files are provided as part of the treatment performance report:

 TreatmentPerformanceReportMap.spk (SAS Information Map)

 TreatmentPerformaceReport.spk (treatment performance report)

The installed location of these files (under either UNIX or Windows) on the middle tier is
<!SASroot>/SASCustomerIntelligenceReportingMidTier/5.3/Config/Deployment/
Packages.

Follow these steps to install and configure the treatment performance report for viewing in SAS Web
Report Studio.

1. Verify that the SAS Customer Intelligence Common Data Model tables have been registered.
For details, see “Registering Data Sources” on page 155.

2. Using SAS Management Console, import the information map file for the treatment perfor-
mance report (TreatmentPerformanceReportMap.spk). Follow these steps:

a) On the Folders tab, navigate to the folder where you want to store the information map,
such as the SAS Folders\Products\SAS Customer Intelligence folder.
b) Right-click the folder name, and select Import SAS Package from the drop-down menu.
c) Follow the wizard steps by using the Browse button to navigate to the installed location
of the SPK file for the information map.
Setting Up the Treatment Performance Report F 171

N OTE : The installed location (under either UNIX or Windows) on the middle tier is
<!SASroot>/SASCustomerIntelligenceReportingMidTier/5.3/Config/
Deployment/Packages.
Find and select TreatmentPerformanceReportMap.spk.

Select the SAS library in the target location that references the SAS Customer Intelli-
gence Common Data Model (the default library is MAREPORT).

Complete the wizard steps to finish importing the package that contains the information
map.
d) (Optional verification step) Using SAS Information Map Studio, navigate to the folder
where you imported the information map. Open the information map for the treatment
performance report to confirm that the information map has been imported without errors.

3. Using SAS Management Console, import the report file for the treatment performance report
(TreatmentPerformanceReport.spk). Follow these steps:

a) On the Folders tab, navigate to the folder where you want to store the treatment perfor-
mance report, such as the SAS Folders\CI Assets\Reports folder.
b) Right-click the folder name, and select Import SAS Package from the drop-down menu.
c) Follow the wizard steps by using the Browse button to navigate to the installed location
of the SPK file for the treatment performance report.

N OTE : The installed location (under either UNIX or Windows) on the middle tier is
<!SASroot>/SASCustomerIntelligenceReportingMidTier/5.3/Config/
Deployment/Packages.
Find and select TreatmentPerformanceReport.spk. Complete the wizard steps to
finish importing the package that contains the treatment performance report.
d) (Optional verification step) Verify that users can access the treatment performance report
in SAS Web Report Studio.

Viewing the Treatment Performance Report: About User Permissions

By default, all users who can log on to SAS Web Report Studio have permission to view the treatment
performance report.
For more information about user permissions, see Chapter 7, “Users and Groups.”
You can control user access to the treatment performance report by creating new groups in SAS
Management Console. For more information, see SAS Intelligence Platform: Web Application
Administration Guide, Third Edition at http://support.sas.com/92administration.
172 F Chapter 10: Implementing the Common Data Model

Scheduling and Distributing the Treatment Performance Report

For details, see the chapter entitled “Pre-generated Reports from SAS Web Report Studio” in
SAS 9.2 Intelligence Platform: Web Application Administration Guide. The Web Application
Administration Guide is listed under Administration Documentation at http://support.sas.
com/92administration.
Part III

Maintenance
174
Chapter 11

Scheduling Campaigns

Contents
Scheduling SAS Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Overview of Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Scheduling Campaigns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Verify the Specifications for the Scheduling Server . . . . . . . . . . . . . . . 177
Overview of Third-Party Schedulers . . . . . . . . . . . . . . . . . . . . . . 178
Comparing the LSF Scheduler with an OS Scheduling Tool . . . . . . . . . 179
The SAS Marketing Automation Launcher . . . . . . . . . . . . . . . . . . . . . . 179
What Is the Launcher? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
View the Launcher Command . . . . . . . . . . . . . . . . . . . . . . . . . 180
How to Enable Logging for the Launcher . . . . . . . . . . . . . . . . . . . 180
Command-Line Arguments of the Launcher . . . . . . . . . . . . . . . . . 182
Handling Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

Scheduling SAS Jobs

Overview of Scheduling

Scheduling jobs from SAS Marketing Automation is only a part of the overall scheduling process that
takes place for all SAS jobs across your enterprise computing environment. See Scheduling in SAS
9.2 at http://support.sas.com/documentation/onlinedoc/sasmc/index.html for
details about how to automate the scheduling and execution of SAS jobs in general, including jobs
from SAS Marketing Automation.
Millions of SAS jobs are continually executed by SAS components in the SAS Business Intelligence
environment. You can schedule a diagram, campaign, campaign group, or communication as a job
for SAS Marketing Automation.
Many factors, such as personnel and priorities, affect job scheduling efficiency within an enterprise.
To control the resources that are used by various individuals such as marketing campaign designers,
your SAS environment uses a third-party scheduler. A scheduler application such as Platform LSF
176 F Chapter 11: Scheduling Campaigns

or an OS scheduling tool such as the Windows AT command or UNIX AT command automatically


assigns the resources for job execution as specified by known criteria.
See the SAS Marketing Automation 5.3: User’s Guide for details about scheduling a campaign in
SAS Customer Intelligence Studio.

Scheduling Campaigns

This diagram illustrates the campaign scheduling process:

Figure 11.1 Scheduling a Campaign: How It Works

1. A user creates a job (such as a diagram or campaign) using SAS Customer Intelligence Studio.

2. A user schedules the job by using either SAS Customer Intelligence Studio or the Schedule
Manager Plug-in for SAS Management Console, depending on the user’s rights to perform
scheduling tasks.
Verify the Specifications for the Scheduling Server F 177

3. The third-party scheduler (such as Platform LSF) triggers the job to be executed, and passes
the instruction to the Launcher.

4. The Launcher sends the command in the format that the SAS Marketing Automation engine
(on the application server) understands. The SAS Marketing Automation engine executes the
job.

Verify the Specifications for the Scheduling Server

To schedule jobs from SAS Customer Intelligence Studio, verify that the correct name, user ID, and
password are specified for the third-party scheduling server.
To specify or verify the name, user ID, and password for the appropriate scheduling server, follow
these steps:

1. In SAS Management Console, on the Plug-ins tab, select Application Management


IConfiguration Manager.

2. Right-click Customer Intelligence Core 5.3, and click Properties. Select the Advanced tab.

 If the third-party scheduler is Platform LSF, then specify all instances of Scheduling
Server Name as Platform Process Manager, the LSF Admin Name as the installa-
tion user of the environment, and the LSF Admin Password as the encrypted password
of the user.
178 F Chapter 11: Scheduling Campaigns

 If the third-party scheduler is an OS scheduling tool, then specify Scheduling Server


Name as Operating System Services, the LSF Admin Name as the installation
user of the environment, and the LSF Admin Password as the encrypted password of
the user.

Overview of Third-Party Schedulers

Platform LSF Scheduler is still the recommended third-party scheduler for SAS Marketing Automa-
tion jobs. However, Platform LSF Scheduler is an optional application and is not bundled with SAS
Marketing Automation 5.3.
To schedule jobs from SAS Marketing Automation, you are no longer required to install LSF
Scheduler. You can use an OS scheduling tool (such as the AT command) in either Windows or
UNIX.
Comparing the LSF Scheduler with an OS Scheduling Tool F 179

Comparing the LSF Scheduler with an OS Scheduling Tool

The Platform LSF Scheduler does the following:

 provides the most flexibility for scheduling campaign groups.

 can schedule the optimization and campaign executions separately.

 can set an offset for individual campaigns so they execute a specified time after the optimiza-
tion.

 can add and schedule new campaigns to the group without rescheduling the entire campaign
group.

 supports the separate flows that are created for each member campaign in Schedule Manager.

 supports the separate flows that are created for optimization.

An OS scheduling tool does the following:

 supports only a single time-based trigger, and does not support multiple criteria or job depen-
dencies.

 requires that the optimization and campaign executions be scheduled as a single unit.

 does not allow offsets to be set for individual campaigns.

 requires that the entire group be rescheduled when campaigns are added to the group.

The SAS Marketing Automation Launcher

What Is the Launcher?

The SAS Marketing Automation Launcher is a small utility program (sasmalauncher.exe) whose
purpose is to pass command-line arguments from the third-party scheduler in a format that is
understood by the SAS Marketing Automation engine on the application server. Typically, the
Launcher is invoked implicitly by the job scheduler.
N OTE : You can also run the Launcher either manually or from some other third-party application.
In the latter case, you identify the campaign or communication by name rather than by its identifier.
180 F Chapter 11: Scheduling Campaigns

View the Launcher Command

A SAS Marketing Automation Launcher command is automatically generated within the job flow
that the user creates using the Schedule Manager Plug-in for SAS Management Console.
To view the automatically generated Launcher command, follow these steps:

1. In SAS Management Console, create a flow using the Schedule Manager Plug-in.

2. Select the flow.


The name of the flow, and a description appear in the right panel.

3. Double-click the flow’s name.


The flow’s properties appear in the Properties window.

4. Select the Scheduling Details tab.


The system-generated Launcher command appears in the Command field, as shown:

How to Enable Logging for the Launcher

Overview

The sasmalauncher.ini file is the Launcher initialization file that contains start-up and configuration
parameters for the Launcher. To configure all logging parameters such as the log filename and the
directory of the log file for the Launcher, follow these steps:

1. Locate the sasmalauncher.ini file.

2. Open sasmalauncher.ini. You will see Java code similar to the sample file excerpt that is
displayed in “Sample Sasmalauncher.ini File” on page 181.
How to Enable Logging for the Launcher F 181

3. Use a Java Runtime Environment (JRE) to add the command lines that specify the logging
parameter or parameters that you want to change. Add each new command argument at the end
of the file. See the list of JRE command-line arguments in “Add Command-line Arguments
(Sasmalauncher.ini)” on page 181.

Locate Sasmalauncher.ini

Sasmalauncher.ini is located by default in the SAS Marketing Automation installation directory:

 UNIX: .../SASMarketingAutomationLauncher/5.3

 Windows: <Drive>:\Program Files\SAS\SASMarketingAutomationLauncher\


5.3

Sample Sasmalauncher.ini File

Here is an excerpt from the sasmalauncher.ini file:

---
[properties]
MASTERPROP=C:\Program Files\SAS\sassw.config

[default]
startdir=<LAUNCHERDIR>
applogloc=
launchercmd=<JREHOME>
JavaArgs_1=-Djava.system.class.loader=com.sas.app.AppClassLoader
JavaArgs_2=-Dsas.app.class.dirs="C:\Program
Files\SAS\SASMarketingAutomationLauncher\5.3"
JavaArgs_3=-Dsas.ext.config=sas.java.ext.config
JavaArgs_4=-Dsas.app.launch.config=picklist
JavaArgs_5=-Dsas.app.repository.path="<VJRHOME>\eclipse"
JavaArgs_6=-Dsas.app.class.path=.

Classpath=-cp "<VJRHOME>\eclipse\plugins\sas.launcher.jar"
MainClass=com.sas.analytics.crm.ma.launcher.MALauncher
---

Add Command-line Arguments (Sasmalauncher.ini)

Use these Java Runtime Environment (JRE) commands within sasmalauncher.ini to perform the
corresponding task:
N OTE : No spaces are allowed in the Java argument unless the path string is enclosed by quotation
marks.

To direct logging information to a log file without specifying a filename:


-Dma.launcher.log
182 F Chapter 11: Scheduling Campaigns

Example: JavaArgs_7=-Dma.launcher.log
A separate log file is created in the sasmalauncher\5.3 directory for each Launcher call
that is made. The filename will be assigned as the time expressed in milliseconds; for example,
1268841617289.log.
To create a log file with a specified filename:
-Dma.launcher.log=<filename>
Example: JavaArgs_8=-Dma.launcher.log=february.log
If the file does not exist, then it will be created. You must manually specify the .log extension
in the filename if you want the extension to be used.
To append the log output to an existing file:
-Dma.launcher.log=<filename>
Example: JavaArgs_9=-Dma.launcher.log=january.log
You must manually specify the .log extension in the filename when you create the file if you
want the file extension to be used in the filename.
To direct logging information to a directory that is a subdirectory of the user’s local drive:
-Dma.launcher.logdir=“<dirname>”
Example: JavaArgs_10=-Dma.launcher.logdir=“c:\AKG\working\schedlogs”
The directory must exist. Enclose a path in double quotation marks.
To direct logging information to an absolute directory:
-Dma.launcher.abslogdir=“<AbsDirectory>”
Example 1:
JavaArgs_11=-Dma.launcher.abslogdir=“\\srshq\root\logs\launcher”

Example 2:
JavaArgs_11=-Dma.launcher.abslogdir=“C:\deptZed\logs\launcher”

The directory must exist. In addition to the sassrv user who must have WRITE permission,
the user who might manually start the Launcher must also have WRITE permission to the
directory.

Command-Line Arguments of the Launcher

Although you will not manually invoke this command, understanding the system-generated command
arguments can help you to understand what metadata from the third-party scheduler is passed to the
SAS Marketing Automation engine.
Launcher Command, Example 1
This example command for the Launcher is followed by the descriptions of its arguments:
com.sas.analytics.crm.ma.launcher.sasmalauncher -d directive -u userID -p password -x busi-
ness context [-e -n -q -v] [–] directive-specific-arguments

sasmalauncher
starts the Launcher.
Command-Line Arguments of the Launcher F 183

-d camp | comm | dgrm | imap


specifies a directive.

Directive Arguments Description


camp campID Executes a campaign by identifier.
camp -n campPath Executes a campaign by path and name.
campaigngroup groupId[groupMode] Executes a campaign group by identifier.
campaigngroup -n groupPath[groupMode] Executes a campaign group by name.
filePath[delete] Deletes the file.
filePath[write] Writes the file.
comm campID commID Executes a communication or a
[occurrence] communication occurrence by campaign
path and name, and by communication
name.
dgrm dgrmID Executes a diagram by identifier.
dgrm -n dgrmPath Executes a diagram by path and name.
imap imapURL Regenerates information map metadata
[clearCache] [typeArgs] tables. The clearCache argument is a
[[genType]] Boolean value that specifies whether the
cache for the information map should be
cleared after the information map is
regenerated.
Either of two values can be assigned as
clearCache genType arguments:
1 SQL
2 PROC SUMMARY
Example: clearCache 1

-u userID
specifies the ID of the user who is responsible for executing this command.
-p password
specifies the password for the user ID.
-e
specifies that the password is encrypted. Otherwise, the password is presented as clear text.
-n
specifies that arguments will be given by using the path and name rather than by identifier.
The path and name must be provided in URI (Universal Resource Indicator) format unless
option ‘q’ (for quoting) is specified.
-q
specifies that arguments will either be quoted or have no spaces. URI translation of arguments
is suppressed when this option is specified.
-x
specifies the name of business context that corresponds to the campaign or communication to
be executed. Use quotation marks to specify the name of the business context; for example,
“Alpha Business Context”. Spaces are allowed; the business context name is not case-sensitive.
184 F Chapter 11: Scheduling Campaigns

-v
specifies verbosity in log messages.
directive-specific-arguments
specifies a space-separated list of table-type arguments that are generated by a SAS Marketing
Automation Plug-in for SAS Management Console.

Launcher Command, Example 2


Here is another example of a system-generated Launcher command:

C:\Program Files\SAS\SASMarketingAutomationLauncher\5.3\sasmalauncher.exe
-u sasadm -p "my pass" -x "Functional Small Teradata" -n -v -q -d comm
"Churn reduction\sub folder 1\Campaign 3" "mail_1" 4

The options -n and -q are specified in order to indicate that the campaign communication will be
executed by path and name, and that quotes will be used to specify the arguments.
The Launcher is started by user sasadm with a non-encoded password of my pass in the business
context Functional Small Teradata.
Occurrence 4 of the communication mail_1 in the campaign Churn reduction\
sub folder 1\Campaign 3 is being executed.

Verbose logging is specified.

Handling Error Codes

Troubleshooting the Most Common Launcher Errors

These are the three most common error codes that might be generated by the Launcher:

 Unexpected Error

 Execution Failed

 Unable to Log onto Application Server

Unexpected Error, Execution Failed


First, check for errors in the logs of the SAS Marketing Automation engine (on the application
server) and the SAS Remote Services server.
Next, start the Launcher (see “Command-Line Arguments of the Launcher” on page 182) from a
command prompt on the computer where the Launcher is installed, and determine whether the same
error or a different error occurs. To view the automatically generated Launcher command, see “View
the Launcher Command” on page 180.
Unable to Log onto Application Server
When the Launcher cannot log onto the application server, these are two of the most common causes:
Handling Error Codes F 185

 The application server (SAS Marketing Automation engine) is not running.

 The password of the user who scheduled the campaign in SAS Customer Intelligence Studio
has changed since the campaign was originally scheduled.

The error occurs when the scheduler issues a command to the Launcher after a period of time
has elapsed since the campaign was scheduled in SAS Customer Intelligence Studio, and the user
password has since been changed. The scheduler submits the stored user ID with the password that
is no longer valid. The Launcher rejects the command, and the job is not submitted to the application
server (where the SAS Marketing Automation engine is located).
To correct this error, the SAS Customer Intelligence Studio user must delete and reschedule the flow
that contained the communication occurrence that caused the login error, employing his current ID
and password.
To prevent this error that is caused by passwords being routinely changed, establish a single user ID
with a permanent password that enables a single user (for example, lsfadmin) to schedule marketing
automation jobs.

List of Error Codes

These are the error codes that can be returned by the Launcher. If a remedy or strategy for handling
an error is available, then it is included in the error description.

01 Unexpected error
For a troubleshooting strategy to use, see Troubleshooting the Most Common Launcher
Errors.
10 Invalid command line
Compare the generated Launcher command with the valid SAS Marketing Automation
Launcher command-line arguments. See “View the Launcher Command” on page 180
and “Command-Line Arguments of the Launcher” on page 182.
11 Invalid directive
The value for the directive in the -d option is not allowed. See “Command-Line Arguments
of the Launcher” on page 182.
12 Invalid argument scheme
The list of arguments either does not correspond to the directive or is not valid for the
directive that is specified by the -d option. See “Command-Line Arguments of the
Launcher” on page 182.
13 Ambiguous argument scheme
The list of arguments is ambiguous for the selected directive that is specified with the -d
option. This error occurs when a conflict exists because either the -n option is used to
name arguments that are not provided in the correct format, or the named arguments do
not correspond to the selected directive.
20 Unable to log in to application server
See Unable to Log onto Application Server.
186 F Chapter 11: Scheduling Campaigns

21 Unable to acquire execution service


The Launcher cannot connect to the execution service within the SAS Marketing Automa-
tion Application Server. The Launcher uses an EJB (Enterprise JavaBeans) execution
within the SAS Marketing Automation Application Server.
22 Invalid campaign group execution mode

23 Unable to switch to context

24 Unable to acquire Security Manager

30 Execution failed
The Launcher command failed to execute. This problem is reported by the SAS Marketing
Automation Application Server. In UNIX operating environments, this error indicates that
the user does not have permission to create and update information map metadata tables.
31 Not executable
This error occurs only when SAS Marketing Automation executes campaigns or diagrams.
A campaign diagram might fail if an export definition has not been associated with at least
one communication.

Open the related diagram in SAS Customer Intelligence Studio, and check the execution
status of the corresponding node in the diagram.
32 Object to execute is locked by another user
The object to be executed is already opened by another client.

The Locks plug-in in the Administration Resources folder of SAS Management Console
enables you to view and release SAS Customer Intelligence Studio objects that are locked,
such as export definitions and campaigns. To release an object, right-click the object
name, and select Release from the pop-up menu.
33 User does not have execute permission on the object
The user ID that is specified in the Launcher command-line arguments does not have
permission to edit the object to be executed.

Schedule the job using a user ID that has edit permissions, or assign to the user proper
permissions to execute the job. See also Unable to Log onto Application Server, and SAS
Marketing Automation 5.3: User’s Guide.
34 Identifier resolve failure
It was not possible to resolve the specified identifier. Either the identifier no longer exists,
or the specified identifier is incorrect. In extreme circumstances, this error is displayed
if the specified campaign name or communication has been incorrectly resolved from
corrupted metadata.
35 Optimization failed for a campaign in the group

45 Metadata server out of memory


Either the metadata server is out of memory, or the application server is refusing the
attempt to execute a non-recurring campaign more than one time.
Handling Error Codes F 187

46 Campaign or diagram is locked


The Locks plug-in in the Administration Resources folder of SAS Management Console
enables you to view and release SAS Customer Intelligence Studio objects, such as export
definitions and campaigns, that are locked. To release an object, right-click the object
name, and select Release from the pop-up menu.
50 Campaign name not found
The specified campaign name and path could not be found. Either the campaign no longer
exists, the specified name is incorrect, or the path is incorrect.
51 Diagram name not found
The specified diagram name and path could not be found. Either the diagram no longer
exists, the specified name is incorrect, or the path is incorrect.
52 Communication name not found
The specified communication name and path could not be found. Either the communica-
tion no longer exists, the specified name is incorrect, or the path is incorrect.
53 Communication occurrence not valid
The specified communication occurrence is not a valid integer number. The commu-
nication occurrence must be an integer value between 1 and the maximum number of
occurrences.
54 Communication occurrence not found
The specified communication occurrence does not exist. Either the occurrence value is
not in range and is not a value between 1 and the maximum number of occurrences, or the
specified occurrence no longer exists.
55 Campaign group path not found

60 File does not exist

61 File cannot be deleted

62 File cannot be written

90 Problem while logging off the application server


A problem occurred while logging off the SAS Marketing Automation Application Server.
This error occurs after the object (the job from the scheduler) is successfully executed
by the application server, but before the SAS Marketing Automation Launcher is discon-
nected.
Look for error messages in the log file of the SAS Marketing Automation application
server.
91 Problem releasing execution service
SAS Marketing Automation Launcher cannot release the execution service within SAS
Marketing Automation Application Server.
SAS Marketing Automation Launcher uses an execution EJB (Enterprise JavaBeans)
within SAS Marketing Automation Application Server.
188 F Chapter 11: Scheduling Campaigns

301, 302 Nonzero error


If you try to run a batch job and receive this error, then the campaign might be open. Close
the campaign and retry the batch job.
Chapter 12

Backing Up and Restoring Data

Contents
The Difference between Backing Up Data and Archiving Data . . . . . . . . . . . 189
General Strategy for Backing Up Data . . . . . . . . . . . . . . . . . . . . . . . . 190
Synchronizing the Backups for SAS Customer Intelligence Environment . . 190
Backing Up the SAS Metadata Server . . . . . . . . . . . . . . . . . . . . . . 191
Backing Up the SAS Content Server . . . . . . . . . . . . . . . . . . . . . . 191
Backing Up Campaigns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Introduction to SAS Customer Intelligence Integration Utilities . . . . . . . 192
Running the Command Line Interface . . . . . . . . . . . . . . . . . . . . . 193
Formatting the XML Output . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Terms You Need to Know . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Using the %AUTO% Option to Manage a Business Context with Foreign
Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Creating an XML Backup File for Campaigns by Using Sasmaextract . . . . 195
Running Sasmaextract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Restoring an XML Backup File for a Campaign by Using Sasmaimport . . . . 197
Example: Restoring the My Campaign XML Backup File . . . . . . . . . . . 197
Backing Up Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Creating an XML Backup File for Diagrams by Using Sasmaextract . . . . . 198
Restoring an XML Backup File for a Diagram by Using Sasmaimport . . . . 199

The Difference between Backing Up Data and Archiving


Data
The primary difference between the tasks of backing up data and archiving data is in their objectives.
Backups are necessary for the operational recovery of IT business systems during a disaster (for
example, a flood, lightning strike, or hard drive crash). Backups are typically stored for several weeks.
A daily backup cycle can protect all types of business data, including structured and unstructured
data.
Archives (archived data) are created in order to comply with legislation and good corporate compli-
ance practices. Archived data is typically kept for a number of years. To create an archive, manual
processes are created to take a backup copy from its normal backup cycle and store it in a fireproof
190 F Chapter 12: Backing Up and Restoring Data

safe for long term storage. The backup media represents a snapshot of the business at that point
in time. An organization might use archived data to protect structured business data (for example,
business transactions or legal contracts).

General Strategy for Backing Up Data

As part of the maintenance of your SAS Business Intelligence Platform, you should perform the
following steps:

 Back up your SAS metadata repository either nightly or weekly. SAS Marketing Automation
makes extensive use of metadata that is stored on the SAS Metadata Server and physical
content that is stored on the SAS Content Server. Therefore, it is critical to perform regular
backups of these servers.

 Keep separate XML backup files for each of the information maps, campaigns, and diagrams
that are used by SAS Marketing Automation. Store the XML backup files on a separate file
system in order to recover data that might be lost due to a hardware malfunction such as a hard
drive crash.
If one or more objects become corrupted, then you can re-import the XML backup file for a
specific information map, campaign, or diagram, and therefore avoid restoring the entire SAS
Metadata Server and SAS Content Server.

Synchronizing the Backups for SAS Customer Intelligence Environment

When you perform backups of the SAS Metadata Server and the SAS Content Server for SAS
Customer Intelligence, the backups must be synchronized in order to correctly restore the SAS
Customer Intelligence environment.
In order for the backups to be synchronized, the metadata server must be paused during both backups.
Pausing the server (and setting it to an Offline state) ensures that no SAS Customer Intelligence
activity can occur between the creation of the backup for the SAS Content Server and the creation of
the backup for the SAS Metadata Server.
Perform the backups in the following order:

1. Pause the SAS Metadata Server, and set it to an Offline state.

2. Back up either the SAS Content Server or the SAS Metadata Server.

3. Back up the remaining server (either the SAS Metadata Server or the SAS Content Server).

4. Resume the SAS Metadata Server.


Backing Up the SAS Metadata Server F 191

For details about synchronizing your backups, as well as additional guidance for making back-
ups, see “Best Practices for Backing Up Your SAS System” in the SAS Intelligence Plat-
form: System Administration Guide. The guide is available at http://support.sas.com/
92administration.

Backing Up the SAS Metadata Server

A correct backup of the SAS Metadata Server includes the foundation repository, all custom and
project repositories, the metadata journal file, and the metadata server’s configuration files. SAS
provides a macro called %OMABAKUP that pauses the metadata server and creates backups of
these files while minimizing disruptions in service. You can use any of the following methods to run
%OMABAKUP:

 Run the sasBackup.sas program that is provided with your initial software installation. This
program runs %OMABAKUP and stores the backup files in a directory on the metadata server.
If necessary, you can modify the script to direct the backup to a different location.

 Use the Backup Wizard in SAS Management Console. This wizard enables you to create
and run %OMABAKUP without writing code. You can specify a backup location and select
additional backup options.

 Write a custom program that uses %OMABAKUP.

For details about each of these methods, see “About the Metadata Server Backup and Restore
Utilities” in the SAS Intelligence Platform: System Administration Guide, which is available at
http://support.sas.com/92administration.

If you choose to use operating system commands to back up your metadata repositories and the
repository manager, instead of using the backup tools that SAS provides, then you must be sure to
pause the metadata server, setting it to an Offline state before performing the backup. N OTE : If the
metadata server is Online, or is paused and set to Administration state, then the backup files will not
be usable.

Backing Up the SAS Content Server

To back up the SAS Content Server, follow these steps:

1. Make sure that the SAS Metadata Server has been paused and set to an Offline state.

2. Stop either the Web application server or the SAS Content Server application. If you are using
a JBoss Application Server, then you must stop the server. If you are using an IBM WebSphere
server or a BEA WebLogic server, then you can just stop the SAS Content Server application.
192 F Chapter 12: Backing Up and Restoring Data

3. Use operating system commands or third-party tools to copy all of the files and subdirectories
from the following path:
SAS-configuration-directory\Lev1\AppData\SASContentServer\Repository

Backing Up Campaigns

Introduction to SAS Customer Intelligence Integration Utilities

To create an XML backup file for a campaign or a diagram, use the SAS Customer Intelligence
Integration Utilities that are provided with SAS Customer Intelligence.
Although the installation of the SAS Customer Intelligence Integration Utilities is optional, they are
typically installed with SAS Customer Intelligence. If the utilities have not been installed at your
site, then they can be installed from the media that you received when you licensed SAS Customer
Intelligence. Contact your on-site SAS support personnel for details.
SAS Customer Intelligence Integration Utilities consist of three programs:

sasmaextract copies a campaign or diagram for SAS Customer Intelligence from


the SAS Metadata Repository and outputs an XML backup file. The
XML backup file contains the information necessary to recreate the
campaign or diagram.

sasmaimport restores campaigns or diagrams from an XML backup file to the


SAS Metadata Repository.

sasmapromote moves campaigns and diagrams from one computer that is typically
configured for testing or development, to another computer, typi-
cally in the working environment. Sasmapromote combines both
the extract and the import tasks into one step.

When a campaign or diagram is created, all definitions (export, communication, and campaign
metadata) are copied into the campaign. When you use any of the utilities to export, import, or
promote campaigns, all of the information necessary to run a campaign (on any system that imports
the campaign) is included (see the Note for the exception).

N OTE : If a campaign contains a Link node that links to a cell in another diagram, then you must
extract or promote the other diagram separately.
You can also use SAS Customer Intelligence Integration Utilities to do the following tasks:

 promote campaigns to a different metadata repository (for example, from a development


environment to a testing environment, and then from a testing environment to the production
Running the Command Line Interface F 193

environment)

 import new SAS Customer Intelligence metadata into the SAS Metadata Repository

The utilities can reside on any computer that has network access to the following servers:

 SAS Metadata Server

 Web application server where SAS Customer Intelligence is installed

The utilities are located in the directory <!sasroot>\SASMarketingAutomation\


MAIntegration\5.3.

Running the Command Line Interface

To run any one of the utilities, open a command prompt from the location where the utilities have
been installed. Use a dir command to ensure the correct location. The following list of files (among
other files that are not mentioned) should appear:

jndi.properties is the JNDI property file that contains the connection details for the
application server.

sas.analytics.crm.auxdataio.jar is the JAR file that contains the SAS Customer Intelligence Integra-
tion Utilities.

sasmaextract.exe is the launcher for the extract utility.

sasmaextract.ini is the initialization file for the launcher of the extract utility.

sasmaimport.exe is the launcher for the import utility.

sasmaimport.ini is the initialization file for the launcher of the import utility.

sasmapromote.exe is the launcher for the promote utility.

sasmaimport.ini is the initialization file for the launcher of the promote utility.

The utilities can be executed by providing input arguments to the command line interface. For exam-
ple, use the following command and input argument in order to use the extract utility (sasmaextract):

sasmaextract mydomain\smrusr smrpwd DefaultAuth "BisCtx" request.xml out.xml

sasmaextract is the command.


194 F Chapter 12: Backing Up and Restoring Data

mydomain\smruser is the SAS Metadata Repository user ID with a specified domain.

smrpwd is the password for the SAS Metadata Repository user ID.

DefaultAuth is the SAS Metadata Repository domain.

BisCtx is the business context. Surround the name of the business context
with quotation marks if the name contains spaces.

request.xml is the filename of the input XML request.

out.xml is the filename of the output XML response.

Formatting the XML Output

By default, sasmaextract produces a file that is formatted with indention and line breaks so that the
structure of the XML is easier to edit in simple text editors. The amount of indention (number of
spaces per indent) is controlled by a property that can be set through a special property file called
auxdataio.properties. The formatting can also be turned off by setting the value of this property to
zero.

N OTE : The formatting is not applied if an XSLT style-sheet is used to transform the output XML
file.
For details about setting the spaces per indent property of the auxdataio.properties file, see SAS
Customer Intelligence 5.3 Integration Utilities: User’s Guide that is available from your local SAS
representative or SAS Technical Support.

Terms You Need to Know

Extract is the process of saving a diagram or campaign as an XML backup file to a directory
location that you specify. When you extract a campaign using sasmaextract, you also extract all of the
information that is required to run that campaign such as any export, communication, and campaign
definitions that are stored as part of the campaign or diagram itself.
Import is the process of restoring the XML backup file of a diagram or campaign from its backup
location and returning it to the metadata repository by using sasmaimport.
Using the %AUTO% Option to Manage a Business Context with Foreign Characters F 195

Using the %AUTO% Option to Manage a Business Context with Foreign


Characters
The command line interpreters (.exe files) support only the UTF-8 character set. If your system’s
default business context contains foreign characters such as é, then use the %AUTO% option in the
command line of the integration utilities.
The %AUTO% option specifies to the SAS Integration Utilities that the default business context
should be determined programmatically when a connection to the SAS Marketing Automation
environment has been obtained.

Example: Using the %AUTO% option in Sasmaextract

sasmaextract mydomain\smrusr smrpwd DefaultAuth %AUTO% request.xml out.xml

For details, see SAS Customer Intelligence 5.3 Integration Utilities: User’s Guide that is available
from your local SAS representative or SAS Technical Support.

Creating an XML Backup File for Campaigns by Using Sasmaextract

Example: Extracting a Campaign That Is in the Default Location

The following code example is an instruction file named extractMyCampaign.xml that was created in a
text editor (for example, Windows Notepad). The instruction file will be included in a sasmaextract
request.

<MAExtractRequest>
<CampaignDo detail="All">
<Name operator="=">My Campaign</Name>
</CampaignDo>
</MAExtractRequest>

The sasmaextract request will extract the campaign called My Campaign from the selected business
context.
The sasmaextract request is:

sasmaextract domain\userID-password
"my-business-context" extractMyCampaign.xml
my-extracted-file.xml

However, in other business contexts, campaigns and diagrams are saved to a different default location.
196 F Chapter 12: Backing Up and Restoring Data

In the following example, the campaign My Sports Campaign is saved to the business context
Sports Business Context.
If you save the My Sports Campaign campaign to its default location, then the application
places the campaign in the following folder: Marketing Automation\Business Contexts\
Sports Business Context.

The extract request for the My Sports Campaign campaign is the following code:

<MAExtractRequest>
<CampaignDo detail="All">
<Name operator="=">My Sports Campaign</Name>
<Folder operator="=">
<Name operator="=">Sports Business Context</Name>
<ParentFolder operator="=">Marketing Automation\
Data\Business Contexts\
Sports Business Context
</ParentFolder>
</Folder>
</CampaignDo>
</MAExtractRequest>

Examples: Extracting Campaigns That Are in Locations Other Than the Default
Locations

You might also choose to save My Campaign to a location other than the default folder. In
this example, My Campaign is located in the sub-folder Marketing Automation\Data\
Campaigns2007\Summer. The extract request for My Campaign is the following code:

<MAExtractRequest>
<CampaignDo detail="All">
<Name operator="=">My Campaign</Name>
<Folder operator="=">
<Name operator="=">Summer</Name>
<ParentFolder operator="=">Marketing Automation\
Data\Campaigns2007
</ParentFolder>
</Folder>
</CampaignDo>
</MAExtractRequest>

In another example, if the campaign is in the sub-folder Marketing Automation\


Data\Business Contexts\Sports Business Context\Professional Sports\
Baseball, then the code for the extraction request is:

<MAExtractRequest>
<CampaignDo detail="All">
<Name operator="=">My Sports Campaign</Name>
<Folder operator="=">
<Name operator="=">Baseball</Name>
Running Sasmaextract F 197

<ParentFolder operator="=">Marketing Automation\


Data\Business Contexts\Sports Business
Context\Professional Sports</ParentFolder>
</Folder>
</CampaignDo>
</MAExtractRequest>

Running Sasmaextract

To execute any of the versions of extractMyCampaign.xml on Windows, enter the following command
at a DOS command line (on the computer where the user interface for the utilities is installed):

sasmaextract <domainpassword>
"my-business-context" extractMyCampaign.xml
<my-extracted-file.xml>

Replace the following values in the previous command with actual values for your campaign:

 domainpassword: actual Windows domain, user ID, and password for the SAS Customer
Intelligence administrator.

 my-business-context: the correct business context.

 my-extracted-file: the name that you want to call your extracted file.

N OTE : After this command is executed, the XML file that contains the information that is required
to restore My Campaign will be contained in
<MAIntegration-dir>\my-extracted-file.xml.
Copy the XML backup file to a backup directory on another computer for storage.

Restoring an XML Backup File for a Campaign by Using Sasmaimport

C AUTION : If you re-import or restore a campaign, then ensure that the campaign does not exist in
the current environment.

Example: Restoring the My Campaign XML Backup File

To import or restore the My Campaign XML backup file, perform the following steps:
198 F Chapter 12: Backing Up and Restoring Data

1. Move my-extracted-file.xml to the following directory:


C:\Program Files\SAS\SASMarketingAutomation\MAIntegration\5.3

2. Execute the following command:

sasmaimport <domainpassword> "my-business-context"


<my-extracted-file.xml>

Backing Up Diagrams

Creating an XML Backup File for Diagrams by Using Sasmaextract

Example: Back Up a Diagram

The following example creates MyDiagram.xml that is required to extract a diagram named My
Diagram. Note that the only difference between the XML file for a diagram and the XML file for a
campaign is that the <CampaignDo> tags are replaced with <FlowDo> tags. The diagram resides
in the directory: Marketing Automation\Data\Parent Folder\My Folder.

<MAExtractRequest>
<FlowDo detail="All>
<Name operator="=">My Diagram</Name>
<Folder operator="=">
<Name operator="=">My Folder</Name>
<ParentFolder operator="=">Marketing Automation\Data\Parent
Folder</ParentFolder>
</Folder>
</FlowDo>
</MAExtractRequest>

The command to execute extractMyDiagram.xml is similar to the format for the command to extract a
campaign. (See the previous section.) Enter the following command at a DOS Window prompt (on
the computer where the user interface is installed):

sasmaextract <domainpassword>
"my-business-context" extractMyDiagram.xml
<my-extracted-diagram.xml>
Restoring an XML Backup File for a Diagram by Using Sasmaimport F 199

Restoring an XML Backup File for a Diagram by Using Sasmaimport

The sasmaimport command is the same as the command that is used to restore the My Campaign
campaign. The only differences between the restoration of a diagram and the restoration of a
campaign are in the XML instruction file and the input file.
200
Chapter 13

Performance Tips

Contents
Specifying SAS Macro Variables to Activate the Bulk Load Facility . . . . . . . . . 201
Improving the Performance of Updating Contact History Tables . . . . . . . . 201
Using Macro Variable Statements to Specify Temporary Tables . . . . . . . 202
How to Enable the Bulk Load Facility of the Relational Database . . . . . . . . . . 204
Why the Bulk Load Facility Is Enabled . . . . . . . . . . . . . . . . . . . . 204
Enable the Bulk Load Facility . . . . . . . . . . . . . . . . . . . . . . . . . 204
Examples: Enabling the Bulk Load Facility . . . . . . . . . . . . . . . . . . 206
Configuring JVM to Improve Performance . . . . . . . . . . . . . . . . . . . . . . 208
Specifying JVM Memory Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Overview of Specifying JVM Memory Size . . . . . . . . . . . . . . . . . . 209
Specify Command-line Options in the Remote Services File . . . . . . . . . 209
Windows Only: Run Remote Services as a Windows Service . . . . . . . . . 210
How to Specify a User-Defined Directory in WebSphere . . . . . . . . . . . . . . . 211
Troubleshooting JVM Error Messages . . . . . . . . . . . . . . . . . . . . . . . . 212

Specifying SAS Macro Variables to Activate the Bulk Load


Facility

Improving the Performance of Updating Contact History Tables

If you store contact history tables in a relational database management system such as Oracle,
Teradata, or DB2, then performance might be reduced when you update a contact history table.
The bulk load facility improves performance by obtaining the list of IDs from SAS and passing them
to temporary tables in the database before running a query or before updating the contact history
tables in that database.
202 F Chapter 13: Performance Tips

Using Macro Variable Statements to Specify Temporary Tables

To improve loading performance, you can include SAS macro variable statements in
appserver_autoexec.sas in order to create and load temporary tables that enable the native
bulk load facility of the specified database.
As shown in the following display, you can also use the Options tab of a business context to
specify these temporary tables. Any value that is defined by using the Options tab overrides the
corresponding value when it is defined in appserver_autoexec.sas.

Figure 13.1 Options Tab of the Business Context Properties Window

Here are some examples and their corresponding explanations:

%let dbdsoptions= ;
The value that is assigned to DBDSOPTIONS is used in the SAS DATA step to create the
temporary table. The assignment of DBDSOPTIONS corresponds to the value that is specified
in the Data set options field (see Figure 13.1).
N OTE : The value that is assigned to DBMSTEMP does not affect DBDSOPTIONS.
You can assign values that are specific to the database. Here are examples:

BULKLOAD=YES
BL_METHOD=
INSERTBUFF=1000

%let dbtempschema=<schema name>;


Using Macro Variable Statements to Specify Temporary Tables F 203

%let dbtempschema=;
The assignment of DBTEMPSCHEMA corresponds to the value that is specified in the Schema
field (see the previous display).
If the value that is assigned to DBMSTEMP is not yes, and if a schema is specified, then a
temporary table is created and deleted from the specified schema.
If the value that is assigned to DBMSTEMP is not yes, and if no schema is specified, then a
temporary table is created and deleted from the schema.
The database administrator must select the location for the temporary tables. The following
locations are valid:

 in the same schema as contact history


 in another common schema
 in the schema for each user

Users must have both Read and Write access to the selected schema, including the ability to
create and delete tables and indexes, and the ability to delete, insert, and update records.
If the value that is assigned to DBMSTEMP is yes, then the value of DBTEMPSCHEMA is
ignored because the location of the temporary table is determined by the database.
%let dbmstemp=yes;
%let dbmstemp=;
The assignment of DBMSTEMP corresponds to the checkbox (see Figure 13.1) that specifies
whether the database needs to handle temporary tables. The checkbox is deselected by default.
If the value that is assigned to DBMSTEMP is not yes, then another temporary table is created
and is loaded with customer IDs by the native bulk loading facility. The table is deleted after
contact history is updated.
N OTE : Values must be assigned to DBDSOPTIONS.
The value yes should be assigned to DBMSTEMP only if the site does not authorize users to
create any additional temporary tables; therefore, the temporary table facility of the database is
used.
The disadvantage of using the temporary table facility of the database is that databases do not
support bulk loading. Performance is degraded as a result.
However, performance might be improved by assigning explicit values to both of these SAS
statements:

%let dbdsoptions=insertbuff=1000;
%let dbmstemp=yes;
204 F Chapter 13: Performance Tips

How to Enable the Bulk Load Facility of the Relational


Database

Why the Bulk Load Facility Is Enabled

One of the fastest ways to insert large data volumes into a relational database (when you use the
SAS/ACCESS engine) is to use the bulk loading capabilities of the database.
If you specify BULKLOAD=YES as a data set option or a libref option, then the database uses the
bulk load method. The bulk load method is designed to significantly enhance performance, especially
when database tables are indexed.
The bulk loading method is used during the export process within a Communication or Export node
of a campaign. The bulk loading method loads the data into a temporary table within the DBMS so
that the selection query is applied entirely within the DBMS.
The performance of the bulk load process can be affected by the connectivity between the SAS
Marketing Automation engine and the database server, and by the size of the cell that is being loaded.
For complex campaigns, the disk configuration of the database server might cause a reduction in
performance. However, if only a single bulk load process is started for one campaign, then the disk
configuration should not significantly affect performance.
When the bulkload option is enabled, SAS calls the appropriate bulk load facility for each DBMS.
For Oracle: SQL*Loader
For Teradata: FASTLOAD
For IBM DB2: CLI LOAD
For details about SAS/ACCESS, see Data Administration Guide (located under Administration
Documentation) at http://support.sas.com/92administration. See Connecting to
Common Data Sources within the guide.

Enable the Bulk Load Facility

Enable the bulk load facility of your database to efficiently load history tables by using either of the
following methods:

 Enable the bulkload option for a selected SAS library definition in SAS Management Console.
See the instructions that follow.

 Set the options in the appserver_autoexec.sas file. For details, see “Examples: Enabling the
Bulk Load Facility” on page 206 and Chapter 5, “Data Tier.”

N OTE : To enable the bulk load facility of other databases, access SAS OnlineDoc, and search
by using the keyword 'bulk load facility'.
Enable the Bulk Load Facility F 205

Use SAS Management Console to enable the bulk load facility by following these steps.
For details, see Figure 13.2.

1. On the Plug-ins tab of SAS Management Console, expand Application Management


ICustomer Intelligence IAdministration Resources.

2. Select Business Contexts. In the list that appears on the right, double-click the SAS libref
that corresponds to your database, and select Properties.

3. In the Business Context Properties dialog box that appears, select the Options tab.
For Data set options, type BULKLOAD=YES
For Schema, type MACOMMON.

N OTE : If the Schema field is left blank, then the database user’s own schema will be used to
store the temporary bulkloaded table.

4. Click OK to close the dialog box.


206 F Chapter 13: Performance Tips

Figure 13.2 Specifying the Bulkload Option in SAS Management Console

Examples: Enabling the Bulk Load Facility

Overview

These are code examples that demonstrate how to enable the bulkload option in
appserver_autoexec.sas. For details, see also Chapter 5, “Data Tier.”
Examples: Enabling the Bulk Load Facility F 207

Example for Teradata

The bulkload facility for Teradata is called FASTLOAD. Temporary tables are stored in a single
schema.

%let dbdsoptions=bulkload=yes;
*** a schema is set up on a database for MA temp tables***;
%let dbtempschema=macommon;
%let dbmstemp=;

Example for DB2 and UDB

The bulkload facility for DB2 is called CLI LOAD.

%let dbdsoptions=bulkload=yes bl_method=cliload;


*** a schema is set up on a database for MA temp tables***;
%let dbtempschema=macommon;
%let dbmstemp=;

Example for Oracle

The bulkload facility for Oracle is called SQL Loader. Temporary tables are stored in the default
schema.

%let dbdsoptions=bulkload=yes;
*** because no schema is specified, the user default is used ***;
%let dbtempschema=;
%let dbmstemp=;

Example for a Relational Database for Which a Bulk Load Facility is Not Available

%let dbdsoptions=insertbuff=1000;
*** because no schema is specified, the user default is used ***;
%let dbtempschema=;
%let dbmstemp=;

Example for a Relational Database Where Users are Not Authorized to Create the
Tables

%let dbdsoptions=insertbuff=1000;
%let dbtempschema=;
*** uses the native temp table feature of the database ***;
%let dbmstemp=yes;
208 F Chapter 13: Performance Tips

Example for SQL Server - OLEDB Connection

The DBDSOPTIONS and DBMSTEMP options should remain null because these options are not
supported for an OLEDB connection. The DBTEMPSCHEMA option can be null or it can have a
permanent schema name.

%let dbdsoptions=;
%let dbtempschema=cmtemp;
%let dbmstemp=;

Enable the bulk load facility for an OLEDB connection by using the following options:

BULKLOAD=YES
INSERTBUFF=1000
BL_OPTIONS=CHECK_CONSTRAINT

Both BULKLOAD=YES and BL_OPTIONS=CHECK_CONSTRAINT options must be used to-


gether when the bulk load option of the OLEDB connection is enabled.
The value 1000 for INSERTBUFF is the recommended minimum value, but this value can be
adjusted as specified by your database configuration.

Configuring JVM to Improve Performance

Java Virtual Machine (JVM) is software that converts Java bytecode into machine language and
executes it. JVM is required by Web application servers such as IBM WebSphere or BEA WebLogic.
JVM can run on either the client tier or the server tier.
JVM is the main software component that enables Java programs (for example, SAS Customer
Intelligence Studio 5.3 and SAS Customer Intelligence Integration Utilities) to be portable across
operating environments. JVM is included with JDKs (Java Development Kits), JREs (Java Runtime
Environments), and the J2SE (Java 2 Standard Edition) software from Sun Microsystems.
To improve the performance of reading information maps for SAS Customer Intelligence, enable the
caching of information maps by adding the following system property in the JVM area of WebSphere
or WebLogic:

-Dsas.QueryServices.OMRInformationMapCache.isActive=True

For details about JVM and advanced settings, see these resources:

 the topic about tuning the Java Virtual Machine in SAS Intelligence Platform Administration
Guide at support.sas.com

 the Sun Web site at http://docs.sun.com/app/docs


Specifying JVM Memory Size F 209

Specifying JVM Memory Size

Overview of Specifying JVM Memory Size

You must increase the size of JVM memory when you use large SAS Information Maps. Information
maps are user-friendly metadata definitions of physical data sources that enable your business users
to query a data warehouse in order to meet specific business needs. Large information maps can
contain more than 25 million rows of data, which might require significant memory for loading and
processing.

Specify Command-line Options in the Remote Services File

1. Access the appropriate remote services file:


UNIX location:
Lev1/web/Deployments/RemoteServices/WEB-INF/ StartRemoteServices.sh
Windows location:
Lev1\web\Deployments\RemoteServices\WEB-INF\ StartRemoteServices.bat

2. Include the command-line option in the remote services file, as appropriate:


UNIX Command-line Option:

SERVICES_OPTS="$SERVICES_OPTS -Xms1248m -Xmx1248m


-DentityExpansionLimit=10000000"

Windows Command-line Options:

set SERVICES_OPTS=%SERVICES_OPTS%
-Xms1248m -Xmx1248m -DentityExpansionLimit=10000000

Here is an explanation for each option in the command line:

-Xms1248m -Xmx1248m
are the initial and maximum heap sizes in megabytes. Increasing these values reduces
out-of-memory errors.
The value for the initial memory size must be equal to the value that is specified for the
maximum memory capacity.
N OTE : Adjustments to memory size will be constrained by the computer’s actual
memory size. The memory size that you specify should reflect your configuration.
210 F Chapter 13: Performance Tips

-DentityExpansionLimit
is a system property that permits existing applications to increase the expansion limit on
the total number of entity expansions that can be supported without having to recompile
the code. Increasing entity expansions accommodates large information maps and
reduces denials of requests for service.
An error message is displayed if the specified size is insufficient. For example, this
message reports that the value 64,000 is insufficient:
Parser has reached the entity expansion limit "64,000" set by the Application
To recover from this error, you must increase the expansion size.
The recommended starting value is 10,000,000.

Here is a sample StartRemoteServices.bat file in Windows:

@echo off
set JAVA_PATH=java
if not "%JAVA_HOME%" == "" (
if exist "%JAVA_HOME%\bin" (
set JAVA_PATH=%JAVA_HOME%\bin\java
)
)
set CLASSPATH=
REM Dynamically add all JARs in the WEB-INF\lib
directory to the classpath.
for %%i in (".\lib\*.jar") do call ".\cpappend.bat" %%i
set SERVICES_DIR=C:\SAS\SASConfig\Lev1\web
\Deployments\RemoteServices
set SERVICES_OPTS=-Xms1248m -Xmx1248m -DentityExpansionLimit=10000000
set SERVICES_OPTS=%SERVICES_OPTS% -Djava.security.manager

set SERVICES_OPTS=%SERVICES_OPTS%
-Djava.security.policy="%SERVICES_DIR%\
sas.wik.allpermissions.sasservices.policy"
%JAVA_PATH% %SERVICES_OPTS% com.sas.services.webapp.Bootstrap
conf\sas_metadata_source_server.properties

Windows Only: Run Remote Services as a Windows Service

You can run remote services as a Windows service. All Windows services start automatically when
the Windows operating environment is started.

1. Enter values for these properties in wrapper.conf, which is stored in the following location:
<project-area>\Lev1\web\Deployments\RemoteServices \WEB-INF\conf\wrapper.conf

initial memory heap size: 1,248


maximum memory heap size: 1,248
expansion limit:10,000,000
How to Specify a User-Defined Directory in WebSphere F 211

Regardless of the existing comments in the file, make sure that you specify the recommended
values.
Here is an excerpt from wrapper.conf that contains the specifications for these options:

# Java Additional Parameters


wrapper.java.additional.1=-Djava.security.manager
wrapper.java.additional.2=-Djava.security.policy="<plan-area>
/Lev1/web/Deployments/RemoteServices
/sas.wik.allpermissions.sasservices.policy"
wrapper.java.additional.3=-Dsas.web.config="<plan-area>
/Lev1/web/Deployments/RemoteServices
/WEB-INF/conf/system_properties.config"
wrapper.java.additional.4=-DentityExpansionLimit=10000000
wrapper.java.initmemory=1248
wrapper.java.maxmemory=1248

N OTE : The consecutive numbers indicate the order in which the additional parameters are
passed to the JVM.

2. Save wrapper.conf.

3. To install the SAS Services Application as a service on your computer, execute the InstallRe-
moteServices.bat.

4. To start the SAS Remote Services Application, perform either of the following actions:

 Launch the SAS Remote Services Application by selecting


Start ISettings IControl Panel ISystem and Maintenance IAdministrative Tools
IServices
To start the service, in the Services window, select SAS RemoteServices, which is the
default name.

N OTE : If the service is already installed and you make changes to wrapper.conf, then
you must re-install the service.
 At a command prompt, run this command: net start SASServices

The service starts the SAS Services Application.


N OTE : The name of this service corresponds to the value that is assigned to
wrapper.ntservice.displayname specified in wrapper.conf.

How to Specify a User-Defined Directory in WebSphere

To specify a different directory path than the default tmp directory for the location of temporary files
(such as pfs65214.tmp) that are created for Customer Intelligence by the WebSphere application
server, add this JVM command line by following these steps:
212 F Chapter 13: Performance Tips

1. In the WebSphere Administration Console, expand Servers, and select Administration


Servers.

2. Click the name of your server.

3. Under Additional Properties, expand Java and Process Management and select Process
Definition IJava Virtual Machine.

4. Scroll down to the text box for Generic JVM Arguments.

5. Add this command line, substituting your temporary directory path for myTempDir:
-Djava.io.tmpdir=C:\myTempDir

Troubleshooting JVM Error Messages

Here are typical error messages.

 Exception java.lang.OutOfMemoryError: requested size bytes


JVM cannot expand its heap size if memory is completely allocated, and if swap space is not
available.
To recover from the error, perform the following actions:

– Increase the available swap space by allocating more of the disk for virtual memory.
– Limit the number of applications that run simultaneously.
– Ensure that the values for the minimum and maximum heap sizes -Xmsn and -Xmxn
command-line options are identical in the remote services file (StartRemoteServices.sh
for UNIX and StartRemoteServices.bat for Windows).

N OTE : Increasing the heap size to values larger than the recommended values does not fix
the problem. For recommended values, see “Specify Command-line Options in the Remote
Services File” on page 209.

 Parser has reached the entity expansion limit “64,000” set by the Application
This error occurs when metadata is being generated or when SAS Customer Intelligence Studio
is retrieving metadata.
To recover from the error, increase the entity expansion limit in the remote services file. A
starting value of 10,000,000 is recommended for the -DentityExpansionLimit command-line
option.
Part IV

Appendix
214
Appendix A

Optional Client Tier Applications for SAS


Customer Intelligence

Contents
Overview of Optional SAS Solutions . . . . . . . . . . . . . . . . . . . . . . . . . 215
Hardware Requirements for the Client Tier . . . . . . . . . . . . . . . . . . . . . 215
SAS Data Integration Studio 3.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
SAS Digital Marketing Studio 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . 218
SAS Enterprise Guide 4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
SAS Enterprise Miner 6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
SAS Information Delivery Portal 4.2 . . . . . . . . . . . . . . . . . . . . . . . . . 222
SAS Marketing Optimization 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
SAS Real-Time Decision Manager 5.3 . . . . . . . . . . . . . . . . . . . . . . . . 222
SAS Web Analytics 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
SAS Web Report Studio 4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

Overview of Optional SAS Solutions

Although SAS Marketing Automation is a required component of SAS Customer Intelligence, other
(optional) SAS solutions exist within the SAS Customer Intelligence family. This section contains a
summary of these optional SAS solutions on the client tier that might be included in your installation.
Each summary shows the relationship of the SAS solution to SAS Customer Intelligence. See the
individual solution documentation for details.
For a description of SAS n-tier architecture, see “Architecture of the SAS Intelligence Platform” on
page 3 in Chapter 1, “Overview of Architecture.”

Hardware Requirements for the Client Tier

To view the latest system requirements for your environment, access support.sas.com. Select
Knowledge Base ISystem Requirements.
216 F Appendix A: Optional Client Tier Applications for SAS Customer Intelligence

For the latest requirements for Java Runtime Environments for SAS Client Applications, access
support.sas.com/resources/thirdpartysupport. Sites in the U.S. and Canada should
call (919) 677-8008. Other locations should contact their on-site SAS support personnel or the
nearest SAS office.

SAS Data Integration Studio 3.4

Description
SAS Data Integration Studio is a SAS application that enables you to integrate data from
any data source, clean it, merge it, transform it, and place it into a target destination.
Database managers use SAS Data Integration Studio to create SAS metadata about the
structure of data. This metadata enables you to trace which data moved, when the data
moved, how data was changed, and what business rules have been applied to data in SAS
repositories.

N OTE : SAS metadata in SAS Data Integration Studio is different from counts metadata
that is displayed in SAS Customer Intelligence Studio diagrams. See the Administrative
Notes (for SAS Data Integration Studio) in this section.
Relationship to SAS Customer Intelligence
SAS Data Integration Studio might be used to clean customer data for automated processes
where bad data quality can lead to immediate and very high unwarranted costs. For
example, the campaign marketer wants to avoid either sending customer mailings to the
wrong address or multiple mailings to the same customer whose name has been entered in
a database several times with different spellings.
Typical User
A typical user is an IT analyst.
Files
Executable: The typical location of the executable file is C:\Program Files\SAS\
SASETLStudio\9.2\etlstudio.exe.

Log: There are no logs of administrative interest for SAS Data Integration Studio.
Requirements
There are no special requirements needed to run SAS Data Integration Studio.
Administrative Notes
The counts metadata that you might see displayed in a node of a campaign diagram is
different from SAS metadata. The counts metadata is obtained from a specific group of
data sets. These data sets contain the frequency information about the observations that
are selected by users as they develop campaigns in SAS Customer Intelligence Studio.
This count value shows users how many observations are included in the selected range of
values.
SAS Data Integration Studio 3.4 F 217

Figure A.1 A Counts Metatadata Value (Circled) in a Diagram in SAS Customer Intelligence
Studio

In SAS Data Integration Studio, a job is a collection of SAS tasks that specify processes
that create output. Each job generates or retrieves SAS code that reads sources and creates
targets in physical storage.

Use SAS Data Integration Studio 3.4 to perform the following tasks:

 register a SAS library and a server for each database.


 create SAS metadata objects that define sources, targets, and the transformations
that connect them. These SAS metadata objects are saved to a metadata repository.
 create a SAS metadata profile for administrators.
 register user identities.
 if applicable, configure SAS/CONNECT to access data on a machine that is remote
to the default SAS application server.

See also SAS Data Integration Studio documentation at support.sas.com/


documentation/onlinedoc/etls/index.html.

For an overview, take an interactive tour at www.sas.com/technologies/dw/tour/


itour_flash.html.

For administration documentation, see Desktop Application Administration Guide


(located under Administration Documentation) at http://support.sas.com/
92administration. See Administering SAS Data Integration Studio within the
guide.
218 F Appendix A: Optional Client Tier Applications for SAS Customer Intelligence

SAS Digital Marketing Studio 5.3

Description
SAS Digital Marketing Studio is a Java application that provides a high-volume e-mail de-
livery and tracking infrastructure. The delivery architecture uses a client/server paradigm.
Recipient responses are tracked using J2EE technologies.
Relationship to SAS Customer Intelligence
Combining the e-mail delivery and response tracking features of SAS Digital Marketing
Studio with the analytics and reporting capabilities from SAS Customer Intelligence
provides a more comprehensive solution for the e-mail marketing needs of the enterprise.
Typical User
The content provider produces the e-mail content by using HTML authoring tools such as
Microsoft FrontPage or Macromedia Dreamweaver. At the same time, SAS Marketing
Automation is used to execute an e-mail campaign in order to extract the names of intended
recipients (and any customization data) from customer databases.
Files
Executable: The typical location of Studio.exe is C:\Program Files\SAS\
SASDigitalMarketing\5.3.

Log: As a site administrator, you can use the Server Configuration wizard or the Server
Configuration dialog box to modify the logging settings of the SAS Digital Marketing
server (located on the SAS server tier). The Logging tab enables you to specify the types
of audit records that SAS Digital Marketing creates for the broadcast transmissions, and
to specify the level of detail.

To view the Logging tab, start a SAS Digital Marketing Studio client and connect to
the SAS Digital Marketing server as an administrator. Then select Tools IServer
Configuration IBroadcast Transmission ILogging.
Requirements
The following components are required to run SAS Digital Marketing Studio:
 For IBM WebSphere, see http://support.sas.com/resources/
thirdpartysupport/v92/appservers/webspheresw.html
 For BEA WebLogic, see http://support.sas.com/resources/
thirdpartysupport/v92/appservers/weblogicsw.html
 For JBoss, see http://support.sas.com/resources/thirdpartysupport/
v92/appservers/jbosssw.html

N OTE : You can also use MySQL, MS-SQL, DB2, and Oracle as direct JDBC providers.
However, SAS Digital Marketing is optimized for SAS JDBC drivers, which enables
connectivity to any of the databases that SAS/ACCESS supports.

See also the online documentation for SAS Table Server at http://support.sas.
com/documentation/onlinedoc/tableserver/index.html
SAS Digital Marketing Studio 5.3 F 219

Administrative Notes
You use SAS Digital Marketing 5.3 Studio to define broadcasts (e-mails), execute broad-
casts, track the responses of the recipients to the broadcasts, and monitor the transmission
of the broadcasts.

You create customized e-mail for each recipient of a broadcast by adding the Extensible
Stylesheet Language (XSL) expressions to the message content.

For an overview, access www.sas.com/solutions/crm/email/.

SAS Digital Marketing Help is accessible within the product. Additional documentation
in PDF format (Administrator’s Guide, User’s Guide, and Web Studio User’s Guide) are
included with the product.

To view a fact sheet, access www.sas.com/solutions/crm/email/fact.pdf.


220 F Appendix A: Optional Client Tier Applications for SAS Customer Intelligence

SAS Enterprise Guide 4.2

Description
SAS Enterprise Guide is a project-oriented Windows application that is designed to enable
quick access to the analytic power of SAS software for statisticians, business analysts,
and SAS programmers.
Relationship to SAS Customer Intelligence
SAS Enterprise Guide enables professionals to create SAS stored processes (SAS code)
an
d to store the SAS code in a repository that is available to the SAS Stored Process Server.
Stored processes are used to populate reports with specific data and to perform analytics.
The stored process code can be made available within SAS Customer Intelligence Studio
as part of a Process node.
Typical User
A typical user is an IT analyst.
Files
Executable: The default location of the SAS Enterprise Guide application is C:
\ProgramFiles\SAS\Enterprise Guide 4.

Log: There are no logs of administrative interest for SAS Enterprise Guide.
Requirements
A Web browser (Microsoft Internet Explorer) is required in order to view any HTML
reports that you create in SAS Enterprise Guide.
Administrative Notes
For an overview, take an interactive tour at www.sas.com/technologies/bi/
query_reporting/guide/tour/itour_flash.html.

To view the system requirements, access


support.sas.com/documentation/onlinedoc/guide/sreq4.pdf. See also
support.sas.com/documentation/onlinedoc/guide/.

To view product documentation, access


support.sas.com/documentation/onlinedoc/guide/index.html.

For administration documentation, see Desktop Application Administration Guide


(located under Administration Documentation) at http://support.sas.com/
92administration. See Administering SAS Enterprise Guide within the guide.
SAS Enterprise Miner 6.1 F 221

SAS Enterprise Miner 6.1

Description
SAS Enterprise Miner 6.1 is a client application (optional) that provides a graphical user
interface for quantitative analysts to mine large quantities of data in order to build accurate
and predictive models.

SAS Enterprise Miner enables the quantitative analyst to create and manage data mining
process flows. A process flow is a sequence of steps that examine, transform, and process
data in order to create models. These models predict complex behaviors of economic
interest.
Relationship to SAS Customer Intelligence
Predictive models are used to target the appropriate market in a marketing campaign such
as customer lifetime value, expected response rates, and so on. Models are also reviewed
and refined at the conclusion of the marketing campaign process.
Typical User
A typical user is a campaign analyst or modeler.
Files
Executable: The typical location of em.exe is C:\Program Files\SAS\
SASAPCore\apps\EnterpriseMiner\bin.

Log: There are no logs of administrative interest for SAS Enterprise Miner.
Requirements
There are no special requirements needed to run SAS Enterprise Miner.
Administrative Notes
For an overview, see: www.sas.com/technologies/analytics/datamining/
miner/. For details about SAS Enterprise Miner, see the SAS Enterprise Miner Help
that is available within the product.

For product documentation,


access support.sas.com/documentation/
onlinedoc/miner/index.html.

For administration documentation, see Desktop Application Administration Guide


(located under Administration Documentation) at http://support.sas.com/
92administration. See Administering SAS Enterprise Miner within the guide.
222 F Appendix A: Optional Client Tier Applications for SAS Customer Intelligence

SAS Information Delivery Portal 4.2

Description
The SAS Information Delivery Portal is a Web-based product that you can use to efficiently
and effectively deliver information across the entire enterprise. The portal is a focal point
from which individual users can readily access and share information.
Relationship to SAS Customer Intelligence
The SAS Information Delivery Portal is required if SAS Web Analytics is installed.
Administrative Notes
For an overview, access www.sas.com/technologies/bi/content_delivery/
portal/index.html

To view product documentation, access support.sas.com/documentation/


onlinedoc/portal/index.html
To view a fact sheet, access www.sas.com/technologies/bi/content_
delivery/portal/factsheet.pdf

For other documentation, access Introduction to the SAS Information Delivery Portal:
support.sas.com/rnd/web/portal/doc2/tour/index.html

For administration documentation, see Web Application Administration Guide (lo-


cated under Administration Documentation) at http://support.sas.com/
92administration. See SAS Information Delivery Portal Administration within
the guide.

SAS Marketing Optimization 5.3

For an overview, access SAS Customer Relationship Management at www.sas.com/solutions/


crm/mktopt/index.html.

To view a fact sheet, access www.sas.com/solutions/crm/mktopt/fact.pdf.

SAS Real-Time Decision Manager 5.3

Description
SAS Real-Time Decision Manager uses analytics in combination with business rules,
enabling you to leverage historical data, real-time data, and data from other systems in
order to make the best possible decisions about the customer.
SAS Real-Time Decision Manager 5.3 F 223

All types of data including a customer’s historical information, in-session information


from real-time interactions, and market factors can be combined into a single view
to make an appropriate offer or communication (called a treatment) to the customer.
This comprehensive approach enables you to determine the optimal treatments for each
customer.

SAS Real-Time Decision Manager can be used alone or can be used as part of the SAS
Customer Intelligence suite of solutions.
Relationship to SAS Customer Intelligence
SAS Real-Time Decision Manager supports the SAS Customer Intelligence Common Data
Model and the reporting infrastructure, which allows it to share both contact history and
response history data with SAS Marketing Automation and SAS Marketing Optimization.
The results of outbound and inbound customer interactions can be combined in a single
view for reporting, data mining, and to facilitate decision-making.
Typical User
Typical users of the SAS Real-Time Decision Manager Plug-in for SAS Management
Console are system administrators, system operators, and performance analysts.
Files
Log: Use SAS Management Console to modify the logging levels of various SAS Real-
Time Decision Manager subsystems. To modify logging levels, see the SAS Real-Time
Decision Manager 5.3: Administrator’s Guide. Work with SAS Technical Support when
you are using the logging facility for troubleshooting SAS Real-Time Decision Manager.
Requirements
On the client tier:

 SAS Customer Intelligence Studio 5.3


 SAS Management Console 9.2
 SAS Enterprise Guide Volume 4.2

On the middle tier for a design environment:

 Solaris 10 with recommended patch cluster (contact SAS support personnel for
patch levels) on either Microsoft Windows 2003 (32-bit), or Microsoft Windows
2008 (64-bit)
 IBM WebSphere MQ 7.0.0.1 (in order to communicate with the SAS server tier)
 IBM WebSphere 6.1.0.21 for its Web application server
 SAS Real-Time Decision Manager 5.3 middle tier configured for a design environ-
ment
 supports HP Neoview 2.3 Service Pack 1

On the middle tier for a production environment:

 SAS Real-Time Decision Manager 5.3 middle tier configured for a production
environment
224 F Appendix A: Optional Client Tier Applications for SAS Customer Intelligence

 Solaris 10 with recommended patch cluster (contact SAS support personnel for
patch levels) on either Microsoft Windows 2003 (32-bit), or Microsoft Windows
2008 (64-bit)
 IBM WebSphere MQ 7.0.0.1 (in order to communicate with the SAS server tier)
 IBM WebSphere 6.1.0.21 for its Web application server
 supports HP Neoview 2.3 Service Pack 1

On the server tier for both the design and production environments:

 SAS Real-Time Decision Manager Server 5.3


 SAS Foundation 9.2
 SAS Stat Studio 9.2
 SAS Integration Technologies 9.2
 SAS Workspace Server (and Message Queue Polling Server) 9.2
 SAS Metadata Server 9.2

Administrative Notes
Most administrative functions are carried out using the SAS Real-Time Decision Manager
Plug-in for SAS Management Console. This plug-in is designed for users who need to
update, administer, control, and monitor either a testing or a production environment that
includes SAS Real-Time Decision Manager servers that might be clustered. The plug-in
can be used from any client computer that runs SAS Management Console.

To view a fact sheet, access


www.sas.com/solutions/crm/real-time-decision/factsheet.pdf

For an overview, access


www.sas.com/solutions/crm/real-time-decision/

SAS Technical Support Install Center


support.sas.com/documentation/installcenter/index.html
SAS Web Analytics 5.3 F 225

SAS Web Analytics 5.3

Description
SAS Web Analytics is a graphical reporting tool that enables businesses to better un-
derstand their customers by analyzing the origin, path, duration of visit, and destination
of each visitor to the business Web site. With SAS Web Analytics, analysts can learn
who their Web customers are, where they come from, how often they visit the Web site,
which Web pages they like, and more. SAS Customer Intelligence marketers can use
the information from SAS Web Analytics to analyze customer activity that is related to
Web-based campaigns.
Administrative Notes
For an overview, access www.sas.com/solutions/webanalytics/.

To view a fact sheet, access www.sas.com/solutions/webanalytics/fact.


pdf.

SAS Web Report Studio 4.2

Description
SAS Web Report Studio enables you to view, create, and share Web-based reports. The
reports, which obtain their data from data sources that are specially prepared for use
by nontechnical report builders, provide access to the analytical power of SAS without
requiring users to understand database complexity or have programming knowledge.
Relationship to SAS Customer Intelligence
Users prepare and create reports (based on SAS Information Maps) in SAS Web Report
Studio in order to analyze campaign performance.
Typical User
Typical users are information consumers and decision makers.
Files
Executable: The typical location of Wrs.config is C:\Program Files\SAS\
SASWebReportStudio\4.2.

Log: The preset location for log files (specified in \webapps\SASWEBReportStudio\


WEB-INF\DefaultLoggerProperties.xml) is:
\SAS\<configuration-dir>\Lev1\Deployments\WebReportStudio\
logs.
Requirements
SAS Web Report Studio requires Microsoft Internet Explorer Version 6.0 and later.
Administrative Notes
226 F Appendix A: Optional Client Tier Applications for SAS Customer Intelligence

For an overview, access www.sas.com/technologies/bi/query_reporting/


webreportstudio/

For administration documentation, see Web Application Administration Guide (lo-


cated under Administration Documentation) at http://support.sas.com/
92administration. See SAS Web Report Studio Administration within the
guide.
Glossary

authentication
the process of verifying the identity of a person or process within the guidelines of a specific
security policy.
bulk load
to load large amounts of data into a database object, using methods that are specific to a
particular DBMS. Bulk loading enables you to rapidly and efficiently add multiple rows of
data to a table as a single unit.
campaign
a planned set of one or more communications that are directed at a selected group of customers
or potential customers.
communication definition
a template that defines information about a communication, such as its export definition, code,
channel, and custom details. Communication definitions are defined in SAS Management
Console.
contact history
a record of the groups of individuals or organizations that have been identified to be contacted
for a communication.
counts metadata
metadata that SAS Customer Intelligence Studio generates when some types of node diagrams
are displayed. Counts metadata differs from the SAS metadata in the SAS Metadata Repository.
Counts metadata typically consists of a list of values and a count of how often each value
occurs in the database.
custom property
a user-defined property that you can create for information maps, relationships, data items,
and filters, and for folders in an information map.
data item
in an information map, an item that represents either data (a table column, an OLAP hierarchy,
or an OLAP measure) or a calculation. Data items are used for building queries. Data items
are usually customized in order to present the data in a form that is relevant and meaningful to
a business user.
database management system
a software application that enables you to create and manipulate data that is stored in the form
of databases. Short form: DBMS. See also relational database management system.
DBMS
See database management system.
encryption
the act or process of converting data to a form that only the intended recipient can read or use.
228 F Glossary

Extensible Markup Language


a markup language that structures information by tagging it for content, meaning, or use.
Structured information contains both content (for example, words or numbers) and an indica-
tion of what role the content plays. For example, content in a section heading has a different
meaning from content in a database table. Short form: XML.
filter
in an information map, criteria (rules) that subset data. When a query is generated from an
information map, the filter is converted to a query-language statement (for example, an SQL
WHERE clause).
foreign key
one or more columns that are associated with a primary key or unique key in another table.
A table can have one or more foreign keys. A foreign key is dependent upon its associated
primary or unique key. In other words, a foreign key cannot exist without that primary or
unique key.
heap
an area of memory that is allocated and released dynamically.
histogram
a bar chart that displays the observed frequencies of data that have been binned (divided into
contiguous, equally spaced intervals). The heights of the bars indicate the relative frequency
of observations in each bin.
holding area
a temporary area of memory in which the output from a query of an SPD Server table is stored.
See also SPD Server.
information map
a collection of data items and filters that provides a user-friendly view of a data source. When
you use an information map to query data for business needs, you do not have to understand
the structure of the underlying data source or know how to program in a query language.
Integrated Object Model
the set of distributed object interfaces that make SAS software features available to client
applications when SAS is executed as an object server. Short form: IOM.
Integrated Object Model server
a SAS object server that is launched in order to fulfill client requests for IOM services. Short
form: IOM server.
IOM
See Integrated Object Model.
IOM server
See Integrated Object Model server.
JAR file
a Java Archive file. The JAR file format is used for aggregating many files into one file. JAR
files have the file extension .jar.
Java Naming and Directory Interface
a standard extension to the Java platform that enables developers to create applications that
can interact with a number of different naming services and directory services, such as the
Glossary F 229

Domain Name System (DNS) and the Lightweight Directory Access Protocol (LDAP). Short
form: JNDI.
Java Virtual Machine
a program that interprets Java programming code so that the code can be executed by the
operating system on a computer. The JVM can run on either the client or the server. The JVM
is the main software component that makes Java programs portable across platforms. A JVM
is included with JDKs and JREs from Sun Microsystems, as well as with most Web browsers.
Short form: JVM.
JNDI
See Java Naming and Directory Interface.
job
a metadata object that specifies processes that create output.
JVM
See Java Virtual Machine.
listen port
in a network, a communications endpoint at which a server listens for requests for service
from the client application. For example, a SAS Marketing Automation client application
requests services from a BEA Weblogic Server Administration Server at the port number that
has been designated as the listen port.
locking
a technique for preventing conflicts among multiple users who are concurrently accessing an
SPD Server table by means of an SQL Pass-Through connection. An SPD Server table can
be locked for exclusive access at the record level or at the table level. See also record-level
locking.
log file
a file in which information about software processing is recorded as the processing occurs.
A log file typically includes error messages and warning messages, but it can also include
informational messages and statistics such as the number of records that have been processed
or the amount of CPU time that a program required.
macro variable
a variable that is part of the SAS macro programming language. The value of a macro variable
is a string that remains constant until you change it. Macro variables are sometimes referred
to as symbolic variables.
metadata
data about data. For example, metadata typically describes resources that are shared by
multiple applications within an organization. These resources can include software, servers,
data sources, network connections, and so on. Metadata can also be used to define application
users and to manage users’ access to resources. Maintaining metadata in a central location
is more efficient than specifying and maintaining the same information separately for each
application.
metadata server
a server that provides metadata management services to one or more client applications. A
SAS Metadata Server is an example.
230 F Glossary

middle tier
in a SAS business intelligence system, the architectural layer in which Web applications and
related services execute. The middle tier receives user requests, applies business logic and
business rules, interacts with processing servers and data servers, and returns information to
users.
multi-part key
a primary key that includes multiple columns from multiple tables. The columns uniquely
identify rows from the tables. See also primary key.
object spawner
a program that instantiates object servers that are using an IOM bridge connection. The object
spawner listens for incoming client requests for IOM services. When the spawner receives
a request from a new client, it launches an instance of an IOM server to fulfill the request.
Depending on which incoming TCP/IP port the request was made on, the spawner either
invokes the administrator interface or processes a request for a UUID (Universal Unique
Identifier).
operating environment
a computer, or a logical partition of a computer, and the resources (such as an operating system
and other software and hardware) that are available to the computer or partition.
plug-in
a file that modifies, enhances, or extends the capabilities of an application program. The
application program must be designed to accept plug-ins, and the plug-ins must meet design
criteria specified by the developers of the application program. In SAS Management Console,
a plug-in is a JAR file that is installed in the SAS Management Console directory to provide a
specific administrative function. The plug-ins enable users to customize SAS Management
Console to include only the functions that are needed.
primary key
one or more columns that are used to uniquely identify a row in a table. A table can have only
one primary key. The column or columns in a primary key cannot contain null values. See
also unique key and foreign key.
record-level locking
locking at the record level in an SPD Server table. Record-level locking provides the user who
owns the lock with exclusive access to a single record in an SPD Server table. Other users are
able to access other records that are in the same SPD Server table. See also locking.
relational database management system
a database management system that organizes and accesses data according to relationships
between data items. The main characteristic of a relational database management system is
the two-dimensional table. Examples of relational database management systems are DB2,
Oracle, SYBASE, and Microsoft SQL Server.
response
the reaction that an individual has to a campaign, such as requesting a quote, making an
inquiry, opening an e-mail message, or buying the product.
SAS data set
a file whose contents are in one of the native SAS file formats. There are two types of SAS
data sets: SAS data files and SAS data views. SAS data files contain data values in addition
to descriptor information that is associated with the data. SAS data views contain only the
Glossary F 231

descriptor information plus other information that is required for retrieving data values from
other SAS data sets or from files that are stored in other software vendors’ file formats.
SAS format
a pattern or set of instructions that SAS uses to determine how the values of a variable (or
column) should be written or displayed. SAS provides a set of standard formats and also
enables you to define your own formats.
SAS Information Map
See information map.
SAS Management Console
a Java application that provides a single user interface for performing SAS administrative
tasks.
SAS Metadata Repository
one or more files that store metadata about application elements. Users connect to a SAS
Metadata Server and use the SAS Open Metadata Interface to read metadata from or write
metadata to one or more SAS Metadata Repositories. The metadata types in a SAS Metadata
Repository are defined by the SAS Metadata Model.
SAS SPD Server
See SPD Server.
SAS Stored Process
a SAS program that is stored on a server and which can be executed as requested by client
applications. SAS Information Maps can use only SAS Stored Processes that run on a SAS
Workspace Server.
SAS system option
an option that affects the processing of an entire SAS program or interactive SAS session
from the time the option is specified until it is changed. Examples of items that are controlled
by SAS system options include the appearance of SAS output, the handling of some files
that are used by SAS, the use of system variables, the processing of observations in SAS
data sets, features of SAS initialization, and the way SAS interacts with your host operating
environment.
SAS Workspace Server
a SAS server that provides access to Foundation SAS features such as the SAS programming
language and SAS libraries.
SASSPDS
the SAS engine that provides access to the SAS SPD Server. See also SPD Server.
schema
a map or model of the overall data structure of a database. A schema consists of schema
records that are organized in a hierarchical tree structure. Schema records contain schema
items.
simple key
another term for primary key. See also primary key.
SPD Server
a SAS Scalable Performance Data Server. An SPD Server restructures data in order to enable
multiple threads, running in parallel, to read and write massive amounts of data efficiently.
232 F Glossary

SQL
See Structured Query Language.
SQL Pass-Through Facility
a software component that connects to an SPD Server and that sends SQL statements directly
to the SPD Server for execution. See also SPD Server, holding area, and record-level locking.
stored process
See SAS Stored Process.
stored process server
a server that can execute SAS programs as required by one or more client applications. See
also SAS Stored Process.
Structured Query Language
a standardized, high-level query language that is used in relational database management
systems to create and manipulate objects in a database management system. SAS implements
SQL through the SQL procedure. Short form: SQL.
subject
the hierarchical level to which selection criteria are applied. For example, a record can be
selected because of household, customer, or account criteria. All three hierarchical levels are
subjects.
system option
See SAS system option.
table
a two-dimensional representation of data in which the data values are arranged in rows and
columns.
thread
a single path of execution of a process in a single CPU, or a basic unit of program execution
in a thread-enabled operating system.
unique key
one or more columns that can be used to uniquely identify a row in a table. A table can have
one or more unique keys. Unlike a primary key, a unique key can contain null values. See also
primary key and foreign key.
Web Distributed Authoring and Versioning
a set of extensions to the HTTP protocol that enables users to collaboratively edit and manage
files on remote Web servers. Short form: WebDAV.
WebDAV
See Web Distributed Authoring and Versioning.
WebDAV server
an HTTP server that supports the collaborative authoring of documents that are located on
the server. The server supports the locking of documents, so that multiple authors cannot
make changes to a document at the same time. It also associates metadata with documents
in order to facilitate searching. The SAS business intelligence applications use this type
of server primarily as a report repository. Common WebDAV servers include the Apache
HTTP Server (with its WebDAV modules enabled), Xythos Software’s WebFile Server, and
Microsoft Corporation’s Internet Information Server (IIS).
Glossary F 233

XML
See Extensible Markup Language.
234
Index
%SYSFUNC macro, 154 category, 63, 66
ciddl, 154
acceptance, 136 ciloadcd.sas, 154
access control template, 58 classification, 100
accessibility, 46 CLI LOAD, 207
ACT, 58 client tier, 3, 215
adding a relationship, 67 hardware requirements, 215
administration server, 16 combinations of data type and level, 100
administrative tasks, 43 command-line options
appserver_autoexec.sas, 206 in remote services file, 209
appserver_autoexec.sas file common data model, 111, 143
object spawner and, 24 and multiple business contexts, 112
specifying macro variables, 201 deploying, 144
specifying search order, 40 updating, 112
architecture, 3 common data model tables
archiving data, 189 registering, 155
arguments communication, 13, 120
Launcher, 182 occurrence, 134
ASCII characters, 155 components of SAS Customer Intelligence, 4
ASP, 218 config.xml, 32
configuring
back up, 11 JVM, 208
backing up, 189 connection
BEA WebLogic, see Web application server accepting a, 24
binary, 97, 99 contact history tables, 133
block insert buffer size, 205 updating, 133
bounces, 218 counts metadata, 100, 216
broadcast, 218, 219 accessing the tables of, 105
buffer size, 205 clearing the cache option, 106
bulk load facility, 204 generating, 101
examples of activating, 206 custom details, 151
macro variables for activating, 201 custom properties, 71
business context, 13, 59, 144, 148–150, 169, data item level, 88, 91
182–184, 194, 195, 202 folder level, 86, 91
business contexts map level, 84, 91
and the common data model, 112 required, 71
business terms, 62 software requirements, 64
verifying in template file, 79
cache
customer behavior, 134
clearing the metadata, 106
Customer Intelligence
calculated data item
plug-ins for SAS Management Console, 7
specifying a, 63
campaign data
scheduling, 176 accessing, 34
campaign activities identifying, 62
enabling, 43 Data Definition Language, 154
identifying data for, 62 data item
campaign data specifying a, 63
published, 38
236 F Index

data sources identifier, 182, 186


registering, 35, 217 identifiers
data tier, 4, 34 required columns, 133
components of, 34 identity, 48
hardware requirements, 34 import, 194
database, 4, 13, 155, 217 import metadata, 11
database connection values, 148 inbound, 132
DB2, 34, 147, 207 industry values, 138
DBDSOPTIONS, 208 inferred responses, 135
DBMSTEMP, 208 information map, 13
DBTEMPSCHEMA, 208 and corresponding report, 167
DDL, 154 and resulting treatment performance report,
decline, 136 169
deleting a library, 156 caching of, 208
direct responses, 135 creating, 64
directives identifying data for, 62
Launcher, 182 phased approach to building an, 69
saving, 66
e-mail, 218, 219 software requirements, 64
EAR file, 19 troubleshooting, 107
ebTool, 17, 19 initialization file, 180
engine server clusters, 224 inquiry, 136
Enterprise Resource Planning, 34 INSERT statement, 155
environment install account
management, 6, 43 single, 45
ERP, 34 integrating SAS products, 43
errors, see troubleshooting Integration Utilities, 11
scheduling, 175 interval, 97, 99
execution failed (error), 184
extended attributes, see custom properties Java virtual machine, see JVM
extensible style-sheet transformations, 12 job
Extensible Stylesheet Language, 218, see XSL executing a, 24
extension tables, 151 in SAS Data Integration Studio, 216
extract, 194 scheduling a, 175
extract campaign metadata, 11 join key, 66
JVM
FASTLOAD, 207 configuring, 208
filter memory size, 209
specifying a, 63 JVM memory
folder command-line options in remote services file,
organizing as a category, 66 209
specifying a, 63 running remote services as Windows service,
210
groups, 48 size of, 209
halo, 136 language code, 154
hardware requirements language-specific data, 154
client tier, 215 Launcher, see also SAS Marketing Automation
data tier, 34 Launcher, 175
middle tier, 16 arguments, 182
history tables, 132 directives, 182
holding tables, 36 libnames.parm, 38
libraries, see SAS library resources
IBM WebSphere, see Web Application Server
library references (librefs), 36
ID, 97, 99
Index F 237

defining, 37 OMRConfig.xml, 24
limit nodes operating environments, 3
troubleshooting, 27 Operating System Services, 178
load balancing opt-outs, 32
documentation, 28 Oracle, 207
load sharing facility, see LSF ORACLE database, 34
load-balancing server Oracle database, 93, 146, 150, 151, 155
stored process server configured as, 27 ordinal, 97, 99
locale, 138 organizing folders as categories, 66
locale status codes, 154 outbound, 132
locked out, 187
logging resources performance, 201
enabling logging for Launcher, 180 when generating counts metadata, 68
lookup tables, 138, 154 permissions, 49, 58
LSF, 22 picklist, 80
LSF Admin Name, 177 Platform Grid Management Service, 22
Platform LSF, 22, 178
MACOMMON, 205 Platform Process Manager, 177
macro variables Platform Process Manager for SAS, 22
activating bulk load facility, 201 Platform Suite for SAS, 22
mail transport agents, 32 plug-ins
MAMacro library, 36 registering, 7
MAMeta library, 71 POP3, 218
MAMisc library, 36 portal, 222
MAREPORT, 146, 155 Portal.war, 17, 19
MAREPORT library, 156, 167 prepopulate
marketing message, 120 lookup tables, 154
MATables, 36 prepopulated values, 138
MATemplate.txt file, 79 presented treatment history table, 137
verifying custom properties in, 79 PROC SQL, 105
memory size, JVM, 209 Product Advisory Notes from SAS, 6
metadata, 62, 216 promote campaign environments, 11
access to, 48 properties, see custom properties
generating, 29
metadata cache, 106 reference tables, 138, 154
metadata objects, 217 register
Metadata Server, 29 common data model tables, 155
access to, 48 registering data, 35, 217
middle tier, 4, 15 remote services
components of, 16 configuring JVM for, 208
hardware requirements, 16 running as Windows service, 210
multiple business contexts, 112 troubleshooting, 212
remote services file
Neoview, 147 command-line options in, 209
updating a SUBJECT_ID column, 149 reporting data model, see common data model, see
Netezza, 148 common data model
updating a SUBJECT_ID column, 149 request
nominal, 97, 99 from client application, 29
non-English values, 138 listening for, 24
requirements
object spawner, 24 third party, 6
objspawn.exe, 24 response
objspawn.log, 24 direct, 135
observations, 216 inferred, 135
OLEDB connection, 204
238 F Index

response history table, 134 SAS object spawner, 24


response interval, 135 SAS Real-Time Decision Manager, 222
response types and history tables, 132
acceptance, 136 SAS Real-Time Decision Manager Plug-in for
decline, 136 SAS Management Console, 224
halo, 136 SAS Real-Time Decision Servers, 224
inquiry, 136 SAS Server Manager, 26
spill, 136 SAS server tier, 4, 21
restore campaigns, 11 SAS SPD Server
roles, 49 libnames.parm, 38
spdsserv.parm, 38
SAS application tier, see SAS server tier SAS SPD server, 38
SAS Campaign Studio, 10 SAS Table Server
SAS code documentation, 218
client applications submitting, 26 SAS Web Analytics, 225
SAS Content Server, 31, 190 SAS Web Report Studio, 225
SAS Customer Intelligence Integration Utilities, SAS XML Mapper, 12
11 sas.analytics.crm.auxdataio.jar, 11
SAS Customer Intelligence Studio, 10 sas.analytics.crm.ma.core.ear, 19
SAS Data Integration Studio, 155, 161, 216 SAS/ACCESS, 34, 218
SAS Digital Marketing server, 32 SAS/SECURE, 24
SAS Digital Marketing Studio, 218 SASHELP.ci tables, 155
SAS Enterprise Guide, 220 sasmaextract, 11
SAS Enterprise Miner, 221 sasmaimport, 11
SAS Information Delivery Portal, 222 sasmalauncher, 179
SAS Information Map Studio, 13 sasmalauncher.exe, 25, 175
SAS Integration Technologies, 43 sasmalauncher.ini, 25, 180
SAS Intelligence Platform sasmapromote, 11
security administration, 48 SASMSG function, 155
SAS library resources, 36 sassrv, 27
customer data, 38 SASTheme_default, 45
deleting, 156 sasv9.cfg, 24
library for SAS Scalable Performance Data sasv9_MetadataServer.cfg, 29
Server, 38 Sasv9_StorProcSrv.cfg, 27
MAMacro library, 36 saswbadm, 36
MAMeta library, 71 SASWebReportStudio.war, 17, 19
MAMisc library, 36 schedulers, 178
MATables library, 36 scheduling, 22, 25, 175
search order, 40 scheduling problems
SAS log, 15 documentation for, 23
SAS Managed Server, 19 scheduling program, 22
SAS managed server, 17 Scheduling Server Name, 177
SAS Management Console schema, 155
documentation, 7 sdm.war, 17, 19
plug-ins, 7 search order, 40
SAS Marketing Automation Section 508 features, 46
and history tables, 132 security administration, 48
SAS Marketing Automation EAR file, 19 server
SAS Marketing Automation Launcher, 25 metadata, 29
command, 180 names, 45
command-line arguments, 182 problems connecting to, 45
error codes, 185 SAS Digital Marketing, 32
SAS Marketing Optimization, 222 SPD, 38
SAS Metadata Server, 190 stored process, 27
Index F 239

WebDAV, 31 User Manager plug-in, 48


workspace, 26 user password
service pack, 45 for scheduling, 184
session encoding, 155 users, see also saswbadm
setup, 44 SAS Marketing Automation, 36
sizing tables, 132 UTF-8, 194
SMS, 218
SMTP, 218 valid data type, 100
spawner, 24 verbose, 184
spdsserv.parm, 38
spill, 136 WAP, 218
SQL Loader, 207 Web Application Server, 16
SQL server, 34, 147 Web file server, 31
standard values, 138 Web-based campaigns, 225
status code Web-based Distributed Authoring and Versioning,
locale, 154 31
stored process, 220 WebDAV, 31
stored process server, 27 WebLogic, see Web Application Server
subject WebSphere, see Web Application Server
naming a, 67 Windows services
SUBJECT_ID column, 148 running remote services as, 210
system options workspace server, 26
in appserver_autoexec.sas file, 40
XML
tasks format output for Integration Utilities, 194
administrative, 43 XML files
template file converting to another form, 12
verifying custom properties in, 79 XSL, 218, 219
Teradata, 147, 207 XSLT, 12
tier, 3
client, 215
data, 34
middle, 15
SAS server, 21
tnsnames.ora, 147
translated data, 154
treatment, 120
treatment performance report, 166
layout, 169
setting up, 170
user permissions, 171
TreatmentPerformanceReportMap, 167
troubleshooting
execution of limit nodes, 27
information map, 107
JVM errors, 212
Launcher, 179

unable to log onto application server (error), 184


unary, 97, 99
unexpected error, 184
Unicode, 155
user access to plug-ins, 7
user connections, 29
Your Turn

We welcome your feedback.


• If you have comments about this book, please send them to
yourturn@sas.com. Include the full title and page numbers (if
applicable).
• If you have comments about the software, please send them to
suggest@sas.com.
SAS Publishing Delivers!
®

Whether you are new to the work force or an experienced professional, you need to distinguish yourself in this rapidly
changing and competitive job market. SAS Publishing provides you with a wide range of resources to help you set
®

yourself apart. Visit us online at support.sas.com/bookstore.


SAS Press
®

Need to learn the basics? Struggling with a programming problem? You’ll find the expert answers that you
need in example-rich books from SAS Press. Written by experienced SAS professionals from around the
world, SAS Press books deliver real-world insights on a broad range of topics for all skill levels.
support.sas.com/saspress
SAS Documentation
®

To successfully implement applications using SAS software, companies in every industry and on every
continent all turn to the one source for accurate, timely, and reliable information: SAS documentation.
We currently produce the following types of reference documentation to improve your work experience:
• Online help that is built into the software.
• Tutorials that are integrated into the product.
• Reference documentation delivered in HTML and PDF – free on the Web.
• Hard-copy books.
support.sas.com/publishing
SAS Publishing News
®

Subscribe to SAS Publishing News to receive up-to-date information about all new SAS titles, author
podcasts, and new Web site features via e-mail. Complete instructions on how to subscribe, as well as
access to past issues, are available at our Web site.
support.sas.com/spn

SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration.
Other brand and product names are trademarks of their respective companies. © 2009 SAS Institute Inc. All rights reserved. 518177_1US.0109

Вам также может понравиться