SAS MA 6.6 Admin's Guide
SAS MA 6.6 Admin's Guide
SAS® Documentation
June 17, 2021
The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2020. SAS® Marketing Automation 6.6: Administrator’s Guide.
Cary, NC: SAS Institute Inc.
SAS® Marketing Automation 6.6: Administrator’s Guide
Copyright © 2020, SAS Institute Inc., Cary, NC, USA
Chapter 1 • Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Architecture of the SAS Intelligence Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
SAS Customer Intelligence Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Recommendations for Designing SAS Customer Intelligence Solutions Architecture . . 4
Client Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Middle Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
SAS Server Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Data Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Chapter 2 • Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Administrative Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Setting Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Middle-Tier Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Release Locked Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Manage User Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Update Dynamic Custom Detail Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Set Campaign Execution Status to Fail When There Are Dynamic Treatment Errors . . 38
Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Chapter 3 • Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Overview of Security Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
How the LOCKDOWN Statement Affects Campaigns . . . . . . . . . . . . . . . . . . . . . . . . . 44
Administering SAS Identities for Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Administering Groups and Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Administering Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Chapter 9 • Using SAS Stored Processes for SAS Marketing Automation . . . . . . . . . . . . . . . . 153
Stored Process Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Configure Stored Processes for Pooled Workspace Server . . . . . . . . . . . . . . . . . . . . . 153
Modify SAS Code to Conform to SAS Stored Process Syntax . . . . . . . . . . . . . . . . . . 154
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
vi Contents
vii
Accessibility Notice
For information about the accessibility of this product, see SAS Customer Intelligence
6.6: Accessibility Features.
viii Accessibility Notice
1
Chapter 1
Architecture
Object Spawner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
SAS Workspace Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
SAS Stored Process Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
SAS Pooled Workspace Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
SAS Metadata Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
SAS Federation Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
SAS Customer Intelligence Integration Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
SAS Server Tier Components for SAS Marketing Automation . . . . . . . . . . . . . . . . 18
SAS Server Tier Components for SAS Marketing Optimization . . . . . . . . . . . . . . . 19
SAS Server Tier Components for SAS Real-Time Decision Manager . . . . . . . . . . 20
Data Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Overview of the Data Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Components of the Data Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Limit the Size of PostgreSQL Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Registering Data for SAS Customer Intelligence . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
SAS Library Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Defining Library References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Making Table and SAS Export Librefs Available to Export Definitions . . . . . . . . . 27
Clients The client tier provides users with access to intelligence data and to
functionality through web-based interfaces.
For more information about the client tier for SAS Customer Intelligence
solutions, see “Client Tier” on page 7.
Middle tier The middle tier enables users to access intelligence data and
functionality via a web browser. This tier provides web-based interfaces
for report creation and information distribution, while passing analysis
and processing requests to the SAS servers.
For more information about the middle tier for SAS Customer
Intelligence solutions, see “Middle Tier” on page 9.
SAS Customer Intelligence Solutions 3
SAS servers SAS servers perform SAS processing on your enterprise data. Several
types of SAS servers are available to handle different workload types and
processing intensities. The software distributes processing loads among
server resources so that multiple client requests for information can be
met without delay.
For more information about the SAS server tier for SAS Customer
Intelligence Solutions, see “SAS Server Tier” on page 13.
Data sources Data sources store your enterprise data. All of your existing data assets
can be used, whether your data is stored in relational database
management systems, SAS tables, or enterprise resource planning system
(ERP) tables.
For more information about the data tier for SAS Customer Intelligence
solutions, see “Data Tier” on page 22.
For more information about the SAS Intelligence Platform, see SAS Intelligence
Platform: Overview at http://support.sas.com/documentation/onlinedoc/intellplatform/
index.html.
Operating Environments
For system requirements for SAS Customer Intelligence products, see http://
support.sas.com/resources/sysreq/index.html. For third-party software requirements, see
http://support.sas.com/resources/thirdpartysupport/index.html.
Storage Architecture
The storage for SAS Customer Intelligence components is organized into the following
categories:
• SAS installation files and binaries
• SAS configuration files and configuration data
• SASWORK
• Customer data
• Common data model
The first three areas are typical of any standard SAS deployment. Many SAS Customer
Intelligence processes are driven by stored processes and large customer data sets. It is
important to size the SAS work space. Typically, customer data already exists. Storage
parameters for those databases are defined. The common data model is stored in a
relational database. Consider the space that must accommodate the expected volume of
data such as contact history, response history, and presented treatment history tables.
Estimating Size
If all four SAS Customer Intelligence solutions are deployed, there are several factors to
consider when you estimate the size of an environment.
Client Tier 7
SAS servers and middle-tier servers are key components for SAS Marketing Automation
and SAS Marketing Optimization. These solutions do not interact directly with a
customer or external requests. Consider the number of users, complexity of campaigns,
and amount of data.
When you plan for SAS Real-Time Decision Manager, consider the volume of
transactions and complexity of decision flows that are processed by the SAS Decision
Services engine. You should also plan for the number of customer or model processes
that are handled by SAS Federation Server.
High Availability
SAS 9.4 improves the availability of the SAS platform. The areas of improved
availability are SAS Metadata Server and middle-tier servers. These servers can be
clustered with the SAS Deployment Wizard. The planning application automatically
generates additional server node instances that can be used to create a cluster. For more
information, see SAS Intelligence Platform: Web Application Administration Guide at
http://support.sas.com/documentation/onlinedoc/intellplatform/index.html.
Not all web applications are candidates for clustering. The SAS Decision Services
Monitor application is on the middle tier, but it is not capable of being clustered.
SAS Federation Server, SAS Authentication Server, SAS Decision Services engine, SAS
Customer Intelligence Reporting, and related SAS servers can be replicated to distribute
workload for SAS Real-Time Decision Manager while providing higher availability for
those components. Each operational server should be configured with a co-located SAS
Federation Server, SAS Authentication Server, and SAS Decision Services engine
server.
Server Hardware
The choice of server hardware depends on the SAS Customer Intelligence solutions,
volume of customer data and broadcasts, complexity of communications and campaigns,
and expected response time. Larger volumes of data might require additional servers to
ensure acceptable response time. A separate server is recommended for default SAS
Visual Analytics Administration and Reporting. If clustering of the middle tier servers or
SAS Metadata Server is configured, each clustered node equates to a physical server. A
customer who has licensed all four solutions might have ten or more servers in the
production environment if clustering is configured. In many cases, development
environments might fit on a single server.
Client Tier
• Base SAS
• SAS Data Management Studio Platform
• SAS Real-Time Decision Manager Design Clients
• SAS Add-In for Microsoft Office
• SAS Information Map Studio
• SAS Management Console
• SAS BI Lineage Plug-in for SAS Management Console
• SAS Data Integration Studio
• SAS Metadata Bridges
• SAS Metadata Bridges Plug-in for SAS Data Integration Studio
• SAS Metadata Bridges Plug-in for SAS Management Console
• SAS Workflow Studio
• SAS Enterprise Guide
• SAS Decision Services
• SAS Decision Services Plug-ins for SAS Management Console
• SAS Management Console
• SAS Web Infrastructure Client
• SAS Drivers for Federation Server
SAS Mobile BI is installed on SAS Visual Analytics mobile clients.
Middle Tier
SAS Studio
SAS Studio is a development application for SAS that you access through your web
browser. With SAS Studio, you can access your data files, libraries, and existing
programs, and you can write new programs. You can also use the predefined tasks in
SAS Studio to generate SAS code. When you run a program or task, SAS Studio
connects to a SAS server to process the SAS code. The SAS server can be a hosted
server in a cloud environment, a server in your local environment, or a copy of SAS on
your local machine. After the code is processed, the results are returned to SAS Studio in
your browser.
In addition to writing and running your own SAS programs, you can use the predefined
tasks that are included with SAS Studio to analyze your data. The tasks are based on
SAS System procedures and provide access to some of the most commonly used graph
and analytical procedures. You can also use the default task template to write your own
tasks.
Object Spawner
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. When a
request is received, the object spawner accepts the connection and sends a job to the
workspace server or to the stored process server.
The object spawner requires the following software to be installed on the computer that
is assigned to the SAS server tier:
• SAS 9 Software or later
• SAS Integration Technologies
• SAS Metadata Server
14 Chapter 1 • Architecture
• 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 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
Management Console
The SAS Metadata Server uses the following files:
Configuration
sasv9_MetadataServer.cfg is located in <LevConfig> \SASMeta
\MetadataServer and points to Sasv9.cfg in <LevConfig>\SASMeta. Sasv9.cfg
points to the default SAS configuration file at <SASHome>\SASFoundation
\9.4\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 <LevConfig>\SASMeta
\MetadataServer\logs. This log file contains information about users who
connect to the SAS 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:
• 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
SAS Server Tier 17
• authentication errors
• authorization failures
• authentication events
• XML input strings and XML output strings
• traces that are invoked by the debugging options in omaconfig.xml
For detailed documentation, see http://support.sas.com/documentation/onlinedoc/
metadatasrvr/index.html.
Data Tier
The database that is selected depends on the solution and database version as well as
other factors. If all SAS Customer Intelligence solutions are deployed, the number of
available choices are limited.
Data Sources
Customer data is typically stored in a supported relational database management system
(RDMS). It is likely that this data already exists and is available before a deployment.
The second key data source, the SAS Customer Intelligence common data model, is also
stored in a relational database. This might be in the same database system or in a system
provided by a separate provider. To prevent cross-database joins and performance
problems, store the common data model in the same database as the customer data. The
common data model is created after the software deployment. Initially, it contains no
data. If the data provider is a SQL Server database, the hardware must support the
Windows operating system.
4. In the ODBC Data Source Administrator, specify the name of the default database.
Figure 1.2 Specify Default Database Name
• Reporting libref
The metadata library is specified on the Metadata tab of the business context.
Verify that all SAS Customer Intelligence 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>.
MATables Library
The MATables libref specifies the location of the holding tables 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 when a campaign is
created. These holding tables are automatically deleted when they are no longer needed.
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:<LevConfig>/Applications/
SASCustomerIntelligence/CampaignManagement/data/MATables.
The libref for these holding tables must be MATables.
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: <LevConfig>/Applications/
SASCustomerIntelligence/CustomerIntelligenceCommon/Data/MAMisc.
The MAMisc libref specifies the location of various tables 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.
MAMOLib Libref
The MAMOLib libref specifies an area for temporary data storage, including tables that
are generated during priority-only optimization. The library is listed as SASApp -
MAMORoot in the Libraries folder of the Data Library Manager plug-in.
This is the location of the library: <LevConfig>/Applications/
SASCustomerIntelligence/CampaignManagement/Data/MAMORoot.
Overview
Define the required libraries for accessing SAS Customer Intelligence data by using the
Data Library Manager in SAS Management Console. For more information, see SAS
Intelligence Platform: Data Administration Guide at http://support.sas.com/
documentation/onlinedoc/intellplatform/index.html.
Note: Although you can specify some library references (librefs) by editing the
autoexec_usermods.sas file, these libref values are used only if no values for librefs
have been specified in SAS Management Console. For more information, see “The
autoexec_usermods.sas File” on page 27.
Data Tier 27
To ensure that your customizations to the macro are not overwritten in the future, place a
copy of the updated mausrexp.sas macro into an automacro location. This ensures that
the updated version is always referenced, rather than the default version.
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.
For details about these SAS system options, see SAS System Options: Reference at http://
support.sas.com/documentation/onlinedoc/base/index.html.
29
Chapter 2
Administration
Administrative Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Setting Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Use a Single Install Account . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Use Fully Qualified Server Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Specify Date Format for Exported Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Enable Email Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Modify the Banner Title in the User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Support Double-Byte Character Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Set Session Time-Out Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Prevent Users from Adding Attachments or Uploading Malicious Files . . . . . . . . . 33
Create Report Exports in SAS Web Report Studio . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Middle-Tier Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Release Locked Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Manage User Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Managing User Sessions in the Administration Workspace . . . . . . . . . . . . . . . . . . . 37
Managing User Sessions If Secure Sockets Layer (SSL) Is Configured . . . . . . . . . 37
Update Dynamic Custom Detail Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Set Campaign Execution Status to Fail When There Are
Dynamic Treatment Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Overview of Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Set Row and Item Recovery Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Selection Campaign Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Set Separators for Lists and Treatment Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Set Logging Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Administrative Objectives
Administrators set up and maintain the SAS Customer Intelligence Studio environment
and the supporting SAS Intelligence Platform environment.
30 Chapter 2 • Administration
For information about integrating SAS products with other applications in your
enterprise, see SAS Integration Technologies at http://support.sas.com/documentation/
onlinedoc/inttech.
Tasks
After you complete the setup tasks by following the instructions that are provided in the
SAS Deployment Wizard User’s Guide, you might be required to perform additional
tasks. These tasks might include setting options for environmental components that
include third-party application servers, SAS servers, and scripts to support campaign
activities by users.
1. Control user access to business contexts, campaigns, and reports. For more
information, see Chapter 3, “Security,” on page 43.
2. Create information maps for campaign activities. For more information, see Chapter
5, “SAS Information Maps for Campaigns,” on page 67.You can also modify the
provided information map for SAS Customer Intelligence.
3. Configure the Reports workspace to display data from the common data model. For
more information, see Chapter 8, “Displaying Reports in the Reports Workspace,” on
page 133.
4. Manage the scheduling tasks for SAS Marketing Automation. See Scheduling in SAS
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 10, “Scheduling SAS Marketing Automation
Campaigns,” on page 157 for details about configuring the components that are
specifically used for SAS Marketing Automation.
5. Extract and import campaigns, and other objects as needed, by using either
Integration Utilities for SAS Customer Intelligence, or SAS promotion tools. For
more information about SAS promotion tools, see “Using the Promotion Tools” in
SAS Intelligence Platform: System Administration Guide. See also SAS Customer
Intelligence Integration Utilities: User’s Guide. To access this page, use access key
c!@09040.
6. Update the counts metadata as needed. For more information, see “Understanding
the Counts Metadata” on page 96.
7. Optimize the SAS environment by customizing the autoexec_usermods.sas file. For
more information, see “The autoexec_usermods.sas File” on page 27.
8. Define a strategy for backing up and restoring information maps and campaigns. For
more information, see Chapter 12, “Backing Up and Restoring Data,” on page 197.
9. Troubleshoot problems by setting logging levels. For more information, see Chapter
14, “Troubleshooting,” on page 213.
Setting Up 31
Setting Up
Introduction
See your on-site SAS support personnel for installation instructions.
To view the setup instructions for the common SAS Intelligence Platform, see the SAS
Intelligence Platform: Installation and Configuration Guide at http://support.sas.com/
documentation/onlinedoc/intellplatform/index.html.
Incorrect joesmachine
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.
7. For the ExportDateFormat property, specify nldate.. Include the period (.) as part
of the date format.
In the example code, xx specifies the next number in the sequence that already exists
in the file.
• On UNIX, add the following argument to the setenv.sh file, which is located in the
<LevConfig>/Web/WebAppServer/SASServer6_1/bin directory:
JAVA_OPTS="$JAVA_OPTS -Dsas.cistudio.envname=Test Environment"
Note: The settings for time-out values are overwritten when you apply a SAS Customer
Intelligence hot fix and redeploy the SAS Customer Intelligence Studio web
application.
You might want to disable the appearance of images because they can link to an external
scalable vector graphics (SVG) image that contains malicious JavaScript code. To
disable the appearance of images in campaigns and treatments, set the following
property in the index.jsp file, which is located in <LevConfig>\Web\WebAppServer
\SASServer6_1\sas_webapps\sas.customerintelligencestudio.war.
<sas-html:config-property name="sas.ci.turnImageAttachmentsOff" value="true"/>
You must fully disable attachments to prevent users from viewing or uploading
malicious files. To fully disable attachments:
34 Chapter 2 • Administration
1. Open the file that is used to start the SAS Web Application Server.
On UNIX or Linux, the file is typically <LevConfig>/Web/WebAppServer/
SASServer6_1/conf/setenv.sh.
On Windows, the file is typically <LevConfig>\Web\WebAppServer
\SASServer6_1\conf\wrapper.conf
2. Add the following parameter to the file:
-Dsas.ci.disableAttachments
Any attempt to display or add attachments through the user interface or a command-line
utility is rejected by the SAS Customer Intelligence mid-tier server.
For more information, see “All Custom Properties for Information Maps” on page 85,
Table 11.1 on page 174, SAS Marketing Automation: User’s Guide, and the online Help
for SAS Information Map Studio.
2. In the User Manager plug-in in SAS Management Console, verify that the user of the
information map in SAS Web Report Studio is a member of the Advanced role in
SAS Web Report Studio.
For more information, see SAS Web Report Studio: User’s Guide at http://
support.sas.com/documentation/onlinedoc/wrs/.
Middle-Tier Clustering
A cluster of middle-tier application servers provides hardware and software fault
tolerance for SAS Marketing Automation. The hardware fault tolerance is the result of
clustering multiple physical middle-tier servers. A single hardware fault does not cause
SAS Customer Intelligence Studio applications to become unavailable. The software
36 Chapter 2 • Administration
fault tolerance is the result of the ability to run one or more application server instances
on each physical server. A single software fault does not cause SAS Customer
Intelligence Studio applications to become unavailable. Hardware and software fault
tolerance can be combined in a single installation.
A load balancer distributes user sessions across the cluster of servers, or nodes. When a
server is unavailable, the load balancer routes new user sessions to other nodes in the
cluster. Each user session is associated with a single node in the cluster. When that node
fails, the user session is no longer functional. When the user closes the browser and logs
back on to SAS Customer Intelligence Studio, the load balancer routes the new session
to another node in the cluster.
CAUTION:
A new browser session must be opened when a node is in Drain mode. If you
select the Drain option for a cluster node, notify the users of that node. In addition to
logging off from SAS Customer Intelligence Studio, the users must start a new
HTTP session. A new HTTP session be started either by selecting a new session
from the browser, or by closing and opening the browser. If the user logs off and
back on without starting new HTTP session, their SAS Customer Intelligence Studio
session continues on the node that is in Drain mode.
If all of the nodes in the cluster fail, SAS Customer Intelligence Studio applications are
no longer available.
If a user is working in SAS Customer Intelligence Studio, and operations start to fail, the
node that is hosting the session might be unavailable. The user should notify the
administrator, and then log off and log back on to create a new session. Unsaved changes
are lost.
For information about middle-tier application server clustering, see SAS Intelligence
Platform: Middle-Tier Administration Guide at http://support.sas.com/documentation/
onlinedoc/intellplatform/index.html.
Metadata server clustering is also supported. For information about metadata server
clustering, see SAS Intelligence Platform: System Administration Guide at http://
support.sas.com/documentation/onlinedoc/intellplatform/index.html.
The Locks page and the User Sessions page in the Administration workspace in SAS
Customer Intelligence Studio list the cluster node that hosts each object or user session.
Select the object that you want to release and click to be able to edit the object. After
an object is released, any changes to the object can be saved only by selecting Save as.
Update Dynamic Custom Detail Values 37
To log off from a user session, select the session and click .
If a campaign is closed while it is executing, the execution continues to run. A best
practice is to set up notifications so that users receive an email message if the execution
fails. For more information, see SAS Marketing Automation: User’s Guide.
If the environment is not configured to use the default port, use the HTTPS port
number.
3. Restart the SAS Web Application Server.
Environment Variables
results contain only those customers who have checking accounts. A query that
requested all the customers who do not have a closed checking account would result in a
table of all customers who have an open checking account. Customers who do not have
checking accounts would be excluded. If you select Preserve selected subjects (using
outer join), customers who do not have checking accounts would be included in your
query results.
Chapter 3
Security
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.
46 Chapter 3 • Security
Figure 3.1 Capabilities Tab for the Customer Intelligence Common: Administrator Role
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 (+).
• Shaded check boxes indicate capabilities that come from contributing roles.
• Some roles have implicit capabilities that are not specified on the Capabilities tab.
Capability Description
Log on to Customer Intelligence applications enables the user to sign in to SAS Customer
Intelligence Studio. This capability cannot be
selected.
Manage selection campaign groups enables the user to manage SAS Marketing
Automation campaign groups.
Allow use of advanced nodes enables the user to create and use nodes with
Advanced user permission.
Allow writing code in Process node enables the user to enter code in the Process
node.
Allow send to administrator for campaign or enables the user to send details of a campaign
group schedule or campaign group schedule to an
administrator.
Allow send to scheduler for campaign or enables the user to send details of a campaign
group schedule or campaign group schedule directly to the
scheduling software.
Manage calculated items enables the user to create, edit, and delete
calculated items.
Manage selection campaign definitions enables the user to view and use SAS
Marketing Automation campaign definitions.
Manage campaign group definitions enables the user to view and use SAS
Marketing Automation campaign group
definitions.
Manage export definitions enables the user to view and use export
definitions.
Manage selection custom diagram tools enables the user to view and use SAS
Marketing Automation custom diagram tools.
Manage global variables enables the user to view and use global
variables.
Manage custom detail groups enables the user to view and use custom detail
groups.
Manage response definitions enables the user to view and use response
definitions.
Administering Groups and Roles 49
Manage built-in diagram tools enables the user to manage diagram tools that
are supplied with the application.
Manage information map metadata enables the user to manage information map
metadata.
Manage business contexts enables the user to view and use business
contexts.
Allow preview of export tables enables the user to preview export tables in
the Communication node or the Export node.
In the following table, an asterisk (*) indicates that the capability is from a contributing
role.
Log on to X X* X* X* X*
Customer
Intelligence
applications
Manage X X
selection
campaigns
Manage X X
selection
campaign
groups
Edit comments X X* X* X* X*
50 Chapter 3 • Security
Manage X X
treatments
Delete X X* X* X* X*
comments
View reports X X
Manage reports X
Allow use of X
advanced nodes
Allow writing X
code in Process
node
Allow send to X
administrator
for campaign or
group schedule
Allow send to X
scheduler for
campaign or
group schedule
Execute X
campaign or
group
Manage X
calculated items
Manage X
selection
campaign
definitions
Manage X
campaign group
definitions
Manage export X
definitions
Manage seeds X
Manage X
communication
definitions
Manage X
selection
custom diagram
tools
Manage global X
variables
Administering Groups and Roles 51
Manage custom X
detail groups
Manage X
response
definitions
Manage built-in X X
diagram tools
Manage X X
optimization
Manage X
channels
Manage X
information
map metadata
Manage staged X
treatments
Manage custom X
processes
Manage X
business
contexts
Manage user X
sessions
Manage locks X
Manage X
environment
settings
Allow preview
of export tables
Modifying Roles
The User Manager plug-in in SAS Management Console enables you to modify roles by
selecting or deselecting different capabilities.
CAUTION:
No automated method 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 SAS Intelligence
Platform: Security Administration Guide at http://support.sas.com/documentation/
onlinedoc/intellplatform/index.html.
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. In order to manage administration resources
such business contexts, user sessions, and environment settings, a user must be a
member of the Customer Intelligence Common Administrator group.
Note: The user interface displays only groups that are created with the Customer
Intelligence Usage: Role.
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.
Administering Groups and Roles 53
• To add a user to the Customer Intelligence: Administration role, add the user to the
Customer Intelligence Administrator group. The user also gets the capabilities of the
contributing role, Customer Intelligence: Usage.
Note: There is no reason to add a user directly to the Customer Intelligence: Usage role.
This role enables a user to log on, and can be used to filter lists of groups in other
areas of the software.
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.
To be able to send a schedule to the scheduling software, the user must have both
capabilities. If a user does not have these capabilities, the following capability enables
the user to send a schedule to an administrator:
• Allow send to administrator for campaign or group schedule
In this case, the administrator must be able to send the schedule to the scheduling
software and to execute the campaign or group.
Task Capability
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.
Although permissions can be assigned to individual users, it is recommended that you
assign permissions for groups and then place users in those groups. Placing users in
groups with previously assigned permissions decreases the work of maintaining your
permissions structure and helps you avoid orphaned objects for which no users have
permissions
You can set permissions at several levels:
• Repository-level controls provide the default access controls for objects that do not
have other access controls.
• Resource-level controls manage access to a specific item such as an information
map, a campaign, 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.
56 Chapter 3 • Security
• 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 permission 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.
Permissions are set by using the following methods:
• The access control template (ACT), which provides a set of default permissions.
• Business contexts, which are groupings of campaigns. When you create a business
context, you specify which users can log in, and which users can view or edit the
business context properties.
• Custom repositories, which you can use to physically separate metadata for storage
or security purposes.
Each of these methods is described in more detail below.
groups to the Permissions and Users tabs, and then remove the administrative user ID
from both tabs.
CAUTION:
Users who are listed in the SAS Customer Intelligence ACT should not create
business contexts These users are excluded from the permissions list for business
contexts. If they create business contexts, no other users have permission, and no
users are listed on the permissions list.
New users and groups might not have immediate access to a business context. By
default, the cache of user permissions for a business context is refreshed every four
hours. To modify the refresh interval, enter the following code in the
<LevConfig>/Web/WebAppServer/SASServer6_node_number/bin/
setenv.sh file of the web application server.
-Dcom.sas.analytics.crm.bctx.cache.recache.minutes=number of minutes
Password Updates
During SAS Customer Intelligence installation, passwords for the following accounts are
updated when Update Passwords is selected from SAS Deployment Manager.
• SAS Marketing Optimization Data Store Account
• Customer Intelligence Scheduling User ID
• Customer Intelligence Services User
Note: Passwords that are controlled by an external provider (such as in LDAP, Active
Directory, or the host operating system) are not synchronized. Make sure that the
passwords that you provide as input match the actual passwords in your external
provider.
59
Chapter 4
Overview of Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Assets and Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Location of SAS Customer Intelligence Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Copying and Pasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Importing and Exporting SAS Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
The SAS Package Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
User Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Business Contexts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Calculated Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Common Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Custom Diagram Tools and Custom Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Communication Nodes and Export Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Link Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Stored Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Treatments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Memory Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Best Practices for Exporting and Importing Objects . . . . . . . . . . . . . . . . . . . . . . . . 65
Importing and Pasting Calculated Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Overview of Folders
The Folders tab of SAS Management Console displays the folders that contain metadata
for SAS Customer Intelligence objects. You can import and export SAS Packages, and
copy and paste objects between folders. SAS Customer Intelligence does not use the My
Folder or Shared Data folders.
Folder permissions are applied to the contents of the folders. If a user has permission to
edit a folder, then the user can edit the contents of the folder and delete an empty folder.
If a user has permission to view the folder, then the user can view the contents of the
folder. The user cannot add content to the folder, and cannot delete the folder. If a user
has no access permissions to the folder, then the user cannot view or add contents to the
folder, and cannot delete the folder. For more information about administrative roles and
setting permissions, see the online Help for SAS Management Console.
60 Chapter 4 • Folders in SAS Management Console
You can create folders, but you cannot rename folders that are used by SAS Customer
Intelligence.
When you create a folder, it inherits the permissions of the parent folder. You can change
the inherited permissions.
User Permissions
A user who has View permission can export a SAS package. The import process
automatically grants the importing user WriteMetadata permission on newly imported
objects if the user does not already have this permission.
To import an item into a folder, you must have the appropriate access permissions for the
folder. An administrator can temporarily add a user to the access control template. The
user can be removed after the required operation has been completed.
If you select Include access controls in the Import SAS Package wizard, you must have
Write permission to the objects that are imported.
Business Contexts
Source and target business contexts can be in different folder locations relative to their
root directories.
If you export business context assets separately, and you want to keep the relationship
between assets, the assets must be imported to the same folder locations relative to each
business context root folder. For example, if you want to import a campaign separately
from the campaign group that references it, and you want the linkage to be automatically
restored, then the campaign should be imported to the same relative folder. If the assets
are exported and imported together, they do not have to be imported to the same folder
locations relative to each business context. Assets that are not referenced by other assets
can be imported into any folder.
Importing and Exporting SAS Packages 63
Calculated Items
Calculated items that are used in an object are exported with the object. When the object
is imported, the calculated items are mapped to existing calculated items, or they are
added to the Calculated Items category in SAS Customer Intelligence Studio.
Comments
Comments are removed from the imported object.
Definitions
Definitions should be imported into the corresponding folder in the new environment.
Because definitions are shared across business contexts, a change to a shared definition
results in changes to the definition in other business contexts. If you include dependent
objects when you export a campaign, the campaign definition is not exported.
If importing a response definition would result in a duplicate channel response code for a
specific channel, the channel response code field is empty in the imported definition.
When you import a definition, the only business contexts that remain associated with
that definition are those business contexts for which you have Write permission.
Link Nodes
If a Link node is used in the campaign, the campaign that includes the cell that is linked
to is included in the export.
Stored Processes
When a Process node or a Custom node includes a stored process, the stored process is
associated with the node by pathname and by folder. You can create different stored
processes of the same name in different folders.
When you export and import campaigns, be sure to retain the paths between nodes and
their stored processes. You first export and import the stored process and then you export
and import the campaign. To export and import a campaign and the associated stored
processes:
1. On the Folders tab of SAS Management Console, right-click SAS Folders and
select Export SAS Packages.
2. Select the stored processes that you want to export and create the package file.
3. Right-click SAS Folders and select Import SAS Package.
4. In the Import SAS Package wizard, select the package that contains the stored
processes.
5. Select Preserve source path information for objects in the package and finish
importing the package.
6. Export and import the campaign into the destination environment.
Treatments
When you import treatments along with a campaign, an information icon ( ) indicates
that you should verify that the treatments are correct when you open the imported
campaign. Imported treatments with attached images must map to treatments in the
destination folder. Otherwise, the images are not available to campaigns.
Memory Size
If you import a large package, you might need to increase memory size. In the sasmc.ini
file, modify the following code.
JavaArgs_1=-Xmx1024m
If you import a large package, you might need to increase memory size. In the
ImportPackage.ini file, modify the following code.
JavaArgs_1=-Xmx1024m
Increasing the memory size to the following value allows the import process to
accommodate a package of more than 5 megabytes.
JavaArgs_1=-Xmx2048m
Best Practices for Exporting and Importing Objects 65
The exporting and importing process retains all codes, but regenerates surrogate keys.
For information about using command-line utilities to export and import objects, see
“Batch Export and Import Tools” on page 173 and “Update Export Paths” on page 170.
66 Chapter 4 • Folders in SAS Management Console
Chapter 5
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 associated with an existing information map in SAS Customer Intelligence.
Note: Data items that are used as variables in optimization scores must not exceed 32
bytes.
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 Customer Intelligence.
2. Specify the table relationships on the Relationships tab to enable the retrieval of
information from multiple tables.
70 Chapter 5 • SAS Information Maps for Campaigns
For more information, see the online Help for SAS Information Map Studio and
“Tips: Building Your Information Map” on page 70.
Note: Table relationships are established by specifying join keys and join types.
3. Specify any custom properties (extended attributes) in the information map. For
more information, see “About Custom Properties” on page 73.
4. Save the information map. You can store it in any folder. For more information, see
“Organizing Your Folders as Categories” on page 70.
Overview
During the installation of SAS Information Map Studio, if you indicate that SAS
Customer Intelligence is also installed, then a file named 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. For more
information, see “Example: Adding Custom Subjects to MAtemplate.txt” on page 80.
1. Using SAS Information Map Studio, locate and select the appropriate information
map.
2. In the Information Map Contents pane, right-click the information map name, and
select Properties.
3. Select the Custom tab and locate the MAMeta label in the table of custom
properties.
If the Custom tab is not displayed in SAS Information Map Studio, then see
“Making Custom Properties Available” on page 76.
4. Specify the appropriate path for the MAMeta information map libref in the Value
column.
If the libref points to a UNIX server, then follow these steps to ensure that the correct
path is specified:
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.
5. Complete any partial data items that you select. To enter text in a cell, double-click
in the cell. For more information, see “Custom Properties (Map Level)” on page 81.
6. After you enter the name, description, and value for a new custom property, click
within a header cell to remove the highlighting from the new row. If you click OK
while any part of a row is highlighted, then the changes in that row are not saved.
7. Add the custom properties that are required for the map level. For more information,
see “Custom Properties (Map Level)” on page 81.
8. 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.
</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="UseInCluster" DefaultValue="False" EditablePicklist="False">
<Option Value="True"/>
<Option Value="False"/>
</OptionalItem>
<OptionalItem Key="UseInSubjectId" DefaultValue="Subject_ID_" EditablePicklist="True">
<Option Value="Subject_ID_"/>
</OptionalItem>
<OptionalItem Key="UseInSubjectIdTop" DefaultValue="Subject_ID_" EditablePicklist="True">
<Option Value="Subject_ID_"/>
</OptionalItem>
<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="Presented_Treatments" 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">
About Custom Properties 79
<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"/>
<OptionalItem Key="ExportIgnoresRefinement" DefaultValue="False" EditablePicklist="False">
<Option Value="True"/>
<Option Value="False"/>
</OptionalItem>
</DataItems>
<FilterItems EditablePicklist="True">
</FilterItems>
<Relationships EditablePicklist="True">
</Relationships>
</ExtendedAttributesTemplate>
3. In the Information Map Properties dialog box that appears, if the Custom option
(label 2) is populated with custom properties, 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.
<Option Value="Subject_ID_">
Replace each instance of the code in MAtemplate.txt with the following code:
About Custom Properties 81
<Option Value="Subject_ID_Customer"/>
<Option Value="Subject_ID_Household"/>
<Option Value="Subject_ID_Account"/>
Verify that the list of subjects is correctly displayed. For more information, see “Verify
That Custom Properties Are Available” on page 79.
Table 5.1 Custom Properties (Map Level) That Are Related to Subject
DataSetOptions_ engine sets the data set options for the DataSetOption no -
specified engine. This setting s_
applies to all of the tables that ORACLE=orhi
access data through that engine. nts=’/* */”
82 Chapter 5 • SAS Information Maps for Campaigns
Table 5.2 Custom Properties (Folder Level) That Are Related to Subject
Table 5.3 Custom Properties (Data Item Level) That Are Related to Subject
Contact_History identifies the table in which contact Subject_ID_ yes for one -
history records are added for the specified Customer data item
subject. The contact history property is derived from
used by SAS Customer Intelligence in each contact
order to direct new records to the contact history table
history table.
The underlying physical column name or
names of the data items that have
UseInSubjectID equal to this value are the
physical column name or names of the
subject on Contact History. This attribute
should be set once per subject.
Presented_Treatments specifies that, for the specified subject, the Subject_ID_ yes for one -
presented treatment is stored in the table Customer data item
that contains this data item. This attribute
should be set once per subject.
Responses identifies the table in which the responses Subject_ID_ yes for one -
are stored for the specified subject. The Customer data item
Responses property is used by SAS derived from
Customer Intelligence in order to fetch the each
appropriate response records from the response
response table for the response node. table
Also, the underlying physical column
names of 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.
About Custom Properties 85
UseInSubjectID is set only for the data items that are Subject_ID_ yes for data -
derived from primary keys of a primary Customer items from
subject table. The value that is specified the primary
here is the Subject_ID_x extended key of the
attribute value that is assigned for this subject tables
subject table at the information map level.
For example, if this extended attribute is
on data item Customer ID whose
underlying physical column name is
CUSTTABLE.CUST_ID, then this
extended attribute defines 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 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 is 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.
Contact_History identifies the table in which contact history Subject_ID_C yes for 1 -
records are added for the specified subject. The ustomer data item
contact history property is used by SAS derived
Customer Intelligence in order to direct new from each
records to the contact history table. contact
history
The underlying physical column name or names
table
of the data items that have UseInSubjectID equal
to this value are the physical column name or
names of the subject on Contact History. This
attribute should be set once per subject.
OutputColumnName specifies the column name that replaces the Any valid no -
physical column name that is used in the column name.
internally generated SQL query when this data
item is selected for processing.
Presented_Treatments specifies that the table containing this data item Subject_ID_C yes for 1 -
is where the presented treatment is stored for the ustomer data item
specified subject. This attribute should be set from each
once per Subject_ID. presented
treatment
table
Responses identifies the table in which the responses are Subject_ID_C yes for one -
stored for the specified subject. The Responses ustomer data item
property is used by SAS Customer Intelligence to derived
fetch the appropriate response records from the from each
response table. response
table
The underlying physical column name or names
of 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.
UseInCluster specifies whether this data item is used in the True no False
Cluster node. These are the valid values:
• True
• False
Nominal and ordinal data items are clustered
separately from interval data items. If
UseInCluster is set to True in any nominal or
ordinal data items, then at least three nominal or
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 ordinal data items with many values.
Limit the data items that you cluster to those data
items that are the most meaningful to cluster.
94 Chapter 5 • SAS Information Maps for Campaigns
UseInSubjectID is set only for the data items that are derived Subject_ID_ yes for data -
from primary keys of a primary subject table. items from
Customer
The value that is specified here is the the primary
Subject_ID_x extended attribute value that is key of the
assigned for this subject table at the information subject
map level. For example, if this extended attribute tables
is on data item Customer ID whose underlying
physical column name is
CUSTTABLE.CUST_ID, then this extended
attribute defines that for subject
Subject_ID_Customer, the physical column is
CUSTTABLE.CUST_ID.
If two physical fields make up a single subject,
then a UseInSubjectID 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 is 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.
Visible If Visible is set to False for a data item, then the True no True
unfiltered targets of a filtered data item are
False
hidden and metadata generation is faster. These
hidden items can still be referenced as target
items for filtered data items.
The following display provides the valid combinations of the Level attribute with data
type. Classification refers to how the data item is classified in SAS Information Map
Studio.
96 Chapter 5 • SAS Information Maps for Campaigns
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 whose Subject_ID_x is not specified for the household subject, no
metadata is generated for any data item in the folder at the household level.
Chapter 6
Some 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.
All of the business contexts for your site can share a single version of the common data
model. Alternatively, you can specify a separate version of the model for each business
context. For more information, see “Managing Multiple Business Contexts” on page
100.
For descriptions of the tables and their columns in the common data model, see SAS
Customer Intelligence Common Data Model: Data Dictionary. You must supply the c!
@09040 access key.
A diagram of the model is available at https://support.sas.com/documentation/prod-h/ci/
CI6.6_Common_Data_Model_Diagram.pdf. Use the diagram to understand the
relationships among the tables that comprise the model.
Overview
The tables of the common data model can be organized conceptually in the following
categories:
• Campaigns. For more information, see “Campaigns” on page 101.
• Campaign groups. For more information, see “Campaign Groups” on page 102.
• Cells, packages, and treatments. For more information, see “Cells, Packages, and
Treatments” on page 104.
• Communications. For more information, see “Communications” on page 103.
• Control groups. For more information, see “Control Groups” on page 105.
• History and responses. For more information, see “History and Responses” on page
106.
• SAS Marketing Optimization. For more information, see “SAS Marketing
Optimization” on page 107.
• Integration with SAS Customer Intelligence 360. For more information, see
“Integration with SAS Customer Intelligence 360” on page 107.
To implement these tables, see Chapter 7, “Implementing the Common Data Model ,” on
page 121.
Campaigns
CI_CAMPAIGN
The CI_CAMPAIGN table is the central table to which the other tables in the campaigns
category connect. A campaign 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.
CI_CAMPAIGN_EXT
The CI_CAMPAIGN_EXT table contains the additional user-defined fields if the
CI_CAMPAIGN table is extended in order to meet user-specific requirements. For more
information, see “About Extension (_EXT) Tables” on page 107.
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. For default populated values, see “About Lookup
Tables” on page 114.
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.
102 Chapter 6 • Common Data Model: Concepts
CI_CAMP_PAGE
The CI_CAMP_PAGE table contains the checklist item for a campaign. A checklist item
can be a brief, a diagram, a communication, an optimization, a schedule, creative details,
or offer details.
For information about _UDF tables, see “UDF (User-Defined Field) Tables” on page
108.
CI_CHANGE_LOG
The CI_CHANGE_LOG table contains an audit trail that is recorded when a component
(table) of a campaign is changed.
CI_CHANGE_TYPE
The CI_CHANGE_TYPE table is a reference table that contains the types of changes
that are stored in the change log. This table is prepopulated when the common data
model is installed.
CI_TREATMENT_CAMPAIGN_SET
The CI_TREATMENT_CAMPAIGN_SET table is a set of treatment campaigns
applicable only in Real-Time Decision Manager campaigns. After each treatment
campaign has determined the eligibility of an offer, the campaign returns the information
to the treatment campaign set. The treatment campaign set arbitrates the offers and
returns the best offers to the individual customers.
CI_TREAT_CAMP_SET_STATUS
The CI_TREAT_CAMP_SET_STATUS table is a reference table that contains the status
codes and descriptions for a treatment campaign set. This table is prepopulated when the
common data model is installed. The supplied values are __N (Not Marked for
Deployment) and __D (Marked for Deployment).
CI_TREAT_CAMP_SET_X_CAMPAIGN
The CI_TREAT_CAMP_SET_X_CAMPAIGN table is an intersection table that models
the many-to-many relationship between treatments and campaigns. When a treatment
campaign is removed from the treatment campaign set, a clean publish operation
removes the treatment campaign from this table.
Campaign Groups
CI_CAMPAIGN_GROUP
The CI_CAMPAIGN_GROUP table contains the name, description, business contexts,
and checklist items for a group of selection campaigns. The campaign group enables the
campaign manager to assign all budgets and scores across campaigns, and to schedule all
of the campaigns within the campaign group at the same time. Either SAS Marketing
Automation or SAS Marketing Optimization can access data about campaign groups.
CI_CAMPAIGN_GROUP_EXT
The CI_CAMPAIGN_GROUP_EXT table contains the additional user-defined fields
when the CI_CAMPAIGN_GROUP table must be extended in order to meet user-
specific requirements. For more information, see “About Extension (_EXT) Tables” on
page 107.
How the Common Data Model Is Organized 103
CI_CAMPAIGN_GROUP_STATUS
The CI_CAMPAIGN_GROUP_STATUS table is a reference table that contains the
status codes and descriptions for a campaign group. This table is prepopulated when the
common data model is installed. Additional user-defined status codes can be specified.
CI_CAMPAIGN_GROUP_TYPE
The CI_CAMPAIGN_GROUP_TYPE table is a reference table that contains the types of
campaign groups. This table is prepopulated when the common data model is installed.
CI_CAMP_GRP_PAGE
The CI_CAMP_GRP_ PAGE table contains the checklist item for a campaign group. A
checklist item can be a brief, a diagram, a communication, an optimization, a schedule,
creative details or offer details.
For information about _UDF tables, see “UDF (User-Defined Field) Tables” on page
108.
CI_CAMP_GRP_X_MO_OPT_SCENARIO
The CI_CAMP_GRP_X_MO_OPT_SCENARIO table is an intersection table that
models the many-to-many relationship between campaign groups and SAS Marketing
Optimization scenarios.
Communications
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 email) between a company and targeted customers.
This table is automatically populated with common channel codes. For more
information, see “About Lookup Tables” on page 114.
CI_COMMUNICATION
The CI_COMMUNICATION table 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_EXT
The CI_COMMUNICATION_EXT table contains additional user-defined fields when
the CI_COMMUNICATION table must be extended in order to meet user-specific
requirements.For more information, see “About Extension (_EXT) Tables” on page 107.
CI_COMMUNICATION_RECURR_TYPE
The CI_COMMUNICATION_RECURR_TYPE table is a reference table that contains
the types of communication recurrences. This table is prepopulated with the values
None, Hourly, Daily, Weekly, Monthly, and Other, when the common data model is
installed.
CI_COMMUNICATION_STATUS
The CI_COMMUNICATION_STATUS table is a reference table that 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. This table is prepopulated
104 Chapter 6 • Common Data Model: Concepts
when the common data model is installed. Additional user-defined status codes can be
specified.For the default values, see “About Lookup Tables” on page 114.
_UDF Tables
For information about _UDF tables, see “UDF (User-Defined Field) Tables” on page
108.
CI_CELL_PACKAGE
The CI_CELL_PACKAGE table 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.
The DELETED_FLG field is set to Y when an occurrence is re-executed. Both
executions have the same occurrence number. The previous occurrence is deleted when a
new occurrence is added. The DELETED_FLG field is not set to Y when the last
occurrence is deleted. DELETED_FLG field is set to Y when the occurrence is re-
executed and has a new surrogate key.
CI_DYNAMIC_TREATMENT_ATTRIBUTE
The CI_DYNAMIC_TREATMENT_ATTRIBUTE table contains the associations of
what dynamic treatments are part of a campaign. In dynamic treatments, values can
change each time that a campaign is run.
This table uses the response tracking code to generate a value for the
CELL_PACKAGE_SK column. In a DS2 process, the contact must precede the writing
to the table, or the value of CELL_PACKAGE_SK will be -1.
CI_DYNAMIC_TREATMENT_ATTR_EXT
The CI_DYNAMIC_TREATMENT_ATTR_EXT table contains additional user-defined
fields when the CI_DYNAMIC_TREATMENT_ATTRIBUTE table must be extended in
order to meet user-specific requirements.For more information, see “About Extension
(_EXT) Tables” on page 107. For information about the limits on the number of
characters in a variable, see “About Populating the _EXT Tables” on page 107.
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_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 can have
multiple treatments. A single treatment can be a part of multiple packages.
CI_STAGING_DATA
If the common data model is used to store staged treatments, the CI_STAGING_DATA
table associates staged treatments with a business context.
How the Common Data Model Is Organized 105
CI_TREATMENT
The CI_TREATMENT table contains the treatments that are associated with a 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, that user 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.
CI_TREATMENT_EXT
The CI_TREATMENT_EXT table contains additional user-defined fields when the
CI_TREATMENT table must be extended in order to meet user-specific
requirements.For more information, see “About Extension (_EXT) Tables” on page 107.
_UDF Tables
For information about _UDF tables, see “UDF (User-Defined Field) Tables” on page
108.
Control Groups
CI_CONTROL_GROUP_TYPE
The CI_CONTROL_GROUP_TYPE table is a reference table that contains the types of
control groups that are used for reporting. The supplied type is _ST for Manual. This
table is prepopulated when the common data model is installed. Additional user-defined
types can be specified.For more information, see Table 6.12 on page 118.
In the common data model, these associations are established.
• For champion/challenger settings, the champion is the control group that the
challengers are compared with.
• For challenger/challenger settings, each challenger is a control group for all the other
challengers in a node, so that any two challengers can be compared with each other.
CI_CTL_GRP_CELL_X_TEST_CELL
The CI_CTL_GRP_CELL_X_TEST_CELL table 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 in order to determine the performance of this control group
comparison. The values for CONTROL_GROUP_CELL_SK and
MARKETING_CELL_SK are added as rows in the table when a campaign is published.
This table is used for holdout control groups as well as for champion/challenger and
challenger/challenger control groups.
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.
106 Chapter 6 • Common Data Model: Concepts
CI_CONTACT_HISTORY
The CI_CONTACT_HISTORY table contains a contact record of the delivery of a
particular package to a particular channel for a particular subject. For more information,
see “About History Tables” on page 109.
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. For
more information, see “About History Tables” on page 109.
This table is used in a call center where an operator presents a subset of the delivered
treatments to a customer. 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 data).
CI_CONTACT_HISTORY_STATUS
The CI_CONTACT_HISTORY_STATUS table is a reference table that contains the
status codes and descriptions for a contact history record. This table is prepopulated
when the common data model is installed. Additional user-defined status codes can be
specified. For the default values, see “About Lookup Tables” on page 114.
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. For more information, see “About History Tables” on page 109.
CI_RESPONSE
The CI_RESPONSE table is a reference table that contains user-defined response codes
and their associated descriptions.
CI_RESPONSE_CHANNEL_RESPONSE
The CI_RESPONSE_CHANNEL_RESPONSE table is a reference 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 “About Lookup
Tables” on page 114.
CI_RESPONSE_X_CELL_PACKAGE
The CI_RESPONSE_X_CELL_PACKAGE table is a reference table that contains the
codes for the types of responses (for example, _CV for Converted, _RS for Responded).
This table is prepopulated when the common data model is installed.
CI_RESPONSE_TYPE
The CI_RESPONSE_TYPE table is a lookup table that contains the codes for the types
of responses such as _CV (which stands for Converted) and _RS (which stands for
Responded).
About Extension (_EXT) Tables 107
CI_MO_OPTIMIZATION_SCENARIO
The CI_MO_OPTIMIZATION_SCENARIO table contains columns that associate
marketing optimization scenarios with campaign groups. This table enables associations
between SAS Marketing Optimization and SAS Marketing Automation data.
CI_EXTERNAL_CONTACT
The CI_EXTERNAL_CONTACT table contains a summary of contact events that are
extracted from contact data that has been imported from SAS Customer Intelligence 360.
CI_EXTERNAL_CONT_RESPONSE_DETAIL
The CI_EXTERNAL_CONT_RESPONSE_DETAIL table contains details of contact or
response impression events that are extracted from contact and response data that has
been imported from SAS Customer Intelligence 360.
CI_EXTERNAL_RESPONSE
The CI_EXTERNAL_RESPONSE table contains a summary of response events that are
extracted from response data that has been imported from SAS Customer Intelligence
360.
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. This is usually a one-time database administrator task.
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. The rows of the
_EXT tables are populated with data.
Note: For list type custom details, the value, rather than the display value, is used to
populate the _EXT table.
The CI_DYNAMIC_TREATMENT_ATTR_EXT table is populated with the dynamic
custom details from the CI_TREATMENT_*_UDF tables and the
108 Chapter 6 • Common Data Model: Concepts
CI_TREATMENT_EXT table is populated with the static custom details from the
CI_TREATMENT_*_UDF tables.
Note: The value of the CI_TREATMENT_CHAR_UDF.CHAR_UDF_VAL variable is
limited to 500 characters.
For more information, see “Customizing the Extension (EXT) Tables” on page 128.
The following views are associated with campaign and campaign group UDF tables.
About History Tables 109
Table View
CI_CAMP_GRP_PAGE_CHAR_UDF CI_CAMPAIGN_GROUP_CHAR_UDF
WHERE PAGE_NM = 'Brief Custom Details'
CI_CAMP_GRP_PAGE_NUM_UDF CI_CAMPAIGN_GROUP_NUM_UDF
WHERE PAGE_NM = 'Brief Custom Details'
CI_CAMP_GRP_PAGE_DATE_UDF CI_CAMPAIGN_GROUP_DATE_UDF
WHERE PAGE_NM = 'Brief Custom Details’
• 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.
Note: 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.
contact history table is required only for the potential subject levels that apply to a
communication in SAS Customer Intelligence Studio.
For more information, see “Update the Placeholder SUBJECT_ID Columns” on page
126.
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.
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.
TREATMENT_HASH_VAL
contains a hash value generated to supply a single lookup value for a combination of
the dynamic custom details for a package.
TREATMENT_SK
is the primary reference key that associates the response with a treatment.
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 to the targeted customer names. The code is provided to the
customer in the offer. The promotion code is returned in the response by the customer
and captured at the touchpoint so that there is a direct link between the campaign and the
response. The promotion code is a value that is external to SAS Customer Intelligence.
Therefore, you must decide how to manage this link between the external promotion
code and a campaign in SAS Customer Intelligence.
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.
Spill (to a similar product in Clicks through an email to Does not provide a promotion
the same category) purchase a similar product. code and does not purchase
the product that is offered, but
Provides a promotion code at purchases another product in
time of purchase and does not the same category (captured
purchase the product that is in billing data).
offered, but purchases another
product in the same category.
Decline (often not captured) Provides a promotion code Does not provide a promotion
and does not purchase either code and does not purchase
the product that is offered or a either the product that is
product in the same category. offered or a product in the
same category. There is no
Receives an email, but does record of the purchase in the
not open it. billing data.
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_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_HASH_VAL
is the hash value for a dynamic treatment. The value is S or blank if the treatment is
static.
TREATMENT_SK
is the primary reference key that associates the presented treatment history with a
treatment.
___ Other
Campaigns that are migrated from a previous release retain their original campaign
status codes. The codes are not converted to the values in the following table.
1_1 Initiating
1_3 Designing
3_2 Scheduled
3_3 Executing
I Decision
O Selection
T Treatment
__H hourly
__D daily
__W weekly
__M monthly
__N none
__U unknown
_11 Executed
118 Chapter 6 • Common Data Model: Concepts
_30 Failed
_32 Future
_11 Executed
_30 Failed
_AU Automatic
_CL Challenger
_CP Champion
_ST Manual
Manual control groups are created by
selecting the Cell represents a control group
option in the Cell node.
_CV Converted
About Lookup Tables 119
_RS Responded
120 Chapter 6 • Common Data Model: Concepts
121
Chapter 7
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 the SAS Customer Intelligence
installation. The common data model is used by SAS Marketing Automation and SAS
Real-Time Decision Manager. For conceptual information about the common data
model, see Chapter 6, “Common Data Model: Concepts,” on page 99.
To implement the common data model, 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. For more information, see Chapter 3, “Security,” on page 43.
122 Chapter 7 • Implementing the Common Data Model
2. Create the table structure for common data model tables in your database. For more
information, see “Creating the Table Structure of the Common Data Model” on page
122.
3. Set up the history tables. For more information, see “Setting Up the History Tables”
on page 126.
4. Customize the _EXT tables. To add the user-defined fields for the associated UDF
tables, For more information, see “Customizing the Extension (EXT) Tables” on
page 128.
5. Set up the lookup tables. For more information, see “Setting Up the Lookup Tables”
on page 129.
6. Create the library definition for the common data model. For details, see SAS
Intelligence Platform: Data Administration Guide.
7. Edit your business contexts to include the location of the metadata for the common
data model tables.
Scroll down to BEGIN EXTENSION SECTION and follow the instructions for
modifying the extension tables.
After customizing the ci_cdm_ddl_<db>.sas file, execute it via SAS to place the
tables in the database.
How to Find Your DDL Scripts for Creating the Common Data Model
The following table lists the name of the program that contains the DDL script for each
database type:
DB2 ci_cdm_ddl_db2.sas
Greenplum ci_cdm_ddl_greenplum.sas
Oracle ci_cdm_ddl_oracle.sas
PostgreSQL ci_cdm_ddl_postgres.sas
Teradata ci_cdm_ddl_teradata.sas
DB2 Example
Greenplum Example
Oracle Example
For example, if the user name 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:
If the SAS session encoding is UTF-8, the length of staged treatment names might
exceed 128 bytes. In this case, there are execution errors. In order to accommodate these
longer names, add a DBCONINIT option to the CONNECT statement to specify
character semantics for the Oracle database. Character semantics are specified in the
following example:
CONNECT TO ORACLE (USER=&USER PASS=&PASS PATH=&PATH DBCONINIT="begin
execute immediate('ALTER SESSION SET NLS_LENGTH_SEMANTICS=CHAR');end;");
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. The tnsnames.ora file is located on the SAS computer where the Oracle client
is installed.
PostgreSQL Example
Mixed case or uppercase names for tables, columns, or schemas are not supported for
PostgreSQL.
Teradata Example
Placeholder Columns
Each of the tables in BEGIN HISTORY SECTION by default contains 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.
Note: If the subject has a composite key, then the multiple columns of the
composite key replace the SUBJECT_ID column.
2. Replace SUBJECT_ID column in the primary key constraint statements.
• 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
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.
Note: User-defined fields (UDFs) in the common data model are represented as custom
details in SAS Customer Intelligence and in SAS Management Console.
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.
Example: Modifying the Oracle Database Table Definition of an Extension Table
/*===================================================================*/
/* Enter Customer Specific Target Source Connection Values - Oracle */
/*===================================================================*/
QUIT;
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-2013 00:00:00
If the column does not exist in the extension table, then no error is reported. However, no
data is written. You can either create campaign definitions that have extension column
names before the tables are modified, or modify the tables before you create the
campaign definitions.
Migrating Tables
The migration of the common data model from 5.4 and 5.4.1 to 6.1 and later requires the
running of the ci_cdm_migrate_to_61_<db>.sas script. This is an in-place script that
takes place in one schema or database. No migration of data from one schema or
database to another schema or database is provided for in this script. You should make a
complete backup version of the 5.4 common data model before you run the migration
script.
Within each migration script the connection values and history tables must be
customized.
As the script executes, there are instances in which a current 5.4 table is dropped and
then re-created. In these instances a backup version of the table is created and left intact
after the script completes in order to save the original data.
Find the migration scripts at the following locations:
• Under Windows: Program Files\SASHome\SASFoundation\9.4\cicsvr
\sasmisc
• Under UNIX: /SASHome/SASFoundation/9.4/misc/cicsvr
In 6.4, a change was made in the way that treatment custom details of type Numeric
Range or Date Range are published in the common data model. For information about
migrating tables that contain treatment custom details to 6.6 from previous releases, see
“Migrating Files from a Previous Release” in SAS Marketing Automation: User’s Guide.
133
Chapter 8
analytic platform that provides a secure, multi-user environment for concurrent access to
data that is loaded into memory.
Data is extracted from the common data model to a staging library. Autoload loads data
from the staging library to the SAS LASR Analytic Server. After the report templates are
imported, reports are created from the data on the SAS LASR Analytic Server.
For information about accessing SAS Customer Intelligence Studio through SAS Visual
Analytics and setting reporting options in business contexts, see SAS Marketing
Automation: User’s Guide. For information about using SAS Visual Analytics and the
SAS LASR Analytic Server, see “SAS Visual Analytics” on page 151.
The following server and libraries are required for displaying reports.
SAS LASR Analytic Server
Customer Intelligence LASR Analytic Server is the SAS LASR Analytic Server that
is installed with SAS Customer Intelligence for use in reporting. You can use this
server and the default values, edit the default values, or create your own SAS LASR
Analytic Server. For information about Customer Intelligence LASR Analytic
Server, see “Customer Intelligence LASR Analytic Server” on page 135.
LASR library
The autoload process loads data from the data directory into a LASR library.
Customer Intelligence LASR Library is installed with SAS Customer Intelligence.
You can use this library and the default values, edit the default values, or create your
own LASR library. For more information about Customer Intelligence LASR
Library, see “Customer Intelligence LASR Library” on page 137.
staging library
The staging library contains the data that is extracted from the common data model.
Customer Intelligence Staging Library is installed with SAS Customer Intelligence.
For more information, see “Customer Intelligence Staging Library” on page 138.
The Customer Intelligence LASR Analytic Server and Customer Intelligence LASR
Library are configured to be used with a single common data model. Your site can have
multiple business contexts as long as they share the same common data model. Sites that
use more than one common data model for reporting must set up each common data
model instance in the same way. Be sure to use a unique namespace for each duplicate
setup. Components such as the SAS LASR Analytic Server and LASR libraries, tables,
and autoload configurations must be unique for each common data model.
To display reports:
1. Configure the autoload process. For more information about configuring autoload,
see “Configure Autoload” on page 140.
2. Schedule the autoload process. For more information, see “Schedule Autoload” on
page 142.
3. Create a SAS job that extracts data from the common data model into the staging
library. For more information, see “Extract Data” on page 143.
4. Set a schedule for the job to extract data on a regular basis.For more information, see
“Schedule the Job” on page 147.
In order for the Reports workspace to be displayed on any device, including mobile
devices, SAS Visual Analytics Administration and Reporting must be installed at your
site. For more information, see SAS Visual Analytics: Installation and Configuration
Guide at http://support.sas.com/documentation/onlinedoc/va/index.html.
Note: Do not block ReadMetadata access for the SAS Trusted User (for example,
sastrust@saspw). The SAS Trusted User is a member of the SAS System Services
Customer Intelligence LASR Analytic Server 135
group. To preserve access, grant the ReadMetadata permission to the SAS System
Services group. For more information about SAS Visual Analytics and permissions,
see SAS Visual Analytics: Administration Guide at http://support.sas.com/
documentation/solutions/va/index.html.
The Options tab specifies the port number, and the name of the High-Performance
Analytics environment host. The port number is the TCP/IP port number that the
Customer Intelligence LASR Analytic Server listens on. The High-Performance
Analytics environment host is the host path where files that define the cluster are
located. This field is applicable to a distributed server only.
Use LASR authorization service is selected.
136 Chapter 8 • Displaying Reports in the Reports Workspace
The General tab displays the name and description for the library.
The Options tab specifies the libref and server tag. A server tag is a text string that is
associated with a table that is loaded into memory on a Customer Intelligence LASR
Analytic Server instance. The server tag is specified in the LIBNAME statement or as a
data set option. The server tag and the table name are used together to match the name
that is used for tables in the Customer Intelligence LASR Analytic Server. The data
provider library is the Customer Intelligence Staging Library that was installed with the
product. For more information, see“Customer Intelligence Staging Library” on page 138.
138 Chapter 8 • Displaying Reports in the Reports Workspace
The Data Server tab specifies the database server and connection. The server is the
Customer Intelligence LASR Analytic Server that was installed with the product. For
more information, see “Customer Intelligence LASR Analytic Server” on page 135.
For information about modifying extended attributes to enable autoload, see “Edit LASR
Library Extended Attributes” on page 140.
LASR libraries reference a specific set of data. A LASR library enables the data to be
loaded into a LASR Analytic Server. The data is autoloaded from the data directory into
the LASR library. The Customer Intelligence LASR Library and the Customer
Intelligence Staging Library can be installed with the product. The staging library is
located in the Libraries folder in the Data Library Manager plug-in in SAS
Management Console.
The default path for the root of the staging data directory is /<config-dir>/
AppData/SASCustomerIntelligence/CustomerIntelligenceCommon/
Autoload/cilasrlb. You can change this location during configuration.
The following directories are created under the root directory:
• Append
• Formats
• Logs
• Unload
During configuration, the SAS Deployment Wizard configuration creates the data
directories on the SAS Customer Intelligence LASR Analytic Server tier and associates
the paths with the SAS Customer Intelligence Staging library in metadata.
If SAS Marketing Automation and SAS Customer Intelligence LASR Analytic Server
are installed on different SAS server tiers, the root data directory must be on a shared
drive that is accessible by both compute tiers so that SAS Marketing Automation and
SAS Visual Analytics can be successfully integrated. If the compute tiers are on different
operating systems, such as UNIX and Windows, map the drives so that they are
accessible from both tiers.
To map the drives:
1. Log on to SAS Management Console as an unrestricted user.
2. In the Libraries folder of the Data Library Manager plug-in, right-click Customer
Intelligence Staging Library and select Properties.
3. Click the Assign tab. The server context (for example, SASVAApp) that is
associated with the Customer Intelligence LASR Analytic Server is selected in the
Selected servers field. Move the server context that is associated with the SAS
Marketing Automation compute tier from the Available servers field to the Selected
servers field.
4. Click the Options tab. The directory in the Selected items field specifies the
physical location that is on the Customer Intelligence LASR Analytic Server
compute tier (for example, SASVAApp). If this path is the same path that is on the
SAS Marketing Automation compute tier (for example, SASApp), go to Step 8 on
page 139. If this path is different from that path, continue with the next step.
5. Click New. In the New Path Specification window, select the SAS Marketing
Automation compute tier server context (for example, SASApp) from the SAS
server list.
6. Click Browse and select your staging data directory. A connection is opened to the
server that you selected from the SAS server list.
7. Issue a LIBNAME statement to ensure that SAS successfully connects to the
physical path on each tier. This is an example of a LIBNAME statement:
libname stgPath(“<tier 1 pathname>”,”<tier 2 pathname>”);
8. If the directory paths are the same for the SAS Marketing Automation compute tier
and the Customer Intelligence LASR Analytic Server compute tier, open a SAS
140 Chapter 8 • Displaying Reports in the Reports Workspace
Display Manager session in one of the compute tiers. Issue a LIBNAME statement to
ensure that SAS successfully connects to the physical path. Here is an example:
libname stgPath “…/<config-dir>/AppData/SASCustomerIntelligence/
CustomerIntelligenceCommon/Autoload/cilasrlb”;
The physical path in this example is the default directory. If you configured a
different directory when you ran the SAS Deployment Wizard, use the full physical
path in the LIBNAME statement.
Configure Autoload
The user ID that executes runsas.bat or runsas.sh must have access permissions to the
LASR library, SAS LASR Analytic Server, and target metadata folder that is
specified as the VA.Default.MetadataFolder value on the Extended Attributes tab
of the LASR library. For more information, see “Edit LASR Library Extended
Attributes” on page 140.
5. Edit the following file.
On UNIX, the file is schedule.sh. Change the pathname for RUNSAS_PATH to
include the name of the new directory. The following example is for the UNIX
environment:
RUNSAS_PATH="/<configuration-directory>/AppData/SASCustomerIntelligence/MarketingAutomation/
LASRCI/runsas.sh"
RUNSAS_PATH="/<configuration-directory>/AppData/SASCustomerIntelligence/MarketingAutomation/
LASRCI/runsas.sh"
If the SAS Visual Analytics Administration and Reporting (VAAR) LASR Analytic
Server and the Customer Intelligence LASR Analytic Server are on different machines,
take the following steps:
1. Copy the SAS High-Performance Analytics include directory to the directory for
the staging library.
On UNIX, the directory is /<installation-directory>/
SASVisualAnalyticsHighPerformanceConfiguration/7.1/Config/
Deployment/Code/Autoload/include.
On Windows, the directory is \<installation-directory>
\SASVisualAnalyticsHighPerformanceConfiguration\7.1\Config
\Deployment\Code\Autoload\include.
2. Edit the AutoLoad.sas file. Change the pathname for INCLUDELOC to the
pathname for the new include directory. The following example is for the UNIX
environment:
%LET INCLUDELOC=/<configuration-directory>/AppData/SASCustomerIntelligence/MarketingAutomation/include
Schedule Autoload
After you have configured autoload, execute the scheduling script so that your changes
take effect. From the directory that you created in “Modify Autoload Scripts” on page
140, execute the following file.
On Windows, the file is schedule.bat.
On UNIX, the file is schedule.sh.
When autoload starts for the first time, the script starts the SAS LASR Analytic Server.
To verify that the server is running, open the Manage Environment page of SAS Visual
Analytics Administrator. The server status is displayed on the LASR Servers tab.
Extract Data 143
In some situations, you might need to select a default application server before autoload
can start the SAS LASR Analytic Server. For more information, see “Select the SAS
Visual Analytics Application Server” on page 148.
The table status is displayed on the LASR Tables tab.
When you validate autoload for the first time, the list of campaign tables is empty
because no data has been extracted.
Extract Data
Example Job
Here is an example of a SAS job that extracts data from the common data model. The
output is located in a file named CAMPAIGN_TREATMENT_DATA. All templates use
the contents of this file to generate reports.
/************************************************************/
/* Assign SAS libref for the CI Common Data Model Library */
/* -------------------------------------------------------- */
/* Note you can find libname statements in SMC. */
/* Select the library object, right-click, and */
/* select Display LIBNAME Statement. Cut and paste the */
/* libname statement from the dialog box. */
/************************************************************/
/************************************************************/
/* Assign SAS libref for library for the extracted data */
/* -------------------------------------------------------- */
/* Library for autoload data directory location. This is */
/* the pathname that is specified as the */
/* VA.Autoload.Location extended attribute for the */
/* LASR library. */
/* */
/************************************************************/
/************************************************************/
/* In order to extract data from the CI Common Data Model */
/* it is necessary to know what subjects are of interest. */
/* For each subject, it is necessary to know what tables */
/* hold the Contact History, Response History, and */
/* Treatment History data, so it can be summarized. */
/* */
/* Use the %CISUBJ macro to create a Subject Table. Each */
/* call to the %CISUBJ macro adds a subject to the table. */
/* If the table does not exist, it is created. */
/************************************************************/
%ciSubj (subjectTable=WORK.CI_SUBJECT,
subject=Customer,
contact_histTable=CI_CONTACT_HISTORY_CUST,
response_histTable=CI_RESPONSE_HISTORY_CUST,
presentedTreatment_Table=CI_PRESENTED_TREATMENT_CUST);
%ciSubj (subjectTable=WORK.CI_SUBJECT,
subject=AllAcct,
contact_histTable=CI_CONTACT_HISTORY_ACCT,
response_histTable=CI_RESPONSE_HISTORY_ACCT,
presentedTreatment_Table=CI_PRESENTED_TREATMENT_ACCT);
%ciSubj(subjectTable=WORK.CI_SUBJECT,
subject=Household,
contact_histTable=CI_CONTACT_HISTORY_HHD,
response_histTable=CI_RESPONSE_HISTORY_HHD,
presentedTreatment_Table=CI_PRESENTED_TREATMENT_HHD);
/************************************************************/
/* Additional user-requested fields. Note that */
/* the syntax for this macro variable consists of items for */
/* a SQL select clause. Each item must have a trailing */
/* comma. */
/* Only tables that are already included in the extract can */
/* be used to request fields that are not included in the */
/* extract. */
/* */
/* Each extracted field is specified in the form: */
/* */
/* <table name>.<column name> AS alias_column_name */
/* 'descriptive label you will see in VA' , */
Extract Data 145
/* */
/************************************************************/
%let ci_user_req_fields =
ci_campaign.max_budget_offer_amt
as campaign_max_offer
'Campaign max budget offer',
ci_communication.max_budget_offer_amt
as communication_max_offer
'Communication max budget offer',
;
/************************************************************/
/* Extract subject data from the common data model and */
/* load it into a staging library. All parameters are */
/* required. */
/************************************************************/
%ci2lasr(subjectTable=work.CI_SUBJECT,
CIDMLIB=CICDM,
extract_libref=BASELIB,
outputTable=CAMPAIGN_TREATMENT_DATA);
/*******************************************************************/
/* NAME: ci2lasr.sas */
/* VERSION: 6.6 */
/* DESCRIPTION: extract data from the common data model and */
/* accumulate counts using %CICOUNT */
/* Parameters: */
/* extract_libref= libref of staging library */
/* CIDMLIB= libref for CDM */
/* subjectTable= name of subject table */
/* outputTable= name of extracted table */
/* PRODUCT: MA */
/* USAGE: */
/* */
/* %ci2lasr( */
/* extract_libref=%(), */
Extract Data 147
/* CIDMLib=%str(), */
/* subjectTable=%str(), */
/* outputTable=%str(), */
/* mode=SIZE | EXTRACT); */
/* */
/*******************************************************************/
mode=EXTRACT is the default. If you specify mode=SIZE, the table is not created.
Instead, a data set named WORK.CI_EXTRACT_SIZE is created with the following
columns.
Enter the following command on the Windows command line. In this example, the BAT
file is named sasjobextract.bat. The job is executed every day at 1:00 am.
schtasks create /sc DAILY /st 1:00:00 /tn C:\myprogramfiles\sasjobextract.bat
To schedule the job from the command line in the UNIX environment, create a cron
table that sets the schedule. In the following example, the job has been saved in a file
named extract.sas. The job is executed every day at 1:00 am.
0 1,* * 0-6 sas /mysasjobs/extract.sas
Enter the following command at the UNIX prompt. In the following example, the cron
table file is named sasjobextract.
crontab sasjobextract
You can also schedule the job through the Schedule Manager plug-in in SAS
Management Console.
For more information about scheduling and executing SAS jobs, see Scheduling in SAS
at http://support.sas.com/documentation/onlinedoc/sasmc/index.html.
For more information about scheduling tasks in the UNIX and Windows environments,
see the documentation for your operating system.
148 Chapter 8 • Displaying Reports in the Reports Workspace
Report Templates
SAS Customer Intelligence Studio provides templates that you can use to display reports
in the Reports workspace. During installation, the SAS Package maps the table to an
existing table on the SAS LASR Analytic Server. Before you install the report templates,
extract data and create the table. For more information, see “Extract Data” on page 143.
To install the report templates, take the following steps.
1. Copy the SAS package that contains the report templates from the following location
on the SAS Customer Intelligence Application Server tier to a location on your SAS
Management Console client machine.
On UNIX, the location of the report templates package is:
<SASHome>/SASFoundation/9.4/misc/cicsvr/Config/Deployment/Packages/cireporttemplates.spk
Report Instances
Report instances are located in the SAS Management Console folder that you specify
when you save a report in SAS Customer Intelligence Studio. Reports have the
following extended attributes.
ci.report
identifies the file as a report. This extended attribute is required to display the report
in the Reports workspace in SAS Customer Intelligence Studio.
This attribute is added automatically when the file is saved in SAS Customer
Intelligence Studio.
ci.bc.name
identifies a business context. This extended attribute is required to display the report
in the Reports workspace in SAS Customer Intelligence Studio. You cannot specify
more than one business context. When this attribute is specified, the report is visible
only if the value of the attribute matches the business context for the current user.
150 Chapter 8 • Displaying Reports in the Reports Workspace
This attribute is added automatically when the report instance is saved in SAS
Customer Intelligence Studio.
You can use SAS Management Console to add this attribute to any SAS Visual
Analytics report that you want to display in the Reports workspace and limit to users
of a particular business context. For more information, see “Display Extended
Attributes” on page 150.
The attribute is required for all report instances. It is optional for report templates.
ci.source.template.name
specifies the name of the template from which the report was created. The template
name is displayed with the report in the Reports workspace in SAS Customer
Intelligence Studio.
This attribute is added automatically when the file is saved in SAS Customer
Intelligence Studio.
ci.source.template.path
specifies the pathname of the template from which the report was created.
This attribute is added automatically when the file is saved in SAS Customer
Intelligence Studio.
For information about designing reports, see SAS Visual Analytics: User’s Guide at
http://support.sas.com/documentation/onlinedoc/va/index.html.
TOTAL_RESPONSE_VALUE
is the total monetary value of the response.
The TOTAL_RESPONSE_CNT value might be deceptively large if there are many
possible responses. For example, a single customer might account for five responses to a
single communication:
• Open email
• Click link
• View product
• Add to cart
• Purchase
TOTAL_SUCCESSFUL_RESPONSE_CNT depends on how successful responses are
defined for the communication. If more than one response is marked as Converted in a
Communication node, the number of responses might reflect a higher number than
expected.
Instructions
1. On the SAS Visual Analytics home page, click Manage Environment.
2. In the main menu bar in SAS Visual Analytics Administrator, select LASR ð
Manage Servers.
3. Select a server, right-click, and select Start.
Troubleshooting
If the server does not start, make sure the following requirements are met:
152 Chapter 8 • Displaying Reports in the Reports Workspace
• The SAS Application Server that is used must contain a workspace server that runs
on the same machine as the SAS LASR Analytic Server. To determine which SAS
Application Server is being used:
1. From the main menu bar in SAS Visual Analytics Administrator, select File ð
Preferences.
2. In the Preferences window, select the Application Server node (below the SAS
Visual Analytics Administrator node). The Default application server drop-
down list indicates which server is in use.
TIP In the standard configuration, the SASApp application server is used by SAS
Visual Analytics.
• You must use an account that is known to the workspace server’s host.
Windows Specifics
The account must have the Log on as a batch job privilege.
UNIX Specifics
For a distributed SAS LASR Analytic server, the account must have
passwordless SSH access to all of the machines in the cluster.
For more information, see the SAS Visual Analytics: Administration Guide.
153
Chapter 9
For more information about pooled workspace servers, see SAS Intelligence Platform:
Overview at http://support.sas.com/documentation/onlinedoc/intellplatform/index.html.
154 Chapter 9 • Using SAS Stored Processes for SAS Marketing Automation
%stpbegin;
%maspinit;
%macount(&outTable);
%mastatus( &_stpwork.status.txt );
Modify SAS Code to Conform to SAS Stored Process Syntax 155
%stpend;
You must restart the SAS Object Spawner in order for the setting to take effect.
156 Chapter 9 • Using SAS Stored Processes for SAS Marketing Automation
157
Chapter 10
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 at http://support.sas.com/documentation/onlinedoc/
intellplatform/index.htmlfor details about how to automate the scheduling and execution
of SAS jobs in general, including jobs from SAS Marketing Automation.
SAS jobs are continually executed by SAS components in the SAS Business Intelligence
environment. You can schedule a 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 or an operating system 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 SAS Marketing Automation User’s Guide for details about scheduling a campaign in
SAS Customer Intelligence Studio.
Scheduling Campaigns
The scheduling process is as follows.
1. A user creates a job (such as a campaign) using SAS Customer Intelligence Studio.
158 Chapter 10 • Scheduling SAS Marketing Automation Campaigns
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.
3. The third-party scheduler (such as Platform LSF) triggers the job to be executed, and
passes the instruction to the Launcher.
Note: The LSF scheduler uses a default value of 1 minute for the Duration of Event
parameter. To change the value, you must use the -Dsas.ci.scheduler.duration
option. For example, to set the duration to 5 minutes, enter the following
parameter: ‑Dsas.ci.scheduler.duration=5. You cannot use this option
with an operating system scheduler.
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.
Note: If the middle tier is running in a different time zone from the client tier, the
schedule is executed in the time zone of the middle tier. For more information, see
“Architecture of the SAS Intelligence Platform” on page 2.
2. Right-click Customer Intelligence Core 6.6, and select Properties. Click the
Advanced tab.
• If the third-party scheduler is Platform LSF, then specify all instances of
Scheduling Server Name as Platform Process Manager.
• If the third-party scheduler is an operating system scheduling tool, then specify
Scheduling Server Name as Operating System Services.
To schedule jobs from SAS Customer Intelligence Studio, you can also use an operating
system scheduling tool (such as the AT command) in either Windows or UNIX.
For information about the limitations of operating system scheduling, see Scheduling in
SAS at http://support.sas.com/documentation/onlinedoc/sasmc/index.html
Chapter 11
Command-Line Utilities
Encode Passwords
For greater security, encode passwords when you execute the command-line utilities.
The parameters, including the encoded password, should be passed as a single parameter
to the sasciutils command.
In the following example, parameters are passed to the Release Tables utility as a single
parameter.
echo '-releasetables -userid myuserid -password
"{SAS002}3CD4EA1E0AF5A79500BC8ACC" -utilitylogfile c:/temp/cleanup.log
-deldate "Jun 01, 2013"'| sasciutils
For more information about encoding passwords, see SAS Intelligence Platform:
Migration Guide at http://support.sas.com/documentation/onlinedoc/intellplatform/tabs/
install94.html.
Release Tables
The Release Tables utility requires the Log on to Customer Intelligence applications
capability. For more information, see “About Predefined Roles for SAS Customer
Intelligence” on page 46.
CAUTION:
Counts for released tables cannot be recovered When you delete out-of-date
tables with this utility, the counts are cleared and cannot be recovered unless the
campaign is executed again and new counts are generated. As a best practice, use the
‑listonly option first so that you can review and confirm the tables that you want
to delete.
-bcname
specifies the name of the single business context to be processed. If this argument is
not used, all business contexts are processed. If the business context name contains
spaces, the name must be enclosed in double quotation marks (“).
-listonly
directs the utility not to delete the tables or reset the counts for the campaigns. All
logging is performed. This argument is useful for determining which campaigns
would be affected by the utility.
-publish
if the Automatically publish campaigns on subsequent saves option is selected,
this argument directs the utility to allow or prevent an automatic publish where
counts are cleared. The true or false values allow or prevent an automatic
republish of the campaigns. When the -publish argument is not present, the default
value is true, enabling the automatic publish for campaigns where the counts are
cleared and the Automatically publish campaigns on subsequent saves option is
selected.
The following example clears the counts and releases the tables for all campaign with a
last modified date that is prior to June 1, 2016. The user has Update permission for all
business contexts.
If you have permission to execute Windows programs, execute the following command
from the <SASHome>\SASCustomerIntelligenceUtilities\6.6 directory:
sasciutils_console.exe -releaseTables -userid MyUserId
-password MyPassword -utilitylogfile c:/temp/cleanup.log
-deldate "Jun 01, 2016"
If you have permission to execute this utility from a UNIX shell, execute the following
command from the SASHome/SASCustomerIntelligenceUtilities/6.6
directory:
./sasciutils -releaseTables -userid MyUserId
-password MyPassword -utilitylogfile /tmp/cleanup.log
-deldate "Jun 01, 2016"
The following example clears the counts and releases the tables for all campaigns in the
Business Context named Context 1 with a last modified date that is before June 1,
Add Channels 165
2016. Campaigns with counts that have been cleared are not automatically published.
The user has Update permission for the business context.
If you have permission to execute Windows programs, execute the following command
from the C:\Program Files\SASHome
\SASCustomerIntelligenceUtilities\6.6 directory:
./sasciutils_console.exe -releaseTables -userid MyUserId
-password MyPassword -bcname "Context 1" -publish false
-utilitylogfile c:/temp/cleanup.log
-deldate "Jun 01, 2016"
Add Channels
-userid
is the user ID of the account that is used to execute the utility. This user ID must
have Write access to all of the business contexts that are created on the system. The
sascisvc@saspw ID has this permission.
-password
is the password for the user ID.
-utilitylogfile
specifies the location to which error messages and success messages are logged. If
you specify a directory path, all directories in the path must exist before you execute
the utility.
-code
is the channel code of the channel to be added. The code must be 1 to 3 characters in
length. It must not begin with an underscore (_). The code cannot include leading or
trailing blank spaces, forward slash (/) characters, backslash (\) characters, or any
control characters.
-name
is the new name to assign to the channel code. If the name contains spaces, it must be
enclosed in double quotation marks. The length of the name that you provide must be
between 1 and 30 characters. Names cannot include leading or trailing blank spaces,
forward slash (/) characters, backslash (\) characters, or any control characters.
-skipcdm
indicates that the new channel definition should not be published to the common data
model.
The channel is created in metadata, but no attempt is made to publish the channel to
the common data model. Use this option if you have several business contexts and if
one or more of the associated common data models is not accessible when you
execute the Add Channels utility. This channel should not be used in campaigns until
the channel can be published to the common data model.
If you do not use this option, and if one or more of the common data models is not
accessible, publish failures will occur when you execute the Add Channels utility.
The channel is added to the metadata but it is not published to the common data
models that are not accessible. If errors occur, check the SASCustIntelCore6.6.log
and the Stored Process Server logs for more details.
To delete all the campaigns in the /Campaigns/Examples/ folder that you want to
delete, submit the following command:
/SASHome/SASCustomerIntelligenceUtilities/6.6/sasciutils_console -useraction DeleteAssetsQuickly
-userid sasdemo -password {your-password} -bcname "your-business-context" -bclocation
/Campaigns/Examples/ -metaserver {fully-qualified-target-host-name} -delete
To create a file (for example, Treatments.txt) that contains a list of all treatments that you
want to delete, submit the following command:
/SASHome/SASCustomerIntelligenceUtilities/sasciutils_console -useraction DeleteAssetsQuickly
-userid sasdemo -password {your-password} -bcname "your-business-context"
-filetype CICTreatment,c:/temp/Treatments.txt -metaserver {fully-qualified-target-host-name}
-verbose
To delete the treatments that are listed in the file that you created, submit the following
command:
/SASHome/SASCustomerIntelligenceUtilities/sasciutils_console -useraction DeleteAssetsQuickly
-userid sasdemo -password {your-password} -bcname "your-business-context" -filetype
CITreatment,c:/temp/Treatments.txt -metaserver {fully-qualified-target-host-name} -delete
In this command, ‑filetype specifies a UTF-8 file that contains a list of paths within
the business context for the given type. For example, the type can be any SAS Customer
Intelligence public object type. For more information about public object types and
command-line utilities, see Chapter 11, “Command-Line Utilities,” on page 161.
Note: The text file needs to contain the directory path and the object name (for example,
Definitions\Treatments\TestOne). The directory path and names are case-
sensitive.
To create a file (for example, Groups.txt) that contains a list of the campaign groups that
you want to delete, submit the following command:
/SASHome/SASCustomerIntelligenceUtilities/sasciutils_console -useraction DeleteAssetsQuickly
-userid sasdemo -password {your-password} -bcname "your-business-context" -metaserver
-metaserver {fully-qualified-target-host-name} -filegroups d:/temp/Groups.txt -verbose
To delete the campaign groups that are listed in the file that you created, submit the
following command:
Remove SAS Digital Marketing Broadcast Metadata 169
To create a file (for example, Campaigns.txt) that contains a list of selection campaigns
(including the entire campaign directory path), submit the following command:
-metaserver
is the fully qualified host name of the metadata server.
-logfile
specifies the log output file.
-delete
removes the data from the metadata server
To view the Help menu for the utility, enter the following command:
sasciutils -useraction DeleteSDMData -help
-metaport
is the metadata server port number. The default is 8561.
-metadomain
is the authentication domain (for example, DefaultAuth).
-oldpath
is the existing export directory pathname.
-newpath
is the new export directory pathname.
-matchrootpath
compares the old and new pathnames and specifies that new root path replace the old
root path. For example, suppose that there are two old directory paths:
/data/export/campaign
/data/export/communications
The result is that both of the directory paths now have the new root pathname:
/install/export/campaign
/install/export/communications
This argument is optional. If you do not specify -matchrootpath, you must execute
the Update Export Paths utility multiple times to replace the path for each directory.
-validatepath
validates the new directory pathname. This argument is optional.
-logfile
specifies the log output file.
-threads
specifies the number of objects that are affected simultaneously. The default is 1.
-osccount
specifies the number of objects to migrate before reconnecting to Customer
Intelligence core. This argument is optional.
-bclist
specifies a comma-separated list of business context names to process. All business
contexts are processed by default.
-debug
enables the display of debugging text. This argument is optional.
Update Environment
-maxmomainput
specifies the maximum concurrent processes for generating SAS Marketing
Optimization input data.
-maxcamp
specifies the maximum concurrent processes per campaign.
-maxjms
specifies the maximum number of Flow JMS messages that are sent simultaneously.
SET CURRENT=%CD%
CD %SASHOME%\SASPlatformObjectFramework\9.4
:INVALID
GOTO END
:END
CD %CURRENT%
PAUSE
Modify the code and place it in a text file named ExportCIObject.cmd. From the
directory that contains this file, execute the command with the following syntax:
174 Chapter 11 • Command-Line Utilities
CICalculatedItem (not visible in SAS Customer Intelligence calculated item A Customer Intelligence calculated item
Management Console Folder view)
CICellNode (not visible in SAS Campaign cell node A node that represents a group or a
Management Console Folder view) subgroup that is targeted by a campaign
Batch Export and Import Tools 175
CICommunicationNode (not visible Campaign communication node A campaign node that represents a
in SAS Management Console Folder specific marketing activity or
view) communication with the consumer
CIDocument (not visible in SAS Campaign document A collection of reports that summarize
Management Console Folder view) the information in campaigns
CINodeDefinition (not visible in SAS Campaign node definition The definition of a node in a diagram
Management Console Folder view)
SET CURRENT=%CD%
CD %SASHOME%\SASPlatformObjectFramework\9.4
:INVALID
GOTO END
:END
CD %CURRENT%
PAUSE
Modify the code and place it in a text file named ImportCIObject.cmd. From the
directory that contains this file, execute the command with the following syntax:
ImportCIObject package-name [-options]
The following example imports a package that is named my campaign . Because the
name contains spaces, it is enclosed in quotation marks. The .spk package extension is
not included in the name.
ImportCIObject "my campaign "
Load Treatments
-userid
is the user ID of the account that is used to execute the utility.
-password
is the password for the user ID.
-bcname
is the name of the business context.
-libname
is the library name of the tables that contain the treatments (for example, "Treatment
Tables").
-treatmenttablename
is the name of the treatment table. The treatment table, custom detail table, and
treatments to delete table must be in the same library.
-customdetailtablename
is the name of the custom detail table. The treatment table, custom detail table, and
treatments to delete table must be in the same library.
-treatmentstodeletetablename
deletes the specified treatment table. The treatment table, custom detail table, and
treatments to delete table must be in the same library.
Treatment Tables
Treatment tables should contain the following fields.
The values for the Type field in the Treatment Custom Detail table are defined in
CIUtilities/Source/Java/com/sas/analytics/crm/util/client/
UtilResources.properties. The default values are as follows.
Utilities.LoadTreatments.numericType.txt = Numeric
Utilities.LoadTreatments.dateType.txt = Date
Utilities.LoadTreatments.textType.txt = Text
Utilities.LoadTreatments.checkboxType.txt = Check box
Utilities.LoadTreatments.listType.txt = List
Utilities.LoadTreatments.linkType.txt = Link
Field Description
-debug
debugs the treatment.
-ci360userid
is the user ID for SAS Customer Intelligence 360.
-ci360password
is the password for the SAS Customer Intelligence 360 user ID.
-ci360serverurl
is the URL for the server for SAS Customer Intelligence 360.
The Launcher application is a command-line utility that you use to perform the
following tasks:
• Execute communications, campaigns, and campaign groups
• Query information maps and generate information map metadata tables
• Generate input variable reports.
In addition, the Launcher application runs automatically to schedule and execute
campaigns and communications that are sent to the scheduler from SAS Customer
Intelligence Studio.
The executable for the Launcher application is sasmalauncher.exe. On Windows, this file
is typically located in <SASHome>\SASMarketingAutomationLauncher\6.6. On
UNIX, it is typically located in <SASHome>/
SASMarketingAutomationLauncher/6.6 .
Note: If the drgm directive was used in a Launcher command in a previous release, it is
converted to the camp directive in Release 6.6.
‑u userID
specifies the ID of the user who is responsible for executing this command.
‑p password
specifies the password for the user ID.
–g
assigns a user ID to identify the campaign. There might be a policy at your site to
require passwords to be changed frequently. When the password is changed for the
user who has scheduled an execution, the campaign continues to execute as
scheduled. Each time a campaign is sent to the scheduler, a new ID is generated to
identify the campaign.
‑x
specifies the name of business context that corresponds to the campaign or
communication to be executed. Spaces are allowed; the business context name is not
case-sensitive.
‑v
specifies informative messages in the log. If not specified, only errors are displayed.
‑n
specifies that arguments are 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 is specified.
‑q
specifies that arguments are either quoted or have no spaces. URI translation of
arguments is suppressed when this option is specified.
‑‑
specifies the end of the options. All parameters after this are directive arguments.
directive arguments
is a list of arguments, separated by spaces.
See Table 11.6 on page 188 , Table 11.7 on page 189 and Table 11.8 on page 189 for
the directives that are associated with each argument.
These are the possible arguments:
business context ID
uses the settings of the specified business context to regenerate metadata. Any
saved settings are overridden by the directive arguments.
campID
campaign ID
camp path
folder path and campaign name
clearCache
information map cache to be cleared after map is generated
commID
communication ID
comm name
name of the communication in the campaign
file path
the path to the designated file
Manage Campaigns and Information Maps 187
file op
the file operation. The values are delete or write.
file contents
holds the file contents to be written
genType
describes the method used. 1 is SQL. 2 is PROC SUMMARY.
groupId
campaign group ID
group mode
indicates the mode of campaign group execution. The values are all,
optimize, or execute. The default is all.
group path
folder path and campaign group name
imap absolute path
specifies the absolute path of the information map (for example, /CI Assets/
Information Maps/MABusinessContext)
For a list of arguments to imap absolute path, see Table 11.4 on page 187.
imap SBIP URL
specifies the SBIP URL of the information map. The SBIP URL uses the
proprietary SAS Business Intelligence Platform (SBIP) protocol.
For a list of arguments to imap SBIP URL, see Table 11.4 on page 187.
imap URL
information map URL
typeArgs
space-delineated list of table-type arguments
The campID and commID arguments are identifiers that are assigned by the SAS
Marketing Automation application server. They are not intended to be entered by the
user on the command line, but they can be used if the ‑n option is not used.
When specified with imap absolute path or imap SBIP URL, imap takes arguments in
the following table. The order is important for the ‑method, ‑character, ‑numeric,
‑histogram, ‑datehistogram, and ‑univariate options. The last entry on the
command line takes precedence.
Table 11.4 Arguments with imap absolute path, imap SBIP URL, or business context ID
The following table lists the options that can be used with the –univariate argument.
Option Description
Table 11.6 Arguments When the -n Option Has Not Been Specified
You can enter the campPath, setPath, and commName arguments on the command line if
the ‑n option has been specified. If an application server that is not the standard is used,
the application server also uses these arguments with the ‑n option.
In the following table, the ‑n option has been specified. All objects are identified by
name or folder and name.
Information map metadata tables are generated for a business context named
“mybusinesscontextid.” This command has the same result as clicking Run Now on the
Metadata tab of the Business Context Properties window.
Here is an example of using the imap directive and SQL and the SAS SUMMARY
procedure to generate metadata.
sasmalauncher.exe -d imap /CI Assets/Information Maps/Mybusinesscontext
-method Summary -character SQL
Except for character metadata, the SUMMARY procedure is used to generate metadata
in the library that is defined for the information map. Character metadata is generated by
SQL and is stored in the same library.
The metadata generation process might take a long time. You can generate metadata
daily for specific data items that change frequently. You can then generate metadata
weekly for other data items that change less often. Here is an example of generating
metadata for specific data items.
sasmalauncher.exe -d imap /CI Assets/Information Maps/Mybusinesscontext
-method Summary -dataitem root.Gender -dataitem root.State
Each data item must be listed separately with the —dataitem option. The name of the
data item must be fully qualified. Data item names are case-sensitive.
Here is an example of generating metadata for a specific table.
sasmalauncher.exe -d imap /CI Assets/Information Maps/Mybusinesscontext
-method Summary -table CMDM.MYTABLE
The domain name is then required with the ‑u option of the Launcher command with the
following syntax.
-u userid@domain
c:\program files\SASHome\SASMarketingAutomationLauncher\6.6\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"
The options ‑n and ‑q are specified in order to indicate that the campaign
communication is executed by path and name, and that quotation marks are used to
specify the arguments.
192 Chapter 11 • Command-Line Utilities
Overview of Logging
By default, the launcher logs are stored in the home directory of the user who issues the
launcher command. The Launcher supports two types of logging:
General logging
logs each execution of the Launcher. Logging information can be written to a
different file for each execution or it can be appended to an existing file.
Command logging
logs a particular execution of the Launcher. Command logging enables you to create
logs for specific campaigns. The following considerations apply to command
logging:
• Command logging runs in Append mode by default.
• Command logging can be used only if general logging is enabled.
• Command log files are written to the same directory as general log files. If a
directory other than the default has been specified for general logging, then
command logs are also written to the specified directory.
• Command log filenames are created based on the type of operation, the object
name or ID, and the last directory name in the path.
The sasmalauncher.ini file is the Launcher initialization file that contains start-up and
configuration parameters for the Launcher. To configure the Launcher’s logging
parameters, including log filenames and directories:
1. Locate the sasmalauncher.ini file.
2. Open sasmalauncher.ini. You see Java code similar to the sample file excerpt that is
displayed.
3. Add command lines that specify the logging parameters that you want to change.
Add each new command argument at the end of the file.
Locate sasmalauncher.ini
sasmalauncher.ini is located by default in the SAS Customer Intelligence installation
directory:
• UNIX: .../SASMarketingAutomationLauncher/6.6
• Windows: <Drive>:<SASHome>\SASMarketingAutomationLauncher\6.6
---
[properties]
MASTERPROP="C:\SASServer\SASHome\sassw.config"
Manage Campaigns and Information Maps 193
startdir=<LAUNCHERDIR>
applogloc=
launchercmd=<JREHOME>
mode=console
JavaArgs_1=-Denv.definition.location="<SASENVIRONMENTSURL>"
JavaArgs_2=-Dma.launcher.logdir="ApplicationData\SAS\SASMarketingAutomationLauncher"
JavaArgs_3=-Djava.system.class.loader=com.sas.app.AppClassLoader
JavaArgs_4=-Dsas.ext.config="<SASHOME>\sas.java.ext.config"
JavaArgs_5=-Dsas.app.launch.config=picklist
JavaArgs_6=-Dsas.app.repository.path="<VJRHOME>\eclipse"
JavaArgs_7=-Dsas.app.class.path=
.;"C:\SASServer\SASHome\SASMarketingAutomationLauncher\6.6\build"
JavaArgs_8=-Dsas.app.launch.picklist=picklist;"help\primary.picklist"
JavaArgs_9=
Classpath=-cp "<VJRHOME>/eclipse/plugins/sas.launcher.jar"
MainClass=com.sas.analytics.crm.ma.launcher.MALauncher
46 Campaign is locked
In some circumstances, you might not be able to edit an object such as a campaign or
treatment, even if you have Edit permission. To unlock an object so that you can edit
it, select the Locks category in the Administration workspace in SAS Customer
Intelligence. Contact the holder of the lock before you release the object.
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.
52 Communication name not found
The specified communication name and path could not be found. Either the
communication no longer exists, the specified name is incorrect, or the path is
incorrect.
55 Campaign group path not found
60 File does not exist
The specified file does not exist.
61 File cannot be deleted
The specified file cannot be deleted.
62 File cannot be written
The specified file cannot be written.
70 Campaign cannot be marked for deployment
The campaign cannot be marked for deployment because it has not been approved.
90 Problem while logging off the application server
This error occurs after the object is successfully executed by the application server,
but before the Launcher is disconnected. Look for error messages in the log file of
the application server.
91 Problem releasing execution service
The Launcher cannot release the execution service within the application server. The
Launcher uses an execution EJB (Enterprise JavaBeans) within the application
server.
197
Chapter 12
For details about synchronizing your backups, as well as additional guidance for making
backups, see SAS Intelligence Platform: System Administration Guide. The guide is
available at http://support.sas.com/documentation/onlinedoc/intellplatform/index.html.
Backing Up Files Before Installing a New Version 199
Restoring Data
All of the data from the SAS Metadata Repository, the SAS Content Server, the SAS
Marketing Optimization data store, and the MAMisc libraries must be restored at the
same time. For SAS Marketing Optimization, metadata must be restored as the same
time as the data store.
Chapter 13
Improving Performance
Performance is also affected if you define a large number of global calculated data items
(that is, greater than 200) in SAS Customer Intelligence Studio. For global calculated
data items, consider defining complex calculated fields in the database in order to
minimize the number of those fields in SAS Customer Intelligence Studio. Because SAS
Customer Intelligence Studio must synchronize both the global calculated data items and
the information map data items every time a campaign is opened or executed, an
excessive number of items can reduce system responsiveness.
error message when you activate the bulk-load facility, check the log for information
about the error. The information appears in the log file only when the trace level for
logging is set. For more information, see “Summary of Logs for Troubleshooting” on
page 226.
• For DB2: CLI LOAD bulk-load facility
• For Greenplum: A separate installed program named the Greenplum Loader
(GPLOAD) executes program gpfdist. Specify these options:
bulkload=yes bl_format='csv' bl_host='hostserver.mycompany.com'
bl_port='port number' bl_protocol='gpfdist' bl_delete_datafile=yes
bl_null = '\n'
The server that is specified by bl_host points to the SAS tier where gpfdist
executes.
• For Oracle: SQL*Loader bulk-load facility
• For PostgreSQL: Executes program psql through an upload parameter
• For SAP HANA: Use the data set option INSERTBUFF=32000 table_type=column.
Do not use the BULKLOAD= data set option.
• For SQL Server: SAS/ACCESS to OLE DB and ODBC use the BULKLOAD=data
set option.
SAS/ACCESS to SQL Server does not support bulk-load. Open the Settings page in
the business context, select Options, and then enter INSERTBUFF=32676 in the
Data set options and Append to table options fields in the DATABASE UPLOAD
(OPTIONAL) pane.
To specify the LIBNAME option as CONNECTION=UNIQUE:
1. Launch SAS Management Console.
Activating the Bulk Load Facility 203
• Users must have both Read and Write access to the specified schema, including
the following:
• the ability to create and drop tables and indexes
• the ability to delete, insert, and update records
4. Use temporary table capability of database specifies whether the database’s native
temporary table capability is to be used to create temporary tables. The check box is
deselected by default. If you are enabling the bulk-load facility of your database, do
not select this check box. If you specify both BULKLOAD=YES and Use temporary
table capability of database, processing fails.
Overview
The following examples provide recommended values for enabling the BULKLOAD
option for your database. Enter the data set options, schema, and Use temporary table
capability of database options on the Options tab of the Business Context Properties
window, as described in “Enable the Bulk Load Facility” on page 203. For information
about enabling the bulk-load facility of other databases, visit http://support.sas.com/
documentation/index.html and search for the keywords “bulk-load facility.”
To improve performance for all databases, add the following options to the
marketingautomation_autoexec_usermods.sas file.
options dbidirectexec;
%let SYS_SQL_IP_SPEEDO=YES;
• Schema: (optional)
• Use temporary table capability of database: Not selected
Overview
The following examples show data set options that are recommended when a bulk-load
facility is not available. Enter these values on the Settings tab of the Business Context
Properties window, as described in “Setting Data Set Options When a Bulk Load Facility
Is Not Available” on page 205.
Overview
It is possible to use multiple database engines or multiple database servers within a
single business context. For example, the data that you use for selecting marketing
targets can reside in both an Oracle database and a Teradata database.
Configuration
The use of multiple database servers or database engines within a single business context
can affect performance. To prevent performance from deteriorating, keep in mind the
following recommended configurations:
Shared database engine, multiple database servers
The same database BULKLOAD schema must be used for all database servers.
The same BULKLOAD data set options must be used for all database servers.
Multiple database engines
Configure the BULKLOAD options in the information map by using extended
attributes that correspond to business context settings. You can use the following
extended attributes:
• BulkloadOptions_ENGINE = options
• BulkloadSchema_ENGINE =schema
208 Chapter 13 • Improving Performance
Exporting
You can export to a table in the same database engine as the subject for the
Subject_Default extended attribute.
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
Designing Campaigns and Tuning Databases 209
needs. Large information maps can contain more than 25 million rows of data, which
might require significant memory for loading and processing. You also must increase the
size of JVM memory if you are using SAS Marketing Automation with SAS Real-Time
Decision Manager.
Set JVM options in <LevConfig>\Web\WebAppServer
\SASServer6_node_number\bin\setenv.sh. You must edit the setenv.sh file for
every server in a cluster.
The recommended minimum JVM memory size is 4 GB for SASServer7 and 8 GB for
SASServer6. If there are more than 200 campaigns and treatment campaigns, the
recommended JVM memory size for SASServer7 is 8 GB.
For more information about JVM tuning options, see SAS Web Applications: Tuning for
Performance and Scalability or contact the Enterprise Excellence Center (EEC).
Changing locks settings affects shared memory. The settings might need to be different,
depending on available system resources.
Treatment-Level Optimization
Treatment-level optimization in campaigns requires much more data storage than
optimization at the cell level.
For information about system requirements and treatment-level optimization, see http://
support.sas.com/resources/sysreq/index.html.
For more information, see ALTER SYSTEM ALTER CONFIGURATION and the
following SAP HANA notes:
http://service.sap.com/sap/support/notes/1998599
“SAP HANA: High Memory Consumption due to Translation”
http://service.sap.com/sap/support/notes/1969700
“SQL statement collection for SAP HANA - for further analysis of the objects in the
Pool/JoinEvaluator/TranslationTable”
http://service.sap.com/sap/support/notes/1984422
“SAP HANA: Analysis of Out-of-memory (OOM) Dumps”
An SAP HANA user ID and password are required to access these notes.
Troubleshooting JVM Out-of-Memory Error Messages 211
Chapter 14
Troubleshooting
Overview of Troubleshooting
This chapter presents a systematic approach to resolving problems in SAS Customer
Intelligence.
Types of Problems
The problems that an administrator might need to troubleshoot fall into three general
categories:
• failure to execute a scheduled campaign
• an error message in SAS Customer Intelligence Studio
• unexpected behavior while creating or executing a scheduled campaign
Regardless of the type of problem, begin by collecting basic information. A clear
definition of the problem often makes it easier to find a solution.
Problem Definition
A good problem definition includes the following information:
1. What is the exact sequence of steps that produced the problem?
2. What are you seeing (or not seeing) in the logs or in the results that demonstrates the
problem?
3. Can the problem be reliably reproduced, or is it intermittent?
4. When did this problem first occur?
5. Has the same sequence of steps been followed before without producing the
problem? If so, what might have changed?
a. information map
b. data format, volume, and refresh period
c. inclusion of nulls or spaces in the data
d. time zone change
e. amount of space or memory available in work or export directories
f. permissions and authorizations within SAS products, within the database, or on
an operating system directory
g. library definitions and options within the SAS Management Console Data
Library Manager plug-in
h. operating system environment variables or settings, such as locale
6. Does this problem occur for all users? If not, can this user’s problem be replicated on
another user’s computer?
7. What is the environment in which the problem occurs?
Failure to Execute a Scheduled Campaign 215
a. operating system of the compute tier, middle tier, and client tier
b. database type and version for the underlying data warehouse (for example,
Oracle, SQL Server)
c. version and hot fix level of the SAS Customer Intelligence products
8. Is the problem occurring in a development, test, or production environment?
9. How many transactions per second are being sent at the time of the performance
problem?
10. What is the expected response time under this load?
11. What is the range of response times that are you seeing under this load?
12. What steps, if any, have you taken in order to isolate the problem to a particular
component or flow? Examples are particular activities, treatments, flows, and
campaigns, or particular queries to the database.
When you have collected this information, you are ready to take the following
troubleshooting steps.
D:\<SASConfig>\Lev1\SASApp\MaLauncher\mabatch.bat -u "sasdemo" -p
{base64}T4Jbb24xMjM= -x "My Business Context" -d camp -e -v --
BICG2BAFRYLMWAAA
6. Log on to the operating system as a user who has permissions to execute this
command. Execute the command at a command line.
7. Check for errors. For a list of logs, see “Summary of Logs for Troubleshooting” on
page 226. Verify that any exports completed successfully. If they did complete
successfully without error, then the problem is with scheduling, rather than with
execution in SAS Marketing Automation.
8. If the execution did not complete successfully, check for the following common
problems:
• Insufficient permissions on the operating system. The user ID that is charged
with executing MALauncher does not have permissions in the operating system
to use the cmd.exe executable file.
• Insufficient permissions within LSF. The SAS ID that is used is unable to execute
a scheduled flow. Remedy this problem by using the lspasswd executable
command. Instructions for using this command are in the Platform LSF
documentation.
• Improperly installed MALauncher. Check to see that sasmalauncher.exe and
sasmalauncher.ini files exist.
• The LSF administrator user ID might not be defined in the SAS Management
Console User Manager plug-in.
• Errors in the log. Check the *.log files in your home directory for errors. If you
do not see logs, you can get an MALauncher log file by adding the following line
to the malauncher.ini file:
- JavaArgs_8=-Dma.launcher.log
You must rerun your test after adding this line in order to get a log.
• If jobs appear in a running state only, and there is no other activity, one job might
be delaying other jobs. To resolve this issue by using the lsfadmin user, enter the
following Platform LSF command on the command line:
When you check the file, it contains the list of running jobs. You can use the
bkill <jobid> Platform LSF command to kill the queued jobs and then
reschedule your job if it does not start via this process.
Next Steps
When the problem is identified and you have followed the steps above, it still might not
be clear what is causing the problem. In this case, try searching SAS Notes at http://
support.sas.com/notes/index.html, using different combinations of keywords or error
messages that you have encountered.
If the solution to the problem remains unclear, use the problem definition guideline in
“Problem Definition” on page 214 to send a description of the problem to SAS Technical
Support and including the following:
1. tests that you have run, the time at which you ran them, and their results
2. logs that you generated as you tested
3. a copy of the SASCustIntelCore6.6.log (MACore log) from the time period in which
you were running the tests
Next Steps
After following these steps, it still might not be clear what is causing the problem. The
next step is to search for an applicable SAS Note at http://support.sas.com/notes/
index.html, using different combinations of keywords or error messages that you have
encountered.
If the solution to the problem remains unclear, use the problem definition guideline in
“Problem Definition” on page 214 to send a description of the problem to SAS Technical
Support. Include information such as the following:
• The time at which the logging levels were increased and the problem was re-created
• The steps used to re-create the problem
• The text of the error in the error dialog box
• The most recent SASCustIntelCore6.x.log
• The Stored Process Server logs
• The web application server logs
• The SAS Content Server log
Locked Asset
To address this error, release the locked object in the Locks category in the
Administration workspace of SAS Customer Intelligence. For more information, see SAS
Marketing Automation: User’s Guide.
problems is a process or campaign that does not appear to ever complete. This is most
common when you use Process nodes or Custom nodes. The short-term solution is to
stop all intentional SAS Customer Intelligence and SAS Business Intelligence processes,
and then check to see whether SAS processes are still running. If there appear to be
processes that are not responding, kill them. Restart the compute tier. The long-term
solution is to ensure that campaigns that contain Process nodes are run in a way that
avoids contention.
The library definitions that are used by SAS Customer Intelligence can be viewed in
SASCustIntelCore6.x.log. Often a careful examination of the LIBNAME statements in
this log can help you pinpoint problems with reading or writing data.
3. Shut down the compute tier (object spawner, workspace servers, stored process
servers).
4. Check for remaining SAS processes that should not be running. Kill any processes
that are not responding.
5. Restart the compute tier.
6. Restart the middle tier.
By default, the resulting statistics report appears in the Core log every hour. To
specify a different reporting period, set the following parameter:
-Dsas.ci.performance.monitoring.reportPeriodInMinutes=N
For more information about improving slow performance, see Troubleshooting and
tuning SAS Stored Process Server and SAS Pooled Workspace Server load-balancing for
SAS Marketing Automation.
Common Sources of Error 221
2. Verify whether any of the other existing email notification events are working.
3. Verify whether the email notification ever worked. If the notification never worked,
see “Troubleshooting Steps If Email Notifications Never Worked” on page 225.
4. If available, provide the timestamp for the time at which the email notification last
worked. Determine when the email notification stopped working. If the system was
updated recently, provide the details.
5. Provide the SASCustIntelCore6.6.log so that it can be reviewed for ERRORs,
Sending Notifications, and Execution: Completed successfully messages. This file is
in the <SAS-configuration-directory>/Lev1/Web/Logs/
222 Chapter 14 • Troubleshooting
11. Verify that the notification settings are correct in the business context.
12. Check to see whether the email server was updated recently and note the time at
which the email server was last restarted.
Common Sources of Error 223
If you are unable to identify the problem using these steps, continue with “Advanced
Troubleshooting Steps” on page 223.
• /SAS-configuration-directory/Lev1/Web/activemq/data/
activemq.log
• /SAS-configuration-directory/Lev1/Web/activemq/data/
audit.log
• SAS Web Application Servers logs
• /SAS-configuration-directory/Lev1/Web/WebAppServer/
SASServer1_1/logs/server.log
• /SAS-configuration-directory/Lev1/Web/WebAppServer/
SASServer1_1/logs/gemfire.log
• /SAS-configuration-directory/Lev1/Web/WebAppServer/
SASServer1_1/logs/catalina.log
• /SAS-configuration-directory/Lev1/Web/WebAppServer/
SASServer6_1/logs/server.log
• /SAS-configuration-directory/Lev1/Web/WebAppServer/
SASServer6_1/logs/gemfire.log
• /SAS-configuration-directory/Lev1/Web/WebAppServer/
SASServer6_1/logs/catalina.log
• SAS Web Infrastructure Platform logs
• /SAS-configuration-directory/Lev1/Web/Logs/
SASServer1_1/SASAuthorizationServices9.4.log
• /SAS-configuration-directory/Lev1/Web/Logs/
SASServer1_1/SASBIWebServicesforJava9.4.log
• /SAS-configuration-directory/Lev1/Web/Logs/
SASServer1_1/SASIdentityServices9.4.log
• /SAS-configuration-directory/Lev1/Web/Logs/
SASServer1_1/SASPrincipalServices9.4.log
• /SAS-configuration-directory/Lev1/Web/Logs/
SASServer1_1/SASSharedApps9.4.log
• /SAS-configuration-directory/Lev1/Web/Logs/
SASServer1_1/SASWIPClientAccess9.4.log
• /SAS-configuration-directory/Lev1/Web/Logs/
SASServer1_1/SASWIPServices9.4.log
• /SAS-configuration-directory/Lev1/Web/Logs/
SASServer1_1/SASWIPSoapServices9.4.log
• /SAS-configuration-directory/Lev1/Web/Logs/
SASServer1_1/SASWorkflowServices9.4.log
• /SAS-configuration-directory/Lev1/
WebInfrastructurePlatformDataServer/Logs/webinfdsvrc-
[date.time]_[pid]
• Email exchange server log from the email exchange server
Note: SAS Technical Support might request additional mid-tier logs. For more
information, see the SAS Note at https://support.sas.com/kb/55/426.html.
Error Codes 225
Error Codes
SAS Marketing Automation components generate error codes in the following ranges.
Log Types
You can often gather more detailed error information by increasing the logging level,
replicating the problem, and then reviewing the recent additions to the logs.
SASCustIntelCore6.x.log is often the first log for which you should try increasing the
logging level. If the SASCustIntelCore6.x.log messages indicate that the problem is
actually with a stored process, turn on additional logging for the SAS Stored Process
Server instead.
SASCustIntelStudio.log is the log for the SAS Customer Intelligence web client.
When you run SAS Customer Intelligence in a production environment, logging is
generally kept to a minimum in order to maximize performance. Increase the logging
level only when you are troubleshooting. When you finish troubleshooting, return the
server environment to the previous level of logging to avoid degrading performance.
Here are the tables that display information about the various types of logs.
Filename SASCustIntelCore6.x.log
How to Increase the Logging Level Set the logging level on the Logging page in
SAS Customer Intelligence Studio. For more
information, see “Set Logging Level” on page
41.
Filename SASStoredProcessServer_yyyy-mm-
dd_pid.log
Summary of Logs for Troubleshooting 227
Log Contents Code and results from the nodes that are
executed by the SAS Stored Process Server.
How to Increase the Logging Level See SAS Note 34114 at http://
support.sas.com/kb/34/114.html.
Filename ObjectSpawner_yyyy-mm-dd_pid.log
How to Increase the Logging Level See SAS Note 34114 at http://
support.sas.com/kb/34/114.html
Filename SASAppPooledWorkspaceServer_yyyy-mm-
dd_pid.log
How to Increase the Logging Level See SAS Note 34567 at http://
support.sas.com/kb/34/567.html.
How to Increase the Logging Level See SAS Note 24428 at http://
support.sas.com/kb/24/428.html.
Filename SASContentServer.log
Gathering Logs
It is helpful to apply the following best practices when gathering logs:
• All logs that you gather must be from the same time period, and that time period
must include a time during which the problem occurred.
Summary of Logs for Troubleshooting 229
• Include a timestamp for when the problem occurred. Ensure that this timestamp is
included in the period covered by all of the logs.
• If you have it, include a timestamp for when the problem first happened. An
approximate time is acceptable.
• Include a brief description of the components that are installed on each machine.
• Label all of the logs such that technical support will know which machine each log
came from.
For problems with SAS Customer Intelligence Studio, gather the following logs:
1. from .../Lev1/web/logs/ of the middle-tier machine, where SAS Customer
Intelligence applications are installed (for example, SASServer6):
• SAS Marketing Automation Core log (for example,
SASMarketingAutomationCoreversion-number.log), also called the SAS
Customer Intelligence Core log in later versions
2. from .../Lev1/web/logs/ of the middle-tier machine or machines, where SAS
Decision Services applications are installed (for example, SASServer7):
• SAS Decision Services Design Server log (for example,
SASDecisionServicesDesignServerversion-number.log)
3. web application server log (for example, SystemOut.log) for SASServer6
4. web application server log (for example, SystemOut.log) for SASServer7
For problems with SAS Decision Services, gather the following logs:
1. from .../Lev1/web/logs/ of the middle-tier machine or machines, where SAS
Decision Services applications are installed (for example, SASServer7):
• SAS Decision Services Design Server log (for example,
SASDecisionServicesDesignServerversion-number.log)
• SAS Decision Services Engine Server log or logs (for example,
SASDecisionServicesEngineServerversion-number.log)
2. web application server log or logs (for example, SystemOut.log) for SASServer7
3. from the machine or machines where SAS Federation Server is installed:
• all files in SASHOME\SASDataFluxFederationServer\var\log
• all files in SASHOME\SASDataFluxAuthenticationServer\var\log
For DS2 Activities and Model Score results problems, send the logs listed above for
SAS Decision Services problems and the logs from the DS2 code when run in Base
SAS, if applicable.
If you are unable to gather the logs below, send all files under the following directories
for each machine in the implementation. Include the timestamps for when you
encountered the problem and the labels that indicate which machine each log came from.
• /Lev1/logs
• /Lev1/web/logs
• SASHOME\SASDataFluxFederationServer\var\log
• SASHOME\SASDataFluxAuthenticationServer\var\log
• and the web application server logs directories
230 Chapter 14 • Troubleshooting
Including the following information in your initial helps expedite the solution to your
problem:
1. How much memory is available on each of the machines in this implementation?
2. How many cores (CPUs) are available on each of the machines in this
implementation?
3. If you have done any resource monitoring, either per machine or per process, please
include information about your observations, labeled by machine and by process, if
applicable.
Appendix 1
The %CI2LASR macro extracts common data model data to an output table. The data is
used for reports. For more information, see “Extract Data” on page 143.
The following table does not include columns that are built from the customized
extension (_EXT) tables. Those columns depend on the common data model
implementation at your site.
Table A1.1 %CI2LASR Macro Output Table Data Dictionary
232
Column Name Type Length Format Informat Common Data Model Source
TOTAL_MARKETING_ CONTACT_CNT NUM 8 NLNUM16. The total number of attempted contacts for the package,
minus any failed contacts (such as bounced email
messages). This value is a count of subjects such as
Contents of the %CI2LASR Macro Output Table
HO_TOTAL_ATTEMPTED_CONTACT_CNT NUM 8 NLNUM16. NLNUM16. The total number of attempted contacts that were sent to
the channel for the holdout package. This value is a count
of subjects such as Customer, Household, or Account.
HO_TOTAL_MARKETING_CONTACT_CNT NUM 8 NLNUM16. NLNUM16. The total number of attempted contacts for the holdout
package minus any failed contacts (such as bounced email
messages). This value is a count of subjects such as
Customer, Household, or Account.
MARKETING_CELL_NM
CAMPAIGN_STATUS_DESC
235
CAMPAIGN_TYPE_CD CHAR 12 $12. $12. CI_CAMPAIGN,COLUMN: CAMPAIGN_TYPE_CD
236
COMMUNICATION_RECURR_TYPE_DESC
Glossary
authentication
See client authentication.
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.
business context
a designation that identifies the information that a user can access. Data access is
restricted to only the information that is required for a specific business need. A user
can have access to more than one business context.
campaign
See marketing campaign.
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.
238 Glossary
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.
data set
See SAS data set.
DBMS
See database management system.
encryption
the conversion of data by the use of algorithms or other means into an unintelligible
form in order to secure data (for example, passwords) in transmission and in storage.
foreign key
a column or combination of columns in one table that references the corresponding
primary key in another table. A foreign key must have the same attributes as the
primary key that it references.
format
See SAS format.
holding area
a temporary area of memory in which the output from a query of an SPD Server
table is stored.
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.
IOM
See Integrated Object Model.
JNDI
See Java Naming and Directory Interface.
job
a collection of SAS tasks that can 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.
log
See log file.
metadata
descriptive data about data that is stored and managed in a database, in order to
facilitate access to captured and archived data for further use.
metadata server
a server that provides metadata management services to one or more client
applications.
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.
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.
240 Glossary
pass-through facility
See SQL pass-through facility.
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.
primary key
a set of one or more attributes that uniquely identifies a single occurrence in a data
structure, such as a row in a table.
record-level locking
locking at the record level in a table or data set. The user who owns the lock has
exclusive access to a single record, while other users can access other records in the
same table or data set.
response
the reaction that an individual has to a campaign, such as requesting a quote, making
an inquiry, opening an email message, or buying the product.
SASSPDS
the SAS engine that provides access to the SAS SPD Server.
Glossary 241
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.
spawner
See object spawner.
SPD Server
See SAS Scalable Performance Data Server.
stored process
See SAS Stored Process.
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.
symbolic variable
See macro variable.
system option
See SAS system option.
thread
the smallest unit of processing that can be scheduled by an 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. See also primary key, foreign key.
242 Glossary
243
Index
registering 24 exporting
data tier 2 best practices 65
components 22 campaigns 173
database engines paths for delimited export files 170
multiple 207 exports
database logs 228 errors 225
database servers troubleshooting 15
multiple 207 extensible style-sheet transformations 17
database tables extracting campaigns 30
improving campaign execution
performance 209
improving query performance 39 F
date format 31 Firefox browser
DB2 23 Integrated Windows Authentication 57
and bulk load facility 204 folders
and common data model 124 importing and exporting objects
preventing deadlock 209 between 173
DBCS organizing as categories 70
See double-byte character sets
deadlock
in DB2 209 G
decline response type 112 Generate optimization data task
direct responses 112 capability 55
double-byte character sets Greenplum 23
in SAS Customer Intelligence tables 32 and common data model 124
grid computing
See SAS grid computing
E groups 52
Edit scenario task permissions 55
capability 55 User Manager plug-in 53
email
setting up notifications 32
environment H
update with sasciutil 172 halo response type 112
environment variables 38 histograms
errors overflow error 211
Add Channels utility 166 history
Cluster node 225 in common data model 106, 109
common data model 225 history tables 126
creating tables 225
Export node 225
metadata generation 225 I
overflow 211 ID data item level 92
Release Tables utility 163 identifier 195
SAS Metadata Server 16 importing
statistical size estimator 225 best practices 65
stored processes 225 campaigns 30, 173
troubleshooting 214 memory size 64
updating counts 225 paths for delimited export files 170
executing campaigns inferred responses 112
from command line 185 information maps
improving performance 209 adding relationships 70
releasing locks 40 backing up 198
exported files canceling Presentation tab 71
and LOCKDOWN statement 44 creating 68, 72
date format 31 custom properties 73, 81, 83, 85
246 Index
requirements 4 PostgreSQL 23
optimization and common data model 125
treatment-level 210 prepopulated values
Optimize now task in common data model 114
capability 55 PROC SQL
optimizing query performance 39 and generating counts metadata 98
Oracle 23, 87 public object types 173
and bulk load facility 204
and common data model 124
extension tables 128 Q
table name restriction 127 query performance 39
ordinal data item level 92 query processing 40
overflow error 211
R
P Redshift
packages See Amazon Redshift
in common data model 104 reference tables
passwords in common data model 114
encoding 162 prepopulating 129
updated by SAS Deployment Manager registering data 24
58 relationships
performance adding to information map 70
activating bulk load facility 202 editing in information map 71
Amazon Redshift 206 Release Tables utility 162
application 39 errors 163
business context options 203, 205 Report Link node
campaign execution 209 creating exports in SAS Web Report
data set options 203, 205 Studio 34
in clustered environment 35 reports
INSERTBUFF option 205 displaying in Reports workspace 133
JVM memory size 208 Reports workspace
prevent deadlock in DB2 database 209 capabilities 54
query 39 displaying reports 133
query processing 40 response history tables
SAP HANA 210 in common data model 106, 111
SAS grid computing 207 setting up 126
system threads 40 response types
treatment-level optimization 210 acceptance 112
permissions 55 decline 112
ACT 56 halo 112
business context 56 inquiry 112
capabilities 45 spill 112
custom repositories 57 responses
groups 52 direct 112
passwords 58 inferred 112
roles 45 SAS Customer Intelligence 360 107
SAS Customer Intelligence assets 60 setting up history tables 126
SAS identities 45 restoring data 200
SAS Management Console folders 59 roles 45
SAS Marketing Operations creating 51
Management 52 modifying 52
User Manager plug-in 53 permissions 55
Platform LSF 158 User Manager plug-in 53
logs 217, 227 rows
Platform Suite for SAS 5, 13 maximum number to display 38
248 Index
S logs 226
SAP HANA 23 SAS Technical Support 230
memory usage 210 SAS Visual Analytics Administration and
overflow error 211 Reporting 5
SAS Content Server SAS Web Report Studio
backing up 199 creating exports for Report Link node
logs 228 34
SAS Customer Intelligence SAS Workspace Server 14
architecture 3 logs 227
assets 60 SAS XML Mapper 17
backing up 199 SAS/ACCESS 23
logs 226 BULKLOAD option 202
session time-out value 33 SASMSG function 130
SAS Customer Intelligence 360 sasv9.cfg
and common data model 107 and double-byte character sets 32
SAS Customer Intelligence Integration and object spawner 14
Utilities 17, 200 schedulers
SAS Customer Intelligence Services User AT command 158
ID 45 operating system scheduling tool 158
SAS Customer Intelligence Studio Platform LSF 158
sessions 38 scheduling 30, 157
SAS Deployment Manager 5 campaigns 157
updated passwords 58 capabilities 54
SAS Digital Marketing failure 215
remove broadcast metadata 169 jobs 158
SAS Federation Server 17 security 43
SAS grid computing 207 capabilities 45
SAS identities 45 groups 52
SAS Intelligence Platform permissions 55
architecture 2 roles 45
security administration 44 SAS identities 45
SAS library resources 25 SAS Intelligence Platform 44
MAMeta library 73 User Manager plug-in 53
MAMisc library 26 separators 40
MAMORoot library 26 servers
MATables library 26 clustering 35
search order 28 naming during setup 31
SAS Management Console problems connecting to 31
copying and pasting folders 61 session encoding
Folders tab 59 and locale 130
SAS Marketing Operations Management session time-out value 33
access permissions 52 sessions
SAS Marketing Optimization recovery options 38
capabilities 55 setup instructions
common data model tables 107 date format 31
MAMORoot library 26 email notifications 32
SAS Metadata Server 15 install account 31
backing up 199 SAS Intelligence Platform 31
errors 16 server name 31
log 228 session time-out value 33
SAS packages spill response type 112
importing and exporting 176 Split nodes
SAS Pooled Workspace Server 15 troubleshooting 15
SAS server tier 2 SQL Server 23
components 13 and common data model 125
SAS Stored Process Server 14 and multiple databases 24
Index 249