新年快乐!
Total 994 Pages:
- SAS.Publishing.SAS.Certification.pdf
Contents
About This Book and CDxi
What’sNew xi
Purpose xi
Audience xi
Prerequisites xi
HowtoUseThisBookandCD xii
SyntaxConventionsforThisBook xii
SASCertificationPracticeExam:AdvancedProgrammingforSAS9 xiii
SASAdvancedProgrammingExamforSAS9 xiii
AdditionalResources xiii
PART 1 SQLProcessingWithSAS1
Chapter1 PerformingQueriesUsingPROCSQL3
Overview 4
PROCSQLBasics 4
WritingaPROCSQLStep 6
SelectingColumns 8
SpecifyingtheTable 10
SpecifyingSubsettingCriteria 10
OrderingRows 10
QueryingMultipleTables 12
SummarizingGroupsofData 16
CreatingOutputTables 17
AdditionalFeatures 18
Summary 19
Quiz 21
Chapter2 PerformingAdvancedQueriesUsingPROCSQL25
Overview 27
ViewingSELECTStatementSyntax 28
DisplayingAllColumns 29
LimitingtheNumberofRowsDisplayed 30
EliminatingDuplicateRowsfromOutput 31
SubsettingRowsbyUsingConditionalOperators 32
SubsettingRowsbyUsingCalculatedValues 40
EnhancingQueryOutput 42
SummarizingandGroupingData 47
SubsettingDatabyUsingSubqueries 58
SubsettingDatabyUsingNoncorrelatedSubqueries 60
SubsettingDatabyUsingCorrelatedSubqueries 65
ValidatingQuerySyntax 67
AdditionalFeatures 69
Summary 70
Quiz 73
Chapter3 CombiningTablesHorizontallyUsingPROCSQL79
Overview 80
UnderstandingJoins 81
GeneratingaCartesianProduct 81
UsingInnerJoins 83
UsingOuterJoins 91
CreatinganInnerJoinwithOuterJoin-StyleSyntax 97
ComparingSQLJoinsandDATAStepMatch-Merges 97
UsingIn-LineViews 102
JoiningMultipleTablesandViews 106
Summary 113
Quiz 116
Chapter4 CombiningTablesVerticallyUsingPROCSQL125
Overview 126
UnderstandingSetOperations 127
UsingtheEXCEPTSetOperator 132
UsingtheINTERSECTSetOperator 138
UsingtheUNIONSetOperator 142
UsingtheOUTERUNIONSetOperator 146
ComparingOuterUnionsandOtherSASTechniques 149
Summary 151
Quiz 152
Chapter5 CreatingandManagingTablesUsingPROCSQL159
Overview 161
UnderstandingMethodsofCreatingTables 162
CreatinganEmptyTablebyDefiningColumns 163
DisplayingtheStructureofaTable 168
CreatinganEmptyTableThatIsLikeAnotherTable 169
CreatingaTablefromaQueryResult 172
InsertingRowsofDataintoaTable 174
CreatingaTableThatHasIntegrityConstraints 182
HandlingErrorsinRowInsertions 190
DisplayingIntegrityConstraintsforaTable 193
UpdatingValuesinExistingTableRows 194
DeletingRowsinaTable 202
AlteringColumnsinaTable 204
DroppingTables 210
Summary 211
Quiz 217
Chapter6 CreatingandManagingIndexesUsingPROCSQL221
Overview 222
UnderstandingIndexes 223
DecidingWhethertoCreateanIndex 225
CreatinganIndex 228
DisplayingIndexSpecifications 229
ManagingIndexUsage 231
DroppingIndexes 235
Summary 237
Quiz 240
Chapter7 CreatingandManagingViewsUsingPROCSQL243
Overview 244
CreatingandUsingPROCSQLViews 245
DisplayingtheDefinitionforaPROCSQLView 247
ManagingPROCSQLViews 248
UpdatingPROCSQLViews 251
DroppingPROCSQLViews 253
Summary 254
Quiz 257
Chapter8 ManagingProcessingUsingPROCSQL261
Overview 262
SpecifyingSQLOptions 263
ControllingExecution 264
ControllingOutput 265
TestingandEvaluatingPerformance 269
ResettingOptions 271
UsingDictionaryTables 273
AdditionalFeatures 277
Summary 279
Quiz 281
PART 2 SASMacroLanguage285
Chapter9 IntroducingMacroVariables287
Overview 288
BasicConcepts 289
UsingAutomaticMacroVariables 292
UsingUser-DefinedMacroVariables 293
ProcessingMacroVariables 295
DisplayingMacroVariableValuesintheSASLog 298
UsingMacroFunctionstoMaskSpecialCharacters 301
UsingMacroFunctionstoManipulateCharacterStrings 306
UsingSASFunctionswithMacroVariables 313
CombiningMacroVariableReferenceswithText 315
Summary 319
Quiz 322
Chapter10 ProcessingMacroVariablesatExecutionTime325
Overview 326
CreatingaMacroVariableDuringDATAStepExecution 327
CreatingMultipleMacroVariablesDuringDATAStepExecution 341
ReferencingMacroVariablesIndirectly 344
ObtainingMacroVariableValuesDuringDATAStepExecution 350
CreatingMacroVariablesDuringPROCSQLStepExecution 352
WorkingwithPROCSQLViews 359
UsingMacroVariablesinSCLPrograms 360
Summary 363
Quiz 366
Chapter11 CreatingandUsingMacroPrograms371
Overview 373
BasicConcepts 373
DevelopingandDebuggingMacros 379
UsingMacroParameters 382
UnderstandingSymbolTables 388
ProcessingStatementsConditionally 397
ProcessingStatementsIteratively 406
UsingArithmeticandLogicalExpressions 411
Summary 414
Quiz 418
Chapter12 StoringMacroPrograms423
Overview 424
UnderstandingSession-CompiledMacros 424
StoringMacroDefinitionsinExternalFiles 425
StoringMacroDefinitionsinCatalogSOURCEEntries 427
UsingtheAutocallFacility 431
UsingStoredCompiledMacros 435
Summary 442
Quiz 444
PART 3 AdvancedSASProgrammingTechniques449
Chapter13 CreatingSamplesandIndexes451
Overview 452
CreatingaSystematicSamplefromaKnownNumberofObservations 453
CreatingaSystematicSamplefromanUnknownNumberofObservations 455
CreatingaRandomSamplewithReplacement 456
CreatingaRandomSamplewithoutReplacement 459
UsingIndexes 460
CreatingIndexesintheDATAStep 462
ManagingIndexeswithPROCDATASETS 464
ManagingIndexeswithPROCSQL 466
DocumentingandMaintainingIndexes 467
Summary 473
Quiz 477
Chapter14 CombiningDataVertically481
Overview 482
UsingaFILENAMEStatement 483
UsinganINFILEStatement 486
AppendingSASDataSets 494
AdditionalFeatures 502
Summary 504
Quiz 507
Chapter15 CombiningDataHorizontally513
Overview 514
ReviewingTerminology 515
WorkingwithLookupValuesOutsideofSASDataSets 519
CombiningDatawiththeDATAStepMatch-Merge 521
UsingPROCSQLtoJoinData 525
ComparingDATAStepMatch-MergesandPROCSQLJoins 526
CombiningSummaryDataandDetailData 535
UsinganIndextoCombineData 541
UsingaTransactionalDataSet 546
Summary 549
Quiz 554
Chapter16 UsingLookupTablestoMatchData559
Overview 560
UsingMultidimensionalArrays 561
UsingStoredArrayValues 564
UsingPROCTRANSPOSE 570
MergingtheTransposedDataSet 574
UsingHashObjectsasLookupTables 579
Summary 592
Quiz 597
Chapter17 FormattingData603
Overview 604
CreatingCustomFormatsUsingtheVALUEStatement 605
CreatingCustomFormatsUsingthePICTUREStatement 608
ManagingCustomFormats 612
UsingCustomFormats 615
CreatingFormatsfromSASDataSets 618
CreatingSASDataSetsfromCustomFomats 622
Summary 626
Quiz 629
Chapter18 ModifyingSASDataSetsandTrackingChanges633
Overview 634
UsingtheMODIFYStatement 635
ModifyingAllObservationsinaSASDataSet 637
ModifyingObservationsUsingaTransactionDataSet 638
ModifyingObservationsLocatedbyanIndex 641
ControllingtheUpdateProcess 645
UnderstandingIntegrityConstraints 647
PlacingIntegrityConstraintsonaDataSet 649
DocumentingIntegrityConstraints 653
RemovingIntegrityConstraints 653
UnderstandingAuditTrails 654
InitiatingandReadingAuditTrails 655
ControllingDataintheAuditTrail 657
ControllingtheAuditTrail 661
UnderstandingGenerationDataSets 662
InitiatingGenerationDataSets 663
ProcessingGenerationDataSets 664
Summary 669
Quiz 673
PART 4 OptimizingSASPrograms677
Chapter19 IntroductiontoEfficientSASProgramming679
Overview 679
OverviewofComputingResources 680
AssessingEfficiencyNeedsatYourSite 681
UnderstandingEfficiencyTrade-offs 683
UsingSASSystemOptionstoTrackResources 683
UsingBenchmarkstoCompareTechniques 685
Summary 687
Chapter20 ControllingMemoryUsage689
Overview 689
ControllingPageSizeandtheNumberofBuffers 690
UsingtheSASFILEStatement 698
AdditionalFeatures 703
Summary 704
Quiz 705
Chapter21 ControllingDataStorageSpace707
Overview 708
ReducingDataStorageSpaceforCharacterVariables 709
ReducingDataStorageSpaceforNumericVariables 711
CompressingDataFiles 719
UsingSASDATAStepViewstoConserveDataStorageSpace 730
Summary 738
Quiz 739
Chapter22 UtilizingBestPractices741
Overview 742
ExecutingOnlyNecessaryStatements 743
EliminatingUnnecessaryPassesthroughtheData 758
ReadingandWritingOnlyEssentialData 763
StoringDatainSASDataSets 774
AvoidingUnnecessaryProcedureInvocation 776
Summary 781
Quiz 782
Chapter23 SelectingEfficientSortingStrategies785
Overview 786
AvoidingUnnecessarySorts 787
UsingaThreadedSort 800
CalculatingandAllocatingSortResources 802
HandlingLargeDataSets 805
RemovingDuplicateObservationsEfficiently 816
AdditionalFeatures 824
Summary 829
Quiz 831
Chapter24 QueryingDataEfficiently833
Overview 834
UsinganIndexforEfficientWHEREProcessing 836
IdentifyingAvailableIndexes 839
IdentifyingConditionsThatCanBeOptimized 842
EstimatingtheNumberofObservations 845
ComparingProbableResourceUsage 848
DecidingWhethertoCreateanIndex 850
ComparingProceduresThatProduceDetailReports 854
ComparingToolsforSummarizingData 856
Summary 874
Quiz 876
PART 5 QuizAnswerKeys879
Appendix1 QuizAnswerKeys881
Chapter1:PerformingQueriesUsingPROCSQL 881
Chapter2:PerformingAdvancedQueriesUsingPROCSQL 884
Chapter3:CombiningTablesHorizontallyUsingPROCSQL 889
Chapter4:CombiningTablesVerticallyUsingPROCSQL 895
Chapter5:CreatingandManagingTablesUsingPROCSQL 903
Chapter6:CreatingandManagingIndexesUsingPROCSQL 906
Chapter7:CreatingandManagingViewsUsingPROCSQL 910
Chapter8:ManagingProcessingUsingPROCSQL 913
Chapter9:IntroducingMacroVariables 916
Chapter10:ProcessingMacroVariablesatExecutionTime 919
Chapter11:CreatingandUsingMacroPrograms 923
Chapter12:StoringMacroPrograms 928
Chapter13:CreatingSamplesandIndexes 931
Chapter14:CombiningDataVertically 935
Chapter15:CombiningDataHorizontally 941
Chapter16:UsingLookupTablestoMatchData 946
Chapter17:FormattingData 952
Chapter18:ModifyingSASDataSetsandTrackingChanges 954
Chapter19:IntroductiontoEfficientSASProgramming 958
Chapter20:ControllingMemoryUsage 958
Chapter21:ControllingDataStorageSpace 959
Chapter22:UtilizingBestPractices 961
Chapter23:SelectingEfficientSortingStrategies 963
Chapter24:QueryingDataEfficiently 965
Index967