Muutke küpsiste eelistusi

E-raamat: Carpenter's Guide to Innovative SAS Techniques

  • Formaat: 570 pages
  • Ilmumisaeg: 02-Mar-2012
  • Kirjastus: SAS Publishing
  • Keel: eng
  • ISBN-13: 9781629590196
Teised raamatud teemal:
  • Formaat - PDF+DRM
  • Hind: 74,87 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: 570 pages
  • Ilmumisaeg: 02-Mar-2012
  • Kirjastus: SAS Publishing
  • Keel: eng
  • ISBN-13: 9781629590196
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Carpenter's Guide to Innovative SAS Techniques offers advanced SAS programmers an all-in-one programming reference that includes advanced topics not easily found outside the depths of SAS documentation or more advanced training classes. Art Carpenter has written fifteen chapters of advanced tips and techniques, including topics on data summary, data analysis, and data reporting. Special emphasis is placed on DATA step techniques that solve complex data problems. There are numerous examples that illustrate advanced techniques that take advantage of formats, interface with the macro language, and utilize the Output Delivery System. Additional topics include operating system interfaces, table lookup techniques, and the creation of customized reports.
About This Book xvii
Acknowledgments xxv
About the Author xxvii
Part 1 Data Preparation
1(230)
Chapter 1 Moving, Copying, Importing, and Exporting Data
3(34)
1.1 Libname Statement Engines
4(5)
1.1.1 Using Data Access Engines to Read and Write Data
5(1)
1.1.2 Using the Engine to View the Data
6(1)
1.1.3 Options Associated with the Engine
6(1)
1.1.4 Replacing Excel Sheets
7(1)
1.1.5 Recovering the Names of Excel Sheets
8(1)
1.2 Proc Import and Export
9(8)
1.2.1 Using the Wizard to Build Sample Code
9(1)
1.2.2 Control through the Use of Options
9(1)
1.2.3 Proc Import Data Source Statements
10(2)
1.2.4 Importing and Exporting CSV Files
12(3)
1.2.5 Preventing the Export of Blank Sheets
15(1)
1.2.6 Working with Named Ranges
16(1)
1.3 Data Step Input Statement
17(11)
1.3.1 Format Modifiers for Errors
18(1)
1.3.2 Format Modifiers for the Input Statement
18(2)
1.3.3 Controlling Delimited Input
20(4)
1.3.4 Reading Variable-Length Records
24(4)
1.4 Writing Delimited Files
28(4)
1.4.1 Using the Data Step with the DLM= Option
28(1)
1.4.2 Proc Export
29(1)
1.4.3 Using the %DS2CSV Macro
30(1)
1.4.4 Using ODS and the CSV Destination
31(1)
1.4.5 Inserting the Separator Manually
31(1)
1.5 SQL Pass-Through
32(1)
1.5.1 Adding a Pass-Through to Your SQL Step
32(1)
1.5.2 Pass-Through Efficiencies
33(1)
1.6 Reading and Writing to XML
33(4)
1.6.1 Using ODS
34(1)
1.6.2 Using the XML Engine
34(3)
Chapter 2 Working with Your Data
37(66)
2.1 Data Set Options
38(7)
2.1.1 Replace and Repempty
40(1)
2.1.2 Password Protection
41(1)
2.1.3 Keep, Drop, and Rename Options
42(1)
2.1.4 Observation Control Using Firstobs and OBS Data Set Options
43(2)
2.2 Evaluating Expressions
45(7)
2.2.1 Operator Hierarchy
45(1)
2.2.2 Using the Colon as a Comparison Modifier
46(1)
2.2.3 Logical and Comparison Operators in Assignment Statements
47(2)
2.2.4 Compound Inequalities
49(1)
2.2.5 The Min and Max Operators
50(1)
2.2.6 Numeric Expressions and Boolean Transformations
51(1)
2.3 Data Validation and Exception Reporting
52(8)
2.3.1 Date Validation
52(3)
2.3.2 Writing to an Error Data Set
55(3)
2.3.3 Controlling Exception Reporting with Macros
58(2)
2.4 Normalizing - Transposing the Data
60(5)
2.4.1 Using Proc Transpose
61(2)
2.4.2 Transposing in the Data Step
63(2)
2.5 Filling Sparse Data
65(8)
2.5.1 Known Template of Rows
65(2)
2.5.2 Double Transpose
67(3)
2.5.3 Using Completypes with Proc Means or Proc Summary
70(1)
2.5.4 Using Classdata
70(2)
2.5.5 Using Preloaded Formats
72(1)
2.5.6 Using the Sparse Option with Proc FREQ
73(1)
2.6 Some General Concepts
73(9)
2.6.1 Shorthand Variable Naming
73(4)
2.6.2 Understanding the Order= Option
77(2)
2.6.3 Quotes within Quotes within Quotes
79(2)
2.6.4 Setting the Length of Numeric Variables
81(1)
2.7 Where Specifics
82(6)
2.7.1 Operators Just for the Where
83(3)
2.7.2 Interaction with the By Statement
86(2)
2.8 Appending Data Sets
88(2)
2.8.1 Appending Data Sets Using the Data Step and SQL Union
88(2)
2.8.2 Using the Datasets Procedure's Append Statement
90(1)
2.9 Finding and Eliminating Duplicates
90(7)
2.9.1 Using Proc Sort
91(1)
2.9.2 Using First. and Last. By-Group Processing
92(1)
2.9.3 Using Proc SQL
93(1)
2.9.4 Using Proc FREQ
93(1)
2.9.5 Using the Data Component Hash Object
94(3)
2.10 Working with Missing Values
97(6)
2.10.1 Special Missing Values
97(1)
2.10.2 Missing System Option
98(1)
2.10.3 Using the CMISS, NMISS, and Missing Functions
99(1)
2.10.4 Using the Call Missing Routine
100(1)
2.10.5 When Classification Variables are Missing
100(1)
2.10.6 Missing Values and Macro Variables
101(1)
2.10.7 Imputing Missing Values
101(2)
Chapter 3 Just In the Data Step
103(82)
3.1 Working across Observations
105(9)
3.1.1 By-Group Processing-Using First. and Last. Processing
105(2)
3.1.2 Transposing to Arrays
107(1)
3.1.3 Using the LAG Function
108(2)
3.1.4 Look-Ahead Using a Merge Statement
110(1)
3.1.5 Look-Ahead Using a Double Set Statement
111(1)
3.1.6 Look-Back Using a Double Set Statement
111(2)
3.1.7 Building a FIFO Stack
113(1)
3.1.8 A Bit on the Sum Statement
114(1)
3.2 Calculating a Person's Age
114(3)
3.2.1 Simple Formula
115(1)
3.2.2 Using Functions
116(1)
3.2.3 The Way Society Measures Age
117(1)
3.3 Using Data Step Component Objects
117(15)
3.3.1 Declaring (Instantiating) the Object
119(1)
3.3.2 Using Methods with an Object
119(1)
3.3.3 Simple Sort Using the Hash Object
120(1)
3.3.4 Stepping through a Hash Table
121(5)
3.3.5 Breaking Up a Data Set into Multiple Data Sets
126(2)
3.3.6 Hash Tables That Reference Hash Tables
128(2)
3.3.7 Using a Hash Table to Update a Master Data Set
130(2)
3.4 Doing More with the INTNX and INTCK Functions
132(6)
3.4.1 Interval Multipliers
132(1)
3.4.2 Shift Operators
133(1)
3.4.3 Alignment Options
134(2)
3.4.4 Automatic Dates
136(2)
3.5 Variable Conversions
138(5)
3.5.1 Using the Put and Input Functions
138(5)
3.5.2 Decimal, Hexadecimal, and Binary Number Conversions
143(1)
3.6 Data Step Functions
143(22)
3.6.1 The Any and Not Families of Functions
144(1)
3.6.2 Comparison Functions
145(2)
3.6.3 Concatenation Functions
147(1)
3.6.4 Finding Maximum and Minimum Values
147(1)
3.6.5 Variable Information Functions
148(6)
3.6.6 New Alternatives and Functions That Do More
154(9)
3.6.7 Functions That Put the Squeeze on Values
163(2)
3.7 Joins and Merges
165(7)
3.7.1 By Variable Attribute Consistency
166(3)
3.7.2 Variables in Common That Are Not in the By List
169(1)
3.7.3 Repeating By Variables
170(1)
3.7.4 Merging without a Clear Key (Fuzzy Merge)
171(1)
3.8 More on the Set Statement
172(4)
3.8.1 Using the NOBS= and Point= Options
172(2)
3.8.2 Using the INDSNAME= Option
174(1)
3.8.3 A Comment on the End= Option
175(1)
3.8.4 Data Steps with Two Set Statements
175(1)
3.9 Doing More with Do Loops
176(4)
3.9.1 Using the DOW Loop
176(2)
3.9.2 Compound Loop Specifications
178(1)
3.9.3 Special Forms of Loop Specifications
178(2)
3.10 More on Arrays
180(5)
3.10.1 Array Syntax
180(1)
3.10.2 Temporary Arrays
181(1)
3.10.3 Functions Used with Arrays
182(1)
3.10.4 Implicit Arrays
183(2)
Chapter 4 Sorting the Data
185(12)
4.1 Proc Sort Options
186(4)
4.1.1 The Noduprec Option
186(1)
4.1.2 The Dupout= Option
187(1)
4.1.3 The Tagsort Option
188(1)
4.1.4 Using the Sortseq Option
188(2)
4.1.5 The Force Option
190(1)
4.1.6 The Equals or Noequals Options
190(1)
4.2 Using Data Set Options with Proc Sort
190(1)
4.3 Taking Advantage of Known or Knowable Sort Order
191(2)
4.4 Metadata Sort Information
193(1)
4.5 Using Threads
194(3)
Chapter 5 Working with Data Sets
197(16)
5.1 Automating the Compare Process
198(2)
5.2 Reordering Variables on the PDV
200(2)
5.3 Building and Maintaining Indexes
202(6)
5.3.1 Introduction to Indexing
203(1)
5.3.2 Creating Simple Indexes
204(2)
5.3.3 Creating Composite Indexes
206(1)
5.3.4 Using the Idxwhere and Idxname Options
206(1)
5.3.5 Index Caveats and Considerations
207(1)
5.4 Protecting Passwords
208(3)
5.4.1 Using Proc Pwencode
208(1)
5.4.2 Protecting Database Passwords
209(2)
5.5 Deleting Data Sets
211(1)
5.6 Renaming Data Sets
211(2)
5.6.1 Using the Rename Function
212(1)
5.6.2 Using Proc Datasets
212(1)
Chapter 6 Table Lookup Techniques
213(18)
6.1 A Series of IF Statements---The Logical Lookup
215(1)
6.2 IF-Then/Else Lookup Statements
215(1)
6.3 Data Step Merges and SQL Joins
216(2)
6.4 Merge Using Double Set Statements
218(1)
6.5 Using Formats
219(2)
6.6 Using Indexes
221(2)
6.6.1 Using the By Statement
222(1)
6.6.2 Using the Key= Option
222(1)
6.7 Key Indexing (Direct Addressing) - Using Arrays to Form a Simple Hash
223(4)
6.7.1 Building a List of Unique Values
223(1)
6.7.2 Performing a Key Index Lookup
224(2)
6.7.3 Using a Non-Numeric Index
226(1)
6.8 Using the Hash Object
227(4)
Part 2 Data Summary, Analysis, and Reporting
231(130)
Chapter 7 Means and Summary Procedures
233(24)
7.1 Using Multiple Class Statements and Class Statement Options
234(4)
7.1.1 Missing and Descending Options
236(1)
7.1.2 Groupinternal Option
237(1)
7.1.3 Order= Option
238(1)
7.2 Letting SAS Name the Output Variables
238(2)
7.3 Statistic Specification on the Output Statement
240(1)
7.4 Identifying the Extremes
241(5)
7.4.1 Using the Maxid and Minid Options
241(2)
7.4.2 Using the Idgroup Option
243(2)
7.4.3 Using Percentiles to Create Subsets
245(1)
7.5 Understanding the _Type_ Variable
246(2)
7.6 Using the Chartype Option
248(1)
7.7 Controlling Summary Subsets Using the Ways Statement
249(1)
7.8 Controlling Summary Subsets Using the Types Statement
250(1)
7.9 Controlling Subsets Using the Classdata= and Exclusive Options
251(2)
7.10 Using the Completetypes Option
253(1)
7.11 Identifying Summary Subsets Using the Levels and Ways Options
254(1)
7.12 Class Statement vs. By Statement
255(2)
Chapter 8 Other Reporting and Analysis Procedures
257(40)
8.1 Expanding Proc Tabulate
258(12)
8.1.1 What You Need to Know to Get Started
258(4)
8.1.2 Calculating Percentages Using Proc Tabulate
262(3)
8.1.3 Using the Style= Option with Proc Tabulate
265(2)
8.1.4 Controlling Table Content with the Classdata Option
267(2)
8.1.5 Ordering Classification Level Headings
269(1)
8.2 Expanding Proc Univariate
270(7)
8.2.1 Generating Presentation-Quality Plots
270(3)
8.2.2 Using the Class Statement
273(2)
8.2.3 Probability and Quantile Plots
275(1)
8.2.4 Using the Output Statement to Calculate Percentages
276(1)
8.3 Doing More with Proc FREQ
277(3)
8.3.1 Output Statement in Proc FREQ
277(2)
8.3.2 Using the Nlevels Option
279(1)
8.4 Using Proc Report to Better Advantage
280(11)
8.4.1 Proc Report vs. Proc Tabulate
280(1)
8.4.2 Naming Report Items (Variables) in the Compute Block
280(1)
8.4.3 Understanding Compute Block Execution
281(2)
8.4.4 Using a Dummy Column to Consolidate Compute Blocks
283(1)
8.4.5 Consolidating Columns
284(1)
8.4.6 Using the Style= Option with Lines
285(2)
8.4.7 Setting Style Attributes with the Call Define Routine
287(1)
8.4.8 Dates within Dates
288(1)
8.4.9 Aligning Decimal Points
289(1)
8.4.10 Conditionally Executing the Line Statement
290(1)
8.5 Using Proc Print
291(6)
8.5.1 Using the ID and By Statements Together
291(1)
8.5.2 Using the Style= Option with Proc Print
292(3)
8.5.3 Using Proc Print to Generate a Table of Contents
295(2)
Chapter 9 SAS/Graph Elements You Should Know - Even if You Don't Use SAS/Graph
297(16)
9.1 Using Title Options with ODS
298(2)
9.2 Setting and Clearing Graphics Options and Settings
300(3)
9.3 Using SAS/Graph Statements with Procedures That Are Not SAS/Graph Procedures
303(6)
9.3.1 Changing Plot Symbols with the Symbol Statement
303(3)
9.3.2 Controlling Axes and Legends
306(3)
9.4 Using Annotate to Augment Graphs
309(4)
Chapter 10 Presentation Graphics - More than Just SAS/Graph
313(12)
10.1 Generating Box Plots
314(3)
10.1.1 Using Proc Boxplot
314(1)
10.1.2 Using Proc Gplot and the Symbol Statement
315(1)
10.1.3 Using Proc Shewhart
316(1)
10.2 SAS/Graph Specialty Techniques and Procedures
317(6)
10.2.1 Building Your Own Graphics Font
317(2)
10.2.2 Splitting a Text Line Using Justify=
319(1)
10.2.3 Using Windows Fonts
319(1)
10.2.4 Using Proc GKPI
320(3)
10.3 Proc FREQ Graphics
323(2)
Chapter 11 Output Delivery System
325(36)
11.1 Using the Output Destination
326(6)
11.1.1 Determining Object Names
326(1)
11.1.2 Creating a Data Set
327(3)
11.1.3 Using the Match_All Option
330(1)
11.1.4 Using the Persist= Option
330(1)
11.1.5 Using Match_All= with the Persist= Option
331(1)
11.2 Writing Reports to Excel
332(5)
11.2.1 Excelxp Tagset Documentation and Options
333(1)
11.2.2 Generating Multisheet Workbooks
334(1)
11.2.3 Checking Out the Styles
335(2)
11.3 Inline Formatting Using Escape Character Sequences
337(8)
11.3.1 Page X of Y
338(2)
11.3.2 Superscripts, Subscripts, and a Dagger
340(1)
11.3.3 Changing Attributes
341(1)
11.3.4 Using Sequence Codes to Control Indentations, Spacing, and Line Breaks
342(2)
11.3.5 Issuing Raw RTF Specific Commands
344(1)
11.4 Creating Hyperlinks
345(7)
11.4.1 Using Style Overrides to Create Links
345(2)
11.4.2 Using the Link= Title Statement Option
347(1)
11.4.3 Linking Graphics Elements
348(2)
11.4.4 Creating Internal Links
350(2)
11.5 Traffic Lighting
352(4)
11.5.1 User-Defined Format
352(1)
11.5.2 Proc Tabulate
353(1)
11.5.3 Proc Report
354(1)
11.5.4 Traffic Lighting with Proc Print
355(1)
11.6 The ODS Layout Statement
356(2)
11.7 A Few Other Useful ODS Tidbits
358(3)
11.7.1 Using the ASIS Style Attribute
358(1)
11.7.2 ODS Results Statement
358(3)
Part 3 Techniques, Tools, and Interfaces
361(128)
Chapter 12 Taking Advantage of Formats
363(34)
12.1 Using Preloaded Formats to Modify Report Contents
364(6)
12.1.1 Using Preloaded Formats with Proc Report
365(2)
12.1.2 Using Preloaded Formats with Proc Tabulate
367(2)
12.1.3 Using Preloaded Formats with the Means and Summary Procedures
369(1)
12.2 Doing More with Picture Formats
370(7)
12.2.1 Date Directives and the Datatype Option
371(2)
12.2.2 Working with Fractional Values
373(1)
12.2.3 Using the Mult and Prefix Options
374(2)
12.2.4 Display Granularity Based on Value Ranges - Limiting Significant Digits
376(1)
12.3 Multilabel (MLF) Formats
377(4)
12.3.1 A Simple MLF
377(1)
12.3.2 Calculating Rolling Averages
378(3)
12.4 Controlling Order Using the Notsorted Option
381(1)
12.5 Extending the Use of Format Translations
382(6)
12.5.1 Filtering Missing Values
382(1)
12.5.2 Mapping Overlapping Ranges
383(1)
12.5.3 Handling Text within Numeric Values
383(1)
12.5.4 Using Perl Regular Expressions within Format Definitions
384(1)
12.5.5 Passing Values to a Function as a Format Label
384(4)
12.6 Anydate Informats
388(2)
12.6.1 Reading in Mixed Dates
389(1)
12.6.2 Converting Mixed Datetime Values
389(1)
12.7 Building Formats from Data Sets
390(2)
12.8 Using the Pvalue Format
392(1)
12.9 Format Libraries
393(4)
12.9.1 Saving Formats Permanently
393(1)
12.9.2 Searching for Formats
394(1)
12.9.3 Concatenating Format Catalogs and Libraries
394(3)
Chapter 13 Interfacing with the Macro Language
397(40)
13.1 Avoiding Macro Variable Collisions---Make Your Macro Variables %Local
398(2)
13.2 Using the Symputx Routine
400(3)
13.2.1 Compared to Call Symput
401(1)
13.2.2 Using Symputx to Save Values of Options
402(1)
13.2.3 Using Symputx to Build a List of Macro Variables
402(1)
13.3 Generalized Programs---Variations on a Theme
403(3)
13.3.1 Steps to the Generalization of a Program
403(2)
13.3.2 Levels of Generalization and Levels of Macro Language Understanding
405(1)
13.4 Utilizing Macro Libraries
406(3)
13.4.1 Establishing an Autocall Library
406(2)
13.4.2 Tracing Autocall Macro Locations
408(1)
13.4.3 Using Stored Compiled Macro Libraries
408(1)
13.4.4 Macro Library Search Order
409(1)
13.5 Metadata-Driven Programs
409(6)
13.5.1 Processing across Data Sets
409(1)
13.5.2 Controlling Data Validations
410(5)
13.6 Hard Coding---Just Don't Do It
415(2)
13.7 Writing Macro Functions
417(3)
13.8 Macro Information Sources
420(6)
13.8.1 Using Sashelp and Dictionary tables
420(2)
13.8.2 Retrieving System Options and Settings
422(2)
13.8.3 Accessing the Metadata of a SAS Data Set
424(2)
13.9 Macro Security and Protection
426(4)
13.9.1 Hiding Macro Code
426(1)
13.9.2 Executing a Specific Macro Version
427(3)
13.10 Using the Macro Language In Operator
430(3)
13.10.1 What Can Go Wrong
430(1)
13.10.2 Using the Minoperator Option
431(1)
13.10.3 Using the Mindelimiter= Option
432(1)
13.10.4 Compilation vs. Execution for these Options
432(1)
13.11 Making Use of the Mfile System Option
433(1)
13.12 A Bit on Macro Quoting
434(3)
Chapter 14 Operating System Interface and Environmental Control
437(36)
14.1 System Options
438(8)
14.1.1 Initialization Options
438(3)
14.1.2 Data Processing Options
441(3)
14.1.3 Saving SAS System Options
444(2)
14.2 Using an Autoexec Program
446(1)
14.3 Using the Configuration File
446(3)
14.3.1 Changing the Sasautos Location
447(2)
14.3.2 Controlling DM Initialization
449(1)
14.4 In the Display Manager
449(18)
14.4.1 Showing Column Names in ViewTable
450(1)
14.4.2 Using the DM Statement
451(1)
14.4.3 Enhanced Editor Options and Shortcuts
452(4)
14.4.4 Macro Abbreviations for the Enhanced Editor
456(5)
14.4.5 Adding Tools to the Application Tool Bar
461(2)
14.4.6 Adding Tools to Pull-Down and Pop-up Menus
463(3)
14.4.7 Adding Tools to the Keys List
466(1)
14.5 Using SAS to Write and Send E-mails
467(1)
14.6 Recovering Physical Location Information
468(5)
14.6.1 Using the Pathname Function
468(1)
14.6.2 Sashelp Views and Dictionary Tables
468(1)
14.6.3 Determining the Executing Program Name and Path
469(1)
14.6.4 Retrieving the UNC (Universal Naming Convention) Path
470(3)
Chapter 15 Miscellaneous Topics
473(16)
15.1 A Few Miscellaneous Tips
474(5)
15.1.1 Customizing Your Notes, Warnings, and Errors
474(1)
15.1.2 Enhancing Titles and Footnotes with the #BYVAL and #BYVAR Options
475(2)
15.1.3 Executing OS Commands
477(2)
15.2 Creating User-defined Functions Using Proc FCMP
479(6)
15.2.1 Building Your Own Functions
479(2)
15.2.2 Storing and Accessing Your Functions
481(1)
15.2.3 Interaction with the Macro Language
482(1)
15.2.4 Viewing Function Definitions
483(1)
15.2.5 Removing Functions
484(1)
15.3 Reading RTF as Data
485(4)
15.3.1 RTF Diagram Completion
486(1)
15.3.2 Template Preparation
486(1)
15.3.3 RTF as Data
487(2)
Appendix A Topical Index
489(2)
Appendix B Usage Index
491(16)
Global Statements and Options
492(3)
Statements, Global
492(1)
Macro Language
493(1)
Goptions, Graphics
493(1)
Options, System
493(2)
Options, Data Set
495(1)
Procedures: Steps, Statements, and Options
495(5)
Procedures
495(5)
Data Step: Statements and Options
500(4)
Statements, Data Step
500(1)
Format Modifiers
501(1)
Functions
501(3)
Hash Object
504(1)
Output Delivery System, ODS
504(2)
ODS Destinations and Tagsets
504(1)
ODS Attributes
505(1)
ODS Options
505(1)
ODS Statements
506(1)
SAS Display Manager
506(1)
Display Manager Commands
506(1)
References
507(14)
User Publications
507(11)
Generally Good Reading---Lots More to Learn
518(3)
SAS Documentation
518(1)
SAS Usage Notes
518(1)
Discussion Forums
518(1)
Newsletters, Corporate and Private Sites
519(1)
User Communities
519(1)
Publications
519(1)
Learning SAS
520(1)
Index 521