c# mvc website pdf file in stored in byte array display in browser : Change pdf to jpg format application SDK tool html wpf windows online etlug0-part912

SAS
®
Data Integration Studio 
4.8
User's Guide
SAS
®
Documentation
Change pdf to jpg format - Convert PDF to JPEG images in C#.net, ASP.NET MVC, WinForms, WPF project
How to convert PDF to JPEG using C#.NET PDF to JPEG conversion / converter library control SDK
.pdf to jpg; change file from pdf to jpg on
Change pdf to jpg format - VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.net, ASP.NET MVC, WinForms, WPF project
Online Tutorial for PDF to JPEG (JPG) Conversion in VB.NET Image Application
c# pdf to jpg; convert pdf to jpeg
The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2013. SAS® Data Integration Studio 4.8: User's Guide. Cary, 
NC: SAS Institute Inc.
SAS® Data Integration Studio 4.8: User's Guide
Copyright © 2013, SAS Institute Inc., Cary, NC, USA
All rights reserved. Produced in the United States of America.
For a hard-copy book: No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, 
electronic, mechanical, photocopying, or otherwise, without the prior written permission of the publisher, SAS Institute Inc.
For a web download or e-book: Your use of this publication shall be governed by the terms established by the vendor at the time you acquire this 
publication.
The scanning, uploading, and distribution of this book via the Internet or any other means without the permission of the publisher is illegal and 
punishable by law. Please purchase only authorized electronic editions and do not participate in or encourage electronic piracy of copyrighted 
materials. Your support of others' rights is appreciated.
U.S. Government License Rights; Restricted Rights: The Software and its documentation is commercial computer software developed at private 
expense and is provided with RESTRICTED RIGHTS to the United States Government. Use, duplication or disclosure of the Software by the 
United States Government is subject to the license terms of this Agreement pursuant to, as applicable, FAR 12.212, DFAR 227.7202-1(a), DFAR 
227.7202-3(a) and DFAR 227.7202-4 and, to the extent required under U.S. federal law, the minimum restricted rights as set out in FAR 52.227-19 
(DEC 2007). If FAR 52.227-19 is applicable, this provision serves as notice under clause (c) thereof and no other notice is required to be affixed to 
the Software or documentation. The Government's rights in Software and documentation shall be only those set forth in this Agreement.
SAS Institute Inc., SAS Campus Drive, Cary, North Carolina 27513-2414.
December 2013
SAS provides a complete selection of books and electronic products to help customers use SAS® software to its fullest potential. For more 
information about our offerings, visit support.sas.com/bookstore or call 1-800-727-3228.
SAS® and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other 
countries. ® indicates USA registration.
Other brand and product names are trademarks of their respective companies.
Online Convert Jpeg to PDF file. Best free online export Jpg image
try out some settings and then create the PDF files with the button at the bottom. The perfect conversion tool. JPG is the most widely used image format, but we
.net pdf to jpg; convert pdf to jpg c#
Online Convert PDF to Jpeg images. Best free online PDF JPEG
JPG is the most common image format on the internet. The outputs of our conversion service are always JPG files to even if pictures are saved in a PDF in other
best pdf to jpg converter online; convert pdf image to jpg
JPEG Image Viewer| What is JPEG
JPEG, JPG. Disadvantages of JPEG Format. Lossy compression, somewhat reduces the image quality other file formats, including Bitmap, Png, Gif, Tiff, PDF, MS-Word
advanced pdf to jpg converter; convert pdf pages to jpg
C# PDF Convert to Images SDK: Convert PDF to png, gif images in C#
PDF to multiple image forms, including Jpg, Png, Bmp load a program with an incorrect format", please check You can also directly change PDF to Gif image file
convert pdf file to jpg file; convert multiple pdf to jpg
C# Create PDF from images Library to convert Jpeg, png images to
to load a program with an incorrect format", please check Add(new Bitmap(Program. RootPath + "\\" 1.jpg")); images.Add 1.png")); / Build a PDF document with
convert from pdf to jpg; convert pdf picture to jpg
C# Image: How to Download Image from URL in C# Project with .NET
If you want other format, you can use the image you can also save a gif, jpeg / jpg, or bmp provide powerful & profession imaging controls, PDF document, tiff
best program to convert pdf to jpg; convert pdf page to jpg
Contents
What's New in SAS Data Integration Studio 4.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
PART 1
Introduction
1
Chapter 1 • Overview of SAS Data Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
About SAS Data Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Advantages of SAS Data Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
A Basic Data Integration Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
How to Get Help for SAS Data Integration Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Installing SAS Data Integration Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Administrative Documentation for SAS Data Integration Studio . . . . . . . . . . . . . . . . . . 9
Accessibility Features in SAS Data Integration Studio . . . . . . . . . . . . . . . . . . . . . . . . . 10
PART 2
General User Tasks
15
Chapter 2 • Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Security for SAS Data Integration Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Main Tasks for Creating Process Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Starting SAS Data Integration Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Connecting to a SAS Metadata Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Working with the Folders Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Selecting a Default SAS Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Registering SAS Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Working with User-Defined Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Registering Tables and Cubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Working with Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Working with Stored Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Working with Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Specifying Global Options in SAS Data Integration Studio . . . . . . . . . . . . . . . . . . . . . 45
Working with Change Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Search Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Add a Note or Document to a Registered Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
View the Content of Notes or Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Chapter 3 • Importing, Exporting, and Copying Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Metadata Import and Export in SAS Data Integration Studio . . . . . . . . . . . . . . . . . . . . 60
Working with SAS Package Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Preparing to Import or Export SAS Package Metadata . . . . . . . . . . . . . . . . . . . . . . . . . 61
Exporting SAS Package Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Importing SAS Package Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Copying and Pasting Metadata Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Working with SAS Metadata Bridges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Usage Notes for Importing or Exporting with a SAS Metadata Bridge . . . . . . . . . . . . . 66
Preparing to Import or Export with a SAS Metadata Bridge . . . . . . . . . . . . . . . . . . . . . 67
Importing New Metadata with a SAS Metadata Bridge . . . . . . . . . . . . . . . . . . . . . . . . . 67
VB.NET Word: Word to JPEG Image Converter in .NET Application
Word doc into high quality jpeg / jpg images; Convert a be converted into Jpeg image format and then powerful & profession imaging controls, PDF document, image
convert pdf file to jpg on; convert .pdf to .jpg
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
Powerful .NET control to batch convert PDF documents to tiff format in Visual C# .NET program. Also supports convert PDF files to jpg, jpeg images.
conversion of pdf to jpg; convert pdf file to jpg online
Importing Updated Metadata with a SAS Metadata Bridge . . . . . . . . . . . . . . . . . . . . . . 70
Exporting Metadata with a SAS Metadata Bridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Chapter 4 • Working with Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
About Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Registering Existing Tables with the Register Tables Wizard . . . . . . . . . . . . . . . . . . . . 81
Registering New Tables with the New Table Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Viewing or Updating Table Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Using a Physical Table to Update Table Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Specifying Options for Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Supporting Case and Special Characters in Table and Column Names . . . . . . . . . . . . . 87
Maintaining Column Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Standardizing Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Maintaining Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Maintaining Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Browsing Table Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Editing SAS Table Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Using the View Data Window to Create a SAS Table . . . . . . . . . . . . . . . . . . . . . . . . . 117
Specifying Browse and Edit Options for Tables and External Files . . . . . . . . . . . . . . 118
Chapter 5 • Working with External Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
About External Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Registering a Delimited External File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Registering a Fixed-Width External File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Registering an External File with User-Written Code . . . . . . . . . . . . . . . . . . . . . . . . . 128
Viewing or Updating External File Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Overriding the Code Generated by the External File Wizards . . . . . . . . . . . . . . . . . . . 132
Specifying NLS Support for External Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Accessing an External File with an FTP Server or an HTTP Server . . . . . . . . . . . . . . 133
Viewing Data in External Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Registering a COBOL Data File That Uses a COBOL Copybook . . . . . . . . . . . . . . . . 136
Using an External File in the Process Flow for a Job . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Chapter 6 • Creating Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
About Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Creating an Empty Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Creating a Process Flow for a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Creating a Job That Contains Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Working with Default Temporary Output Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Specifying Options for Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Documenting Process Flow Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Accessing Local and Remote Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Viewing or Updating Job Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Displaying the SAS Code for a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Common Code Generated for a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Chapter 7 • Managing Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
About Managing Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Submitting a Job for Immediate Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Meeting Prerequisites for Collecting Job Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Reviewing a Successful Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Diagnosing and Correcting an Unsuccessful Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Adding a Transformation to an Existing Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Understanding the Job Has Changed Warning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Understanding the Crossed Versions in a Job Warning . . . . . . . . . . . . . . . . . . . . . . . . 179
Displaying Run-Time Statistics in SAS Job Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . 180
vi
Contents
VB.NET PDF - Convert PDF with VB.NET WPF PDF Viewer
to PDF; Merge PDF Files; Split PDF Document; Remove Password from PDF; Change PDF Permission Settings. Convert PDF to image formats, such as PNG, JPG, BMP and
change file from pdf to jpg; .net convert pdf to jpg
C# WPF PDF Viewer SDK to convert and export PDF document to other
to PDF; Merge PDF Files; Split PDF Document; Remove Password from PDF; Change PDF Permission Settings. Convert PDF to image formats, such as PNG, JPG, BMP and
convert multi page pdf to jpg; convert pdf photo to jpg
Displaying Run-Time Statistics in SAS Web Report Studio or the 
SAS Stored Process Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Maintaining Column Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Managing the Scope of Column Changes in Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Managing Connections in Job Editor Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Viewing the Code for a Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Specifying Options for Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Redirecting Temporary Output Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Pushing ELT Job Code Down to a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Using a Web Client to Orchestrate Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Chapter 8 • Restarting Jobs From Checkpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
About Restarting Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Prerequisites for Restarting Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Adding Checkpoints to a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Restarting a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Chapter 9 • Managing the Status of Jobs and Transformations . . . . . . . . . . . . . . . . . . . . . . . . 203
About Status Handling for Jobs and Transformations . . . . . . . . . . . . . . . . . . . . . . . . . 203
Default Conditions, Actions, and Conditional Action Sets . . . . . . . . . . . . . . . . . . . . . 204
Prerequisites for Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Perform Actions Based on the Status of a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Perform Actions Based on the Status of a Transformation . . . . . . . . . . . . . . . . . . . . . 211
Macro Variables for Status Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Chapter 10 • Deploying Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
About Deploying Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
About Deploying Jobs for Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Prerequisites for Deploying a Job for Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Deploying Jobs for Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Using a Command Line to Deploy Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Redeploying Jobs for Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Using Scheduling to Handle Complex Process Flows . . . . . . . . . . . . . . . . . . . . . . . . . 227
Using Deploy for Scheduling to Execute Jobs on a Remote Host . . . . . . . . . . . . . . . . 228
About Deploying Jobs as Stored Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Prerequisites for Deploying a Job as a Stored Process . . . . . . . . . . . . . . . . . . . . . . . . . 229
Deploying Jobs as Stored Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Redeploying Jobs to Stored Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Viewing or Updating Stored Process Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
About Deploying Jobs as Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Prerequisites for Web Service Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Requirements for Web Service Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Creating a Web Service Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Deploying a Web Service Job as a Stored Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Deploying a Stored Process as a Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Chapter 11 • Working with Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
About Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Prerequisites for Version Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Example Setup for an Apache Subversion (SVN) Server . . . . . . . . . . . . . . . . . . . . . . 247
Creating a Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Reviewing and Managing Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Comparing Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Chapter 12 • Working with Generated Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
About Code Generated for Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Contents
vii
Displaying the Code Generated for a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Displaying the Code Generated for a Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 260
Specifying Options for Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Specifying Options for a Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Modifying Configuration Files or SAS Start Commands for Application Servers . . . 261
Chapter 13 • Working with User-Written Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
About User-Written Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Adding User-Written Code to the Precode and Postcode Tab . . . . . . . . . . . . . . . . . . . 264
Adding a User Written Code Transformation to a Job . . . . . . . . . . . . . . . . . . . . . . . . . 266
Creating and Using a Generated Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Maintaining a Generated Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Editing the Generated Code for a Job or Transformation . . . . . . . . . . . . . . . . . . . . . . . 278
Replacing the Generated Code for a Job or Transformation . . . . . . . . . . . . . . . . . . . . 279
Converting a SAS Code File to a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Chapter 14 • Optimizing Process Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
About Process Flow Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Managing Process Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Managing Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Streamlining Process Flow Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Using Simple Debugging Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Using SAS Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Reviewing Temporary Output Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Additional Performance Optimization Information . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Chapter 15 • Using Impact Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
About Impact Analysis and Reverse Impact Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 303
Performing an Impact Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Performing Impact Analysis on a Generated Transformation . . . . . . . . . . . . . . . . . . . 308
Performing Reverse Impact Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Chapter 16 • Working with Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
About Metadata Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Opening the Reports Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Selecting the Reports Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Customizing the Tables Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Customizing the Job Documentation Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Running and Saving a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Saving a Report As a Document Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Viewing a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Creating Your Own Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Chapter 17 • Working with Data Management Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Integration with DataFlux Data Management Platform . . . . . . . . . . . . . . . . . . . . . . . . 324
General Prerequisites for Data Quality Transformations . . . . . . . . . . . . . . . . . . . . . . . 326
Prerequisites for Running a DataFlux Job or Profile in a SAS 
Data Integration Studio Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Analyzing the Quality of Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Standardizing Values with a Standardization Scheme . . . . . . . . . . . . . . . . . . . . . . . . . 331
Standardizing Values with a Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Using Match Codes to Improve Record Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Using a DataFlux Data Service in a SAS Data Integration Studio Job . . . . . . . . . . . . 341
Using a DataFlux Job or Profile in a SAS Data Integration Studio Job . . . . . . . . . . . . 345
Working with DataFlux Business Data Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
viii
Contents
PART 3
Working with Transformations 
351
Chapter 18 • Working with Analysis Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
About Analysis Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Creating a Correlation Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Creating a Distribution Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Generating Forecasts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Frequency of Eye Color By Hair Color Crosstabulation . . . . . . . . . . . . . . . . . . . . . . . 377
One-Way Frequency of Eye Color By Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Creating Summary Statistics for a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Creating a Summary Tables Report from Table Data . . . . . . . . . . . . . . . . . . . . . . . . . 405
Chapter 19 • Working with Loader Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
About Loader Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
About the SPD Server Table Loader Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 414
Teradata Table Loader Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
About the Table Loader Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
About the Oracle Bulk Table Loader Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 417
About the DB2 Bulk Table Loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Setting Table Loader Transformation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Selecting a Load Technique in the Table Loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Removing Non-Essential Indexes and Constraints during a Load . . . . . . . . . . . . . . . . 424
Considering a Bulk Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Chapter 20 • Working with SAS Sort Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
About Sort Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Optimizing Sort Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Creating a Table That Contains the Sorted Contents of a Source . . . . . . . . . . . . . . . . 430
Chapter 21 • Working with SQL Join Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
About Join Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Using the Designer Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Reviewing and Modifying Clauses, Joins, and Tables in an SQL Query . . . . . . . . . . . 437
Understanding Automatic Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Selecting the Join Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
Adding User-Written SQL Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Debugging an SQL Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Adding a Column to the Target Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Adding a Join to an SQL Query on the Designer Tab . . . . . . . . . . . . . . . . . . . . . . . . . 447
Creating a Simple SQL Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Configuring a SELECT Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Adding a CASE Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Creating or Configuring a WHERE Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Adding a GROUP BY Clause and a HAVING Clause . . . . . . . . . . . . . . . . . . . . . . . . 457
Adding an ORDER BY Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Adding Subqueries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Validating or Submitting an SQL Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Joining a Table to Itself . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Using Parameters with an SQL Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Constructing a SAS Scalable Performance Data Server Star Join . . . . . . . . . . . . . . . . 470
Optimizing SQL Processing Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
Performing General Data Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Influencing the Join Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Setting the Implicit Property for a Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Enabling Explicit Pass-Through Processing for SQL Join Transformations . . . . . . . . 476
Using Properties Window Options to Optimize SQL Processing Performance . . . . . . 478
Contents
ix
Chapter 22 • Working with Other SQL Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
About Other SQL Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Inserting Rows into a Target Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Using the SQL Set Operators Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
Enabling Explicit Pass-Through Processing for Other SQL Transformations . . . . . . . 494
Chapter 23 • Working with Iterative Jobs and Parallel Processing . . . . . . . . . . . . . . . . . . . . . . 497
About Iterative Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Creating and Running an Iterative Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Creating a Parameterized Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Creating a Control Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
About Parallel Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
Setting Options for Parallel Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
Chapter 24 • Working with Slowly Changing Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
About Slowly Changing Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
About Dimension Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
About Fact Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Loading a Dimension Table with Type 1 Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Loading a Dimension Table with Type 1 and 2 Updates . . . . . . . . . . . . . . . . . . . . . . . 525
Comparing Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
Loading a Fact Table Using Dimension Table Lookup . . . . . . . . . . . . . . . . . . . . . . . . 535
Loading a Table and Adding a Surrogate Primary Key . . . . . . . . . . . . . . . . . . . . . . . . 541
Tracking Changes in Source Datetime Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
Closing Out Rows in Datetime Change Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
Chapter 25 • Working with Change Data Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
About the Change Data Capture Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
About CDC Changed Data Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
About CDC Control Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
Capture Changed Data from Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
Chapter 26 • Working with Message Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
About Message Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Prerequisites for Message Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Selecting Message Queue Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Processing a WebSphere Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
Polling a Websphere Message Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Processing a Microsoft Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Chapter 27 • Working with SPD Server Cluster Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
About SPD Server Cluster Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Creating an SPD Server Cluster Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Maintaining an SPD Server Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
Chapter 28 • Working with Hadoop Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
About Hadoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
Prerequisites for Hadoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
Usage Notes for SAS LASR Analytic Server and Related Software . . . . . . . . . . . . . . 574
Creating a Pig Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
Creating a Hive Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
Creating a Hadoop Container Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
Monitoring Hadoop Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
x
Contents
Documents you may be interested
Documents you may be interested