Principal Component Analysis Action Set

Provides actions for performing principal component analysis

randompca Action

Extracts principal components by using the random projection matrix sketching method.

CASL Syntax

pca.randompca <result=results> <status=rc> /
attributes={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
class={{
countMissing=TRUE | FALSE,
descending=TRUE | FALSE,
ignoreMissing=TRUE | FALSE,
levelizeRaw=TRUE | FALSE,
maxLev=integer,
order="FORMATTED" | "FREQ" | "FREQFORMATTED" | "FREQINTERNAL" | "INTERNAL",
param="BTH" | "EFFECT" | "GLM" | "ORDINAL" | "ORTHBTH" | "ORTHEFFECT" | "ORTHORDINAL" | "ORTHPOLY" | "ORTHREF" | "POLYNOMIAL" | "REFERENCE",
ref="FIRST" | "LAST" | double | "string",
split=TRUE | FALSE,
required parameter vars={"variable-name-1" <, "variable-name-2", ...>}
}, {...}},
classGlobalOptions={
countMissing=TRUE | FALSE,
descending=TRUE | FALSE,
ignoreMissing=TRUE | FALSE,
levelizeRaw=TRUE | FALSE,
maxLev=integer,
order="FORMATTED" | "FREQ" | "FREQFORMATTED" | "FREQINTERNAL" | "INTERNAL",
param="BTH" | "EFFECT" | "GLM" | "ORDINAL" | "ORTHBTH" | "ORTHEFFECT" | "ORTHORDINAL" | "ORTHPOLY" | "ORTHREF" | "POLYNOMIAL" | "REFERENCE",
ref="FIRST" | "LAST" | double | "string",
split=TRUE | FALSE
},
classLevelsPrint=TRUE | FALSE,
code={
casOut={
caslib="string"
compress=TRUE | FALSE
indexVars={"variable-name-1" <, "variable-name-2", ...>}
label="string"
lifetime=64-bit-integer
maxMemSize=64-bit-integer
memoryFormat="DVR" | "INHERIT" | "STANDARD"
name="table-name"
onDemand=TRUE | FALSE
promote=TRUE | FALSE
replace=TRUE | FALSE
replication=integer
tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE"
threadBlockSize=64-bit-integer
timeStamp="string"
where={"string-1" <, "string-2", ...>}
},
comment=TRUE | FALSE,
fmtWdth=integer,
indentSize=integer,
intoCutPt=double,
iProb=TRUE | FALSE,
labelId=integer,
lineSize=integer,
noTrim=TRUE | FALSE,
pCatAll=TRUE | FALSE,
tabForm=TRUE | FALSE
},
display={
caseSensitive=TRUE | FALSE,
exclude=TRUE | FALSE,
excludeAll=TRUE | FALSE,
keyIsPath=TRUE | FALSE,
names={"string-1" <, "string-2", ...>},
pathType="LABEL" | "NAME",
traceNames=TRUE | FALSE
},
gpu={
enable=TRUE | FALSE
},
groupbyLimit=64-bit-integer,
inputs={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
model={
depVars={{
name="variable-name"
}, {...}},
effects={{
interaction="BAR" | "CROSS" | "NONE",
maxInteract=integer,
nest={"string-1" <, "string-2", ...>},
required parameter vars={"string-1" <, "string-2", ...>}
}, {...}}
},
n=integer,
nIter=integer,
noCenter=TRUE | FALSE,
nominals={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
noScale=TRUE | FALSE,
output={
required parameter casOut={
caslib="string"
compress=TRUE | FALSE
indexVars={"variable-name-1" <, "variable-name-2", ...>}
label="string"
lifetime=64-bit-integer
maxMemSize=64-bit-integer
memoryFormat="DVR" | "INHERIT" | "STANDARD"
name="table-name"
promote=TRUE | FALSE
replace=TRUE | FALSE
replication=integer
tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE"
threadBlockSize=64-bit-integer
timeStamp="string"
where={"string-1" <, "string-2", ...>}
},
copyVars={"variable-name-1" <, "variable-name-2", ...>},
h="string",
residual="string",
score="string",
std="string",
stdsse="string",
t2="string"
},
outputTables={
groupByVarsRaw=TRUE | FALSE,
includeAll=TRUE | FALSE,
names={"string-1" <, "string-2", ...>} | {key-1={casouttable-1} <, key-2={casouttable-2}, ...>},
repeated=TRUE | FALSE,
replace=TRUE | FALSE
},
prefix="string",
seed=integer,
store={
caslib="string",
compress=TRUE | FALSE,
indexVars={"variable-name-1" <, "variable-name-2", ...>},
label="string",
lifetime=64-bit-integer,
maxMemSize=64-bit-integer,
memoryFormat="DVR" | "INHERIT" | "STANDARD",
name="table-name",
promote=TRUE | FALSE,
replace=TRUE | FALSE,
replication=integer,
tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE",
threadBlockSize=64-bit-integer,
timeStamp="string",
where={"string-1" <, "string-2", ...>}
},
required parameter table={
caslib="string",
computedOnDemand=TRUE | FALSE,
computedVars={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
computedVarsProgram="string",
dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>},
groupBy={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
groupByMode="NOSORT" | "REDISTRIBUTE",
importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters},
required parameter name="table-name",
orderBy={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
singlePass=TRUE | FALSE,
vars={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
where="where-expression",
whereTable={
casLib="string"
dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}
importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}
required parameter name="table-name"
vars={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}}
where="where-expression"
}
},
varDef="DF" | "N" | "WDF" | "WEIGHT" | "WGT"
;
indicates a required parameter

Summary: Input and Output Tables

If a row includes a subparameter, you can specify the name, caslib, and so on in the subparameter. Otherwise, you can specify the name, caslib, and so on in the parameter.

Parameters for Reading Input Tables

Parameter

Subparameter

Description

required parametertable

specifies the settings for an input table.

Parameters for Creating Output Tables

Parameter

Subparameter

Description

 code

casOut

writes SAS DATA step code for computing predicted values of the fitted model.

 output

required parametercasOut

specifies the output table to be created to contain observationwise statistics. If you do not specify any statistic, then only the principal component scores are included.

 outputTables

names

lists the names of results tables to save as CAS tables on the server.

 store

specifies the output table to be created to save model fit information that you can use for scoring.

Parameter Descriptions

attributes={{casinvardesc-1} <, {casinvardesc-2}, ...>}

changes the attributes of variables used in this action. Currently, attributes specified on the inputs and nominals parameter are ignored.

For more information about specifying the attributes parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

Aliases attribute
attr

class={{classStatement-1} <, {classStatement-2}, ...>}

specifies the classification variables to be used as explanatory variables in the analysis.

For more information about specifying the class parameter, see the common classStatement parameter (Appendix A: Common Parameters).

Alias classvars

classGlobalOptions={classopts}

specifies options that apply to all classification variables.

For more information about specifying the classGlobalOptions parameter, see the common classopts parameter (Appendix A: Common Parameters).

Alias classGlobalOpts

classLevelsPrint=TRUE | FALSE

when set to False, suppresses the display of class levels.

Default TRUE

code={aircodegen}

writes SAS DATA step code for computing predicted values of the fitted model.

For more information about specifying the code parameter, see the common aircodegen parameter (Appendix A: Common Parameters).

display={displayTables}

specifies a list of results tables to send to the client for display.

For more information about specifying the display parameter, see the common displayTables parameter (Appendix A: Common Parameters).

gpu={pca_gpu}

specifies the settings for graphics processing units (GPUs). If you specify the groupBy subparameter in the table parameter, the gpu parameter is ignored. If no GPU is available, the CPU is used to perform model computation.

enable=TRUE | FALSE

when set to True, enables the action to use GPUs to perform model computation on GPU-equipped machines (one GPU is used on each machine).

Default FALSE

groupbyLimit=64-bit-integer

suppresses the analysis if the number of BY groups exceeds the specified value.

Minimum value 1

inputs={{casinvardesc-1} <, {casinvardesc-2}, ...>}

specifies the variables to be analyzed. For the NIPALS, ITERGS, and EIG methods, you can analyze only numeric variables. If you omit the parameter, all numeric variables that are not specified in other parameters are analyzed. You must specify either INPUTS or MODEL for the RANDOMPCA method, but you can use both numeric and categorical variables.

For more information about specifying the inputs parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

Aliases input
vars
var

model={modelStatement}

specifies the variables to use in the principal component analysis for the RANDOMPCA method.

The modelStatement value can be one or more of the following:

depVars={{responsevar-1} <, {responsevar-2}, ...>}

specifies one or more variables to use as response variables in the model. Not all models support more than one response variable.

Aliases depVar
target
name="variable-name"

names the response variable.

effects={{effect-1} <, {effect-2}, ...>}

specifies a list of effects that define the model. Each term in this list is made up of variables specified in the vars parameter and their interaction (which can be NONE, CROSS, or BAR). When the interaction is BAR, it can be limited by the maxInteract parameter.

The effect value can be one or more of the following:

interaction="BAR" | "CROSS" | "NONE"

specifies the type of interaction for the variables.

Alias interact
Default NONE
maxInteract=integer

eliminates interaction effects whose order is higher than the specified integer value when used in conjunction with the BAR interaction.

nest={"string-1" <, "string-2", ...>}

specifies the variables to be nested within the term that is defined by the vars parameter. For terms with a BAR or CROSS interaction, the nest corresponds to the last variable in the vars parameter. For terms with no interaction, the nest is distributed across all variables that are listed in the vars parameter.

* vars={"string-1" <, "string-2", ...>}

specifies the variables to use in defining a term of the effect. You must specify at least one variable.

n=integer

specifies the number of principal components to compute for the RANDOMPCA method. If the value is 0, one principal component is computed.

Default 1
Minimum value 0

nClassLevelsPrint=integer

limits the display of class levels. The value 0 suppresses all levels.

Minimum value 0

nIter=integer

specifies the number of iterations for the RANDOMPCA method.

Default 1
Minimum value 0

noCenter=TRUE | FALSE

when set to True, suppresses centering of the numeric variables to be analyzed.

Default FALSE

nominals={{casinvardesc-1} <, {casinvardesc-2}, ...>}

specifies nominal variables to use for analysis.

For more information about specifying the nominals parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

Alias nominal

noScale=TRUE | FALSE

when set to True, suppresses scaling of the numeric variables to be analyzed.

Default FALSE

output={iterOutput}

specifies the output table to be created to contain observationwise statistics. If you do not specify any statistic, then only the principal component scores are included.

The iterOutput value can be one or more of the following:

* casOut={casouttable}

specifies the output table.

For more information about specifying the casOut parameter, see the common casouttable (Form 1) parameter (Appendix A: Common Parameters).

copyVars={"variable-name-1" <, "variable-name-2", ...>}

copies one or more variables from the input table to the output table.

Alias copyVar
h="string"

specifies the approximate leverage. If the value is an empty string, the prefix H is used to name the output variables.

residual="string"

specifies residuals for each analysis variable. If the value is an empty string, the prefix R is used to name the output variables.

Aliases r
resid
score="string"

specifies principal component scores for each principal component. If the value is an empty string, the prefix Score is used to name the output variables.

std="string"

specifies standardized (centered and scaled) analysis variable values for each analysis variable. If the value is an empty string, the prefix Std is used to name the output variables.

stdsse="string"

specifies the sum of squares of residuals for standardized analysis variables. If the value is an empty string, the prefix StdSSE is used to name the output variables.

t2="string"

specifies a scaled sum of squares of score values. If the value is an empty string, the prefix TSquare is used to name the output variables.

Alias tSquare

outputTables={outputTables}

lists the names of results tables to save as CAS tables on the server.

For more information about specifying the outputTables parameter, see the common outputTables parameter (Appendix A: Common Parameters).

Alias displayOut

prefix="string"

specifies a prefix for naming the principal components.

Default "Prin"

seed=integer

specifies the seed to use for generating the random projection matrix for the RANDOMPCA method.

Default 0

store={casouttable}

specifies the output table to be created to save model fit information that you can use for scoring.

For more information about specifying the store parameter, see the common casouttable (Form 1) parameter (Appendix A: Common Parameters).

Alias saveState

* table={castable}

specifies the settings for an input table.

For more information about specifying the table parameter, see the common castable (Form 1) parameter (Appendix A: Common Parameters).

varDef="DF" | "N" | "WDF" | "WEIGHT" | "WGT"

specifies the divisor to use in calculating variances and standard deviations.

Default DF

randompca Action

Extracts principal components by using the random projection matrix sketching method.

Lua Syntax

results, info = s:pca_randompca{
attributes={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
class={{
countMissing=true | false,
descending=true | false,
ignoreMissing=true | false,
levelizeRaw=true | false,
maxLev=integer,
order="FORMATTED" | "FREQ" | "FREQFORMATTED" | "FREQINTERNAL" | "INTERNAL",
param="BTH" | "EFFECT" | "GLM" | "ORDINAL" | "ORTHBTH" | "ORTHEFFECT" | "ORTHORDINAL" | "ORTHPOLY" | "ORTHREF" | "POLYNOMIAL" | "REFERENCE",
ref="FIRST" | "LAST" | double | "string",
split=true | false,
required parameter vars={"variable-name-1" <, "variable-name-2", ...>}
}, {...}},
classGlobalOptions={
countMissing=true | false,
descending=true | false,
ignoreMissing=true | false,
levelizeRaw=true | false,
maxLev=integer,
order="FORMATTED" | "FREQ" | "FREQFORMATTED" | "FREQINTERNAL" | "INTERNAL",
param="BTH" | "EFFECT" | "GLM" | "ORDINAL" | "ORTHBTH" | "ORTHEFFECT" | "ORTHORDINAL" | "ORTHPOLY" | "ORTHREF" | "POLYNOMIAL" | "REFERENCE",
ref="FIRST" | "LAST" | double | "string",
split=true | false
},
classLevelsPrint=true | false,
code={
casOut={
caslib="string"
compress=true | false
indexVars={"variable-name-1" <, "variable-name-2", ...>}
label="string"
lifetime=64-bit-integer
maxMemSize=64-bit-integer
memoryFormat="DVR" | "INHERIT" | "STANDARD"
name="table-name"
onDemand=true | false
promote=true | false
replace=true | false
replication=integer
tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE"
threadBlockSize=64-bit-integer
timeStamp="string"
where={"string-1" <, "string-2", ...>}
},
comment=true | false,
fmtWdth=integer,
indentSize=integer,
intoCutPt=double,
iProb=true | false,
labelId=integer,
lineSize=integer,
noTrim=true | false,
pCatAll=true | false,
tabForm=true | false
},
display={
caseSensitive=true | false,
exclude=true | false,
excludeAll=true | false,
keyIsPath=true | false,
names={"string-1" <, "string-2", ...>},
pathType="LABEL" | "NAME",
traceNames=true | false
},
gpu={
enable=true | false
},
groupbyLimit=64-bit-integer,
inputs={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
model={
depVars={{
name="variable-name"
}, {...}},
effects={{
interaction="BAR" | "CROSS" | "NONE",
maxInteract=integer,
nest={"string-1" <, "string-2", ...>},
required parameter vars={"string-1" <, "string-2", ...>}
}, {...}}
},
n=integer,
nIter=integer,
noCenter=true | false,
nominals={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
noScale=true | false,
output={
required parameter casOut={
caslib="string"
compress=true | false
indexVars={"variable-name-1" <, "variable-name-2", ...>}
label="string"
lifetime=64-bit-integer
maxMemSize=64-bit-integer
memoryFormat="DVR" | "INHERIT" | "STANDARD"
name="table-name"
promote=true | false
replace=true | false
replication=integer
tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE"
threadBlockSize=64-bit-integer
timeStamp="string"
where={"string-1" <, "string-2", ...>}
},
copyVars={"variable-name-1" <, "variable-name-2", ...>},
h="string",
residual="string",
score="string",
std="string",
stdsse="string",
t2="string"
},
outputTables={
groupByVarsRaw=true | false,
includeAll=true | false,
names={"string-1" <, "string-2", ...>} | {key-1={casouttable-1} <, key-2={casouttable-2}, ...>},
repeated=true | false,
replace=true | false
},
prefix="string",
seed=integer,
store={
caslib="string",
compress=true | false,
indexVars={"variable-name-1" <, "variable-name-2", ...>},
label="string",
lifetime=64-bit-integer,
maxMemSize=64-bit-integer,
memoryFormat="DVR" | "INHERIT" | "STANDARD",
name="table-name",
promote=true | false,
replace=true | false,
replication=integer,
tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE",
threadBlockSize=64-bit-integer,
timeStamp="string",
where={"string-1" <, "string-2", ...>}
},
required parameter table={
caslib="string",
computedOnDemand=true | false,
computedVars={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
computedVarsProgram="string",
dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>},
groupBy={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
groupByMode="NOSORT" | "REDISTRIBUTE",
importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters},
required parameter name="table-name",
orderBy={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
singlePass=true | false,
vars={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
where="where-expression",
whereTable={
casLib="string"
dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}
importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}
required parameter name="table-name"
vars={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}}
where="where-expression"
}
},
varDef="DF" | "N" | "WDF" | "WEIGHT" | "WGT"
}
indicates a required parameter

Summary: Input and Output Tables

If a row includes a subparameter, you can specify the name, caslib, and so on in the subparameter. Otherwise, you can specify the name, caslib, and so on in the parameter.

Parameters for Reading Input Tables

Parameter

Subparameter

Description

required parametertable

specifies the settings for an input table.

Parameters for Creating Output Tables

Parameter

Subparameter

Description

 code

casOut

writes SAS DATA step code for computing predicted values of the fitted model.

 output

required parametercasOut

specifies the output table to be created to contain observationwise statistics. If you do not specify any statistic, then only the principal component scores are included.

 outputTables

names

lists the names of results tables to save as CAS tables on the server.

 store

specifies the output table to be created to save model fit information that you can use for scoring.

Parameter Descriptions

attributes={{casinvardesc-1} <, {casinvardesc-2}, ...>}

changes the attributes of variables used in this action. Currently, attributes specified on the inputs and nominals parameter are ignored.

For more information about specifying the attributes parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

Aliases attribute
attr

class={{classStatement-1} <, {classStatement-2}, ...>}

specifies the classification variables to be used as explanatory variables in the analysis.

For more information about specifying the class parameter, see the common classStatement parameter (Appendix A: Common Parameters).

Alias classvars

classGlobalOptions={classopts}

specifies options that apply to all classification variables.

For more information about specifying the classGlobalOptions parameter, see the common classopts parameter (Appendix A: Common Parameters).

Alias classGlobalOpts

classLevelsPrint=true | false

when set to False, suppresses the display of class levels.

Default true

code={aircodegen}

writes SAS DATA step code for computing predicted values of the fitted model.

For more information about specifying the code parameter, see the common aircodegen parameter (Appendix A: Common Parameters).

display={displayTables}

specifies a list of results tables to send to the client for display.

For more information about specifying the display parameter, see the common displayTables parameter (Appendix A: Common Parameters).

gpu={pca_gpu}

specifies the settings for graphics processing units (GPUs). If you specify the groupBy subparameter in the table parameter, the gpu parameter is ignored. If no GPU is available, the CPU is used to perform model computation.

enable=true | false

when set to True, enables the action to use GPUs to perform model computation on GPU-equipped machines (one GPU is used on each machine).

Default false

groupbyLimit=64-bit-integer

suppresses the analysis if the number of BY groups exceeds the specified value.

Minimum value 1

inputs={{casinvardesc-1} <, {casinvardesc-2}, ...>}

specifies the variables to be analyzed. For the NIPALS, ITERGS, and EIG methods, you can analyze only numeric variables. If you omit the parameter, all numeric variables that are not specified in other parameters are analyzed. You must specify either INPUTS or MODEL for the RANDOMPCA method, but you can use both numeric and categorical variables.

For more information about specifying the inputs parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

Aliases input
vars
var

model={modelStatement}

specifies the variables to use in the principal component analysis for the RANDOMPCA method.

The modelStatement value can be one or more of the following:

depVars={{responsevar-1} <, {responsevar-2}, ...>}

specifies one or more variables to use as response variables in the model. Not all models support more than one response variable.

Aliases depVar
target
name="variable-name"

names the response variable.

effects={{effect-1} <, {effect-2}, ...>}

specifies a list of effects that define the model. Each term in this list is made up of variables specified in the vars parameter and their interaction (which can be NONE, CROSS, or BAR). When the interaction is BAR, it can be limited by the maxInteract parameter.

The effect value can be one or more of the following:

interaction="BAR" | "CROSS" | "NONE"

specifies the type of interaction for the variables.

Alias interact
Default NONE
maxInteract=integer

eliminates interaction effects whose order is higher than the specified integer value when used in conjunction with the BAR interaction.

nest={"string-1" <, "string-2", ...>}

specifies the variables to be nested within the term that is defined by the vars parameter. For terms with a BAR or CROSS interaction, the nest corresponds to the last variable in the vars parameter. For terms with no interaction, the nest is distributed across all variables that are listed in the vars parameter.

* vars={"string-1" <, "string-2", ...>}

specifies the variables to use in defining a term of the effect. You must specify at least one variable.

n=integer

specifies the number of principal components to compute for the RANDOMPCA method. If the value is 0, one principal component is computed.

Default 1
Minimum value 0

nClassLevelsPrint=integer

limits the display of class levels. The value 0 suppresses all levels.

Minimum value 0

nIter=integer

specifies the number of iterations for the RANDOMPCA method.

Default 1
Minimum value 0

noCenter=true | false

when set to True, suppresses centering of the numeric variables to be analyzed.

Default false

nominals={{casinvardesc-1} <, {casinvardesc-2}, ...>}

specifies nominal variables to use for analysis.

For more information about specifying the nominals parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

Alias nominal

noScale=true | false

when set to True, suppresses scaling of the numeric variables to be analyzed.

Default false

output={iterOutput}

specifies the output table to be created to contain observationwise statistics. If you do not specify any statistic, then only the principal component scores are included.

The iterOutput value can be one or more of the following:

* casOut={casouttable}

specifies the output table.

For more information about specifying the casOut parameter, see the common casouttable (Form 1) parameter (Appendix A: Common Parameters).

copyVars={"variable-name-1" <, "variable-name-2", ...>}

copies one or more variables from the input table to the output table.

Alias copyVar
h="string"

specifies the approximate leverage. If the value is an empty string, the prefix H is used to name the output variables.

residual="string"

specifies residuals for each analysis variable. If the value is an empty string, the prefix R is used to name the output variables.

Aliases r
resid
score="string"

specifies principal component scores for each principal component. If the value is an empty string, the prefix Score is used to name the output variables.

std="string"

specifies standardized (centered and scaled) analysis variable values for each analysis variable. If the value is an empty string, the prefix Std is used to name the output variables.

stdsse="string"

specifies the sum of squares of residuals for standardized analysis variables. If the value is an empty string, the prefix StdSSE is used to name the output variables.

t2="string"

specifies a scaled sum of squares of score values. If the value is an empty string, the prefix TSquare is used to name the output variables.

Alias tSquare

outputTables={outputTables}

lists the names of results tables to save as CAS tables on the server.

For more information about specifying the outputTables parameter, see the common outputTables parameter (Appendix A: Common Parameters).

Alias displayOut

prefix="string"

specifies a prefix for naming the principal components.

Default "Prin"

seed=integer

specifies the seed to use for generating the random projection matrix for the RANDOMPCA method.

Default 0

store={casouttable}

specifies the output table to be created to save model fit information that you can use for scoring.

For more information about specifying the store parameter, see the common casouttable (Form 1) parameter (Appendix A: Common Parameters).

Alias saveState

* table={castable}

specifies the settings for an input table.

For more information about specifying the table parameter, see the common castable (Form 1) parameter (Appendix A: Common Parameters).

varDef="DF" | "N" | "WDF" | "WEIGHT" | "WGT"

specifies the divisor to use in calculating variances and standard deviations.

Default DF

randompca Action

Extracts principal components by using the random projection matrix sketching method.

Python Syntax

results=s.pca.randompca(
attributes=[{
"format":"string",
"formattedLength":integer,
"label":"string",
required parameter "name":"variable-name",
"nfd":integer,
"nfl":integer
}<, {...}>],
class_=[{
"countMissing":True | False,
"descending":True | False,
"ignoreMissing":True | False,
"levelizeRaw":True | False,
"maxLev":integer,
"order":"FORMATTED" | "FREQ" | "FREQFORMATTED" | "FREQINTERNAL" | "INTERNAL",
"param":"BTH" | "EFFECT" | "GLM" | "ORDINAL" | "ORTHBTH" | "ORTHEFFECT" | "ORTHORDINAL" | "ORTHPOLY" | "ORTHREF" | "POLYNOMIAL" | "REFERENCE",
"ref":"FIRST" | "LAST" | double | "string",
"split":True | False,
required parameter "vars":["variable-name-1" <, "variable-name-2", ...>]
}<, {...}>],
classGlobalOptions={
"countMissing":True | False,
"descending":True | False,
"ignoreMissing":True | False,
"levelizeRaw":True | False,
"maxLev":integer,
"order":"FORMATTED" | "FREQ" | "FREQFORMATTED" | "FREQINTERNAL" | "INTERNAL",
"param":"BTH" | "EFFECT" | "GLM" | "ORDINAL" | "ORTHBTH" | "ORTHEFFECT" | "ORTHORDINAL" | "ORTHPOLY" | "ORTHREF" | "POLYNOMIAL" | "REFERENCE",
"ref":"FIRST" | "LAST" | double | "string",
"split":True | False
},
classLevelsPrint=True | False,
code={
"casOut":{
"caslib":"string"
"compress":True | False
"indexVars":["variable-name-1" <, "variable-name-2", ...>]
"label":"string"
"lifetime":64-bit-integer
"maxMemSize":64-bit-integer
"memoryFormat":"DVR" | "INHERIT" | "STANDARD"
"name":"table-name"
"onDemand":True | False
"promote":True | False
"replace":True | False
"replication":integer
"tableRedistUpPolicy":"DEFER" | "NOREDIST" | "REBALANCE"
"threadBlockSize":64-bit-integer
"timeStamp":"string"
"where":["string-1" <, "string-2", ...>]
},
"comment":True | False,
"fmtWdth":integer,
"indentSize":integer,
"intoCutPt":double,
"iProb":True | False,
"labelId":integer,
"lineSize":integer,
"noTrim":True | False,
"pCatAll":True | False,
"tabForm":True | False
},
display={
"caseSensitive":True | False,
"exclude":True | False,
"excludeAll":True | False,
"keyIsPath":True | False,
"names":["string-1" <, "string-2", ...>],
"pathType":"LABEL" | "NAME",
"traceNames":True | False
},
gpu={
"enable":True | False
},
groupbyLimit=64-bit-integer,
inputs=[{
"format":"string",
"formattedLength":integer,
"label":"string",
required parameter "name":"variable-name",
"nfd":integer,
"nfl":integer
}<, {...}>],
model={
"depVars":[{
"name":"variable-name"
}<, {...}>],
"effects":[{
"interaction":"BAR" | "CROSS" | "NONE",
"maxInteract":integer,
"nest":["string-1" <, "string-2", ...>],
required parameter "vars":["string-1" <, "string-2", ...>]
}<, {...}>]
},
n=integer,
nIter=integer,
noCenter=True | False,
nominals=[{
"format":"string",
"formattedLength":integer,
"label":"string",
required parameter "name":"variable-name",
"nfd":integer,
"nfl":integer
}<, {...}>],
noScale=True | False,
output={
required parameter "casOut":{
"caslib":"string"
"compress":True | False
"indexVars":["variable-name-1" <, "variable-name-2", ...>]
"label":"string"
"lifetime":64-bit-integer
"maxMemSize":64-bit-integer
"memoryFormat":"DVR" | "INHERIT" | "STANDARD"
"name":"table-name"
"promote":True | False
"replace":True | False
"replication":integer
"tableRedistUpPolicy":"DEFER" | "NOREDIST" | "REBALANCE"
"threadBlockSize":64-bit-integer
"timeStamp":"string"
"where":["string-1" <, "string-2", ...>]
},
"copyVars":["variable-name-1" <, "variable-name-2", ...>],
"h":"string",
"residual":"string",
"score":"string",
"std":"string",
"stdsse":"string",
"t2":"string"
},
outputTables={
"groupByVarsRaw":True | False,
"includeAll":True | False,
"names":["string-1" <, "string-2", ...>] | {"key-1":{casouttable-1} <, "key-2":{casouttable-2}, ...>},
"repeated":True | False,
"replace":True | False
},
prefix="string",
seed=integer,
store={
"caslib":"string",
"compress":True | False,
"indexVars":["variable-name-1" <, "variable-name-2", ...>],
"label":"string",
"lifetime":64-bit-integer,
"maxMemSize":64-bit-integer,
"memoryFormat":"DVR" | "INHERIT" | "STANDARD",
"name":"table-name",
"promote":True | False,
"replace":True | False,
"replication":integer,
"tableRedistUpPolicy":"DEFER" | "NOREDIST" | "REBALANCE",
"threadBlockSize":64-bit-integer,
"timeStamp":"string",
"where":["string-1" <, "string-2", ...>]
},
required parameter table={
"caslib":"string",
"computedOnDemand":True | False,
"computedVars":[{
"format":"string",
"formattedLength":integer,
"label":"string",
required parameter "name":"variable-name",
"nfd":integer,
"nfl":integer
}<, {...}>],
"computedVarsProgram":"string",
"dataSourceOptions":{"key-1":{any-list-or-data-type-1} <, "key-2":{any-list-or-data-type-2}, ...>},
"groupBy":[{
"format":"string",
"formattedLength":integer,
"label":"string",
required parameter "name":"variable-name",
"nfd":integer,
"nfl":integer
}<, {...}>],
"groupByMode":"NOSORT" | "REDISTRIBUTE",
"importOptions":{"fileType":"ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters},
required parameter "name":"table-name",
"orderBy":[{
"format":"string",
"formattedLength":integer,
"label":"string",
required parameter "name":"variable-name",
"nfd":integer,
"nfl":integer
}<, {...}>],
"singlePass":True | False,
"vars":[{
"format":"string",
"formattedLength":integer,
"label":"string",
required parameter "name":"variable-name",
"nfd":integer,
"nfl":integer
}<, {...}>],
"where":"where-expression",
"whereTable":{
"casLib":"string"
"dataSourceOptions":{adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}
"importOptions":{"fileType":"ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}
required parameter "name":"table-name"
"vars":[{
"format":"string",
"formattedLength":integer,
"label":"string",
required parameter "name":"variable-name",
"nfd":integer,
"nfl":integer
}<, {...}>]
"where":"where-expression"
}
},
varDef="DF" | "N" | "WDF" | "WEIGHT" | "WGT"
)
indicates a required parameter

Summary: Input and Output Tables

If a row includes a subparameter, you can specify the name, caslib, and so on in the subparameter. Otherwise, you can specify the name, caslib, and so on in the parameter.

Parameters for Reading Input Tables

Parameter

Subparameter

Description

required parametertable

specifies the settings for an input table.

Parameters for Creating Output Tables

Parameter

Subparameter

Description

 code

casOut

writes SAS DATA step code for computing predicted values of the fitted model.

 output

required parametercasOut

specifies the output table to be created to contain observationwise statistics. If you do not specify any statistic, then only the principal component scores are included.

 outputTables

names

lists the names of results tables to save as CAS tables on the server.

 store

specifies the output table to be created to save model fit information that you can use for scoring.

Parameter Descriptions

attributes=[{casinvardesc-1} <, {casinvardesc-2}, ...>]

changes the attributes of variables used in this action. Currently, attributes specified on the inputs and nominals parameter are ignored.

For more information about specifying the attributes parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

Aliases attribute
attr

class_=[{classStatement-1} <, {classStatement-2}, ...>]

specifies the classification variables to be used as explanatory variables in the analysis.

For more information about specifying the class parameter, see the common classStatement parameter (Appendix A: Common Parameters).

Alias classvars

classGlobalOptions={classopts}

specifies options that apply to all classification variables.

For more information about specifying the classGlobalOptions parameter, see the common classopts parameter (Appendix A: Common Parameters).

Alias classGlobalOpts

classLevelsPrint=True | False

when set to False, suppresses the display of class levels.

Default True

code={aircodegen}

writes SAS DATA step code for computing predicted values of the fitted model.

For more information about specifying the code parameter, see the common aircodegen parameter (Appendix A: Common Parameters).

display={displayTables}

specifies a list of results tables to send to the client for display.

For more information about specifying the display parameter, see the common displayTables parameter (Appendix A: Common Parameters).

gpu={pca_gpu}

specifies the settings for graphics processing units (GPUs). If you specify the groupBy subparameter in the table parameter, the gpu parameter is ignored. If no GPU is available, the CPU is used to perform model computation.

"enable":True | False

when set to True, enables the action to use GPUs to perform model computation on GPU-equipped machines (one GPU is used on each machine).

Default False

groupbyLimit=64-bit-integer

suppresses the analysis if the number of BY groups exceeds the specified value.

Minimum value 1

inputs=[{casinvardesc-1} <, {casinvardesc-2}, ...>]

specifies the variables to be analyzed. For the NIPALS, ITERGS, and EIG methods, you can analyze only numeric variables. If you omit the parameter, all numeric variables that are not specified in other parameters are analyzed. You must specify either INPUTS or MODEL for the RANDOMPCA method, but you can use both numeric and categorical variables.

For more information about specifying the inputs parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

Aliases input
vars
var

model={modelStatement}

specifies the variables to use in the principal component analysis for the RANDOMPCA method.

The modelStatement value can be one or more of the following:

"depVars":[{responsevar-1} <, {responsevar-2}, ...>]

specifies one or more variables to use as response variables in the model. Not all models support more than one response variable.

Aliases depVar
target
"name":"variable-name"

names the response variable.

"effects":[{effect-1} <, {effect-2}, ...>]

specifies a list of effects that define the model. Each term in this list is made up of variables specified in the vars parameter and their interaction (which can be NONE, CROSS, or BAR). When the interaction is BAR, it can be limited by the maxInteract parameter.

The effect value can be one or more of the following:

"interaction":"BAR" | "CROSS" | "NONE"

specifies the type of interaction for the variables.

Alias interact
Default NONE
"maxInteract":integer

eliminates interaction effects whose order is higher than the specified integer value when used in conjunction with the BAR interaction.

"nest":["string-1" <, "string-2", ...>]

specifies the variables to be nested within the term that is defined by the vars parameter. For terms with a BAR or CROSS interaction, the nest corresponds to the last variable in the vars parameter. For terms with no interaction, the nest is distributed across all variables that are listed in the vars parameter.

* "vars":["string-1" <, "string-2", ...>]

specifies the variables to use in defining a term of the effect. You must specify at least one variable.

n=integer

specifies the number of principal components to compute for the RANDOMPCA method. If the value is 0, one principal component is computed.

Default 1
Minimum value 0

nClassLevelsPrint=integer

limits the display of class levels. The value 0 suppresses all levels.

Minimum value 0

nIter=integer

specifies the number of iterations for the RANDOMPCA method.

Default 1
Minimum value 0

noCenter=True | False

when set to True, suppresses centering of the numeric variables to be analyzed.

Default False

nominals=[{casinvardesc-1} <, {casinvardesc-2}, ...>]

specifies nominal variables to use for analysis.

For more information about specifying the nominals parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

Alias nominal

noScale=True | False

when set to True, suppresses scaling of the numeric variables to be analyzed.

Default False

output={iterOutput}

specifies the output table to be created to contain observationwise statistics. If you do not specify any statistic, then only the principal component scores are included.

The iterOutput value can be one or more of the following:

* "casOut":{casouttable}

specifies the output table.

For more information about specifying the casOut parameter, see the common casouttable (Form 1) parameter (Appendix A: Common Parameters).

"copyVars":["variable-name-1" <, "variable-name-2", ...>]

copies one or more variables from the input table to the output table.

Alias copyVar
"h":"string"

specifies the approximate leverage. If the value is an empty string, the prefix H is used to name the output variables.

"residual":"string"

specifies residuals for each analysis variable. If the value is an empty string, the prefix R is used to name the output variables.

Aliases r
resid
"score":"string"

specifies principal component scores for each principal component. If the value is an empty string, the prefix Score is used to name the output variables.

"std":"string"

specifies standardized (centered and scaled) analysis variable values for each analysis variable. If the value is an empty string, the prefix Std is used to name the output variables.

"stdsse":"string"

specifies the sum of squares of residuals for standardized analysis variables. If the value is an empty string, the prefix StdSSE is used to name the output variables.

"t2":"string"

specifies a scaled sum of squares of score values. If the value is an empty string, the prefix TSquare is used to name the output variables.

Alias tSquare

outputTables={outputTables}

lists the names of results tables to save as CAS tables on the server.

For more information about specifying the outputTables parameter, see the common outputTables parameter (Appendix A: Common Parameters).

Alias displayOut

prefix="string"

specifies a prefix for naming the principal components.

Default "Prin"

seed=integer

specifies the seed to use for generating the random projection matrix for the RANDOMPCA method.

Default 0

store={casouttable}

specifies the output table to be created to save model fit information that you can use for scoring.

For more information about specifying the store parameter, see the common casouttable (Form 1) parameter (Appendix A: Common Parameters).

Alias saveState

* table={castable}

specifies the settings for an input table.

For more information about specifying the table parameter, see the common castable (Form 1) parameter (Appendix A: Common Parameters).

varDef="DF" | "N" | "WDF" | "WEIGHT" | "WGT"

specifies the divisor to use in calculating variances and standard deviations.

Default DF

randompca Action

Extracts principal components by using the random projection matrix sketching method.

R Syntax

results <– cas.pca.randompca(s,
attributes=list( list(
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
) <, list(...)>),
class=list( list(
countMissing=TRUE | FALSE,
descending=TRUE | FALSE,
ignoreMissing=TRUE | FALSE,
levelizeRaw=TRUE | FALSE,
maxLev=integer,
order="FORMATTED" | "FREQ" | "FREQFORMATTED" | "FREQINTERNAL" | "INTERNAL",
param="BTH" | "EFFECT" | "GLM" | "ORDINAL" | "ORTHBTH" | "ORTHEFFECT" | "ORTHORDINAL" | "ORTHPOLY" | "ORTHREF" | "POLYNOMIAL" | "REFERENCE",
ref="FIRST" | "LAST" | double | "string",
split=TRUE | FALSE,
required parameter vars=list("variable-name-1" <, "variable-name-2", ...>)
) <, list(...)>),
classGlobalOptions=list(
countMissing=TRUE | FALSE,
descending=TRUE | FALSE,
ignoreMissing=TRUE | FALSE,
levelizeRaw=TRUE | FALSE,
maxLev=integer,
order="FORMATTED" | "FREQ" | "FREQFORMATTED" | "FREQINTERNAL" | "INTERNAL",
param="BTH" | "EFFECT" | "GLM" | "ORDINAL" | "ORTHBTH" | "ORTHEFFECT" | "ORTHORDINAL" | "ORTHPOLY" | "ORTHREF" | "POLYNOMIAL" | "REFERENCE",
ref="FIRST" | "LAST" | double | "string",
split=TRUE | FALSE
),
classLevelsPrint=TRUE | FALSE,
code=list(
casOut=list(
caslib="string"
compress=TRUE | FALSE
indexVars=list("variable-name-1" <, "variable-name-2", ...>)
label="string"
lifetime=64-bit-integer
maxMemSize=64-bit-integer
memoryFormat="DVR" | "INHERIT" | "STANDARD"
name="table-name"
onDemand=TRUE | FALSE
promote=TRUE | FALSE
replace=TRUE | FALSE
replication=integer
tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE"
threadBlockSize=64-bit-integer
timeStamp="string"
where=list("string-1" <, "string-2", ...>)
),
comment=TRUE | FALSE,
fmtWdth=integer,
indentSize=integer,
intoCutPt=double,
iProb=TRUE | FALSE,
labelId=integer,
lineSize=integer,
noTrim=TRUE | FALSE,
pCatAll=TRUE | FALSE,
tabForm=TRUE | FALSE
),
display=list(
caseSensitive=TRUE | FALSE,
exclude=TRUE | FALSE,
excludeAll=TRUE | FALSE,
keyIsPath=TRUE | FALSE,
names=list("string-1" <, "string-2", ...>),
pathType="LABEL" | "NAME",
traceNames=TRUE | FALSE
),
gpu=list(
enable=TRUE | FALSE
),
groupbyLimit=64-bit-integer,
inputs=list( list(
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
) <, list(...)>),
model=list(
depVars=list( list(
name="variable-name"
) <, list(...)>),
effects=list( list(
interaction="BAR" | "CROSS" | "NONE",
maxInteract=integer,
nest=list("string-1" <, "string-2", ...>),
required parameter vars=list("string-1" <, "string-2", ...>)
) <, list(...)>)
),
n=integer,
nIter=integer,
noCenter=TRUE | FALSE,
nominals=list( list(
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
) <, list(...)>),
noScale=TRUE | FALSE,
output=list(
required parameter casOut=list(
caslib="string"
compress=TRUE | FALSE
indexVars=list("variable-name-1" <, "variable-name-2", ...>)
label="string"
lifetime=64-bit-integer
maxMemSize=64-bit-integer
memoryFormat="DVR" | "INHERIT" | "STANDARD"
name="table-name"
promote=TRUE | FALSE
replace=TRUE | FALSE
replication=integer
tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE"
threadBlockSize=64-bit-integer
timeStamp="string"
where=list("string-1" <, "string-2", ...>)
),
copyVars=list("variable-name-1" <, "variable-name-2", ...>),
h="string",
residual="string",
score="string",
std="string",
stdsse="string",
t2="string"
),
outputTables=list(
groupByVarsRaw=TRUE | FALSE,
includeAll=TRUE | FALSE,
names=list("string-1" <, "string-2", ...>) | list(key-1=list(casouttable-1) <, key-2=list(casouttable-2), ...>),
repeated=TRUE | FALSE,
replace=TRUE | FALSE
),
prefix="string",
seed=integer,
store=list(
caslib="string",
compress=TRUE | FALSE,
indexVars=list("variable-name-1" <, "variable-name-2", ...>),
label="string",
lifetime=64-bit-integer,
maxMemSize=64-bit-integer,
memoryFormat="DVR" | "INHERIT" | "STANDARD",
name="table-name",
promote=TRUE | FALSE,
replace=TRUE | FALSE,
replication=integer,
tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE",
threadBlockSize=64-bit-integer,
timeStamp="string",
where=list("string-1" <, "string-2", ...>)
),
required parameter table=list(
caslib="string",
computedOnDemand=TRUE | FALSE,
computedVars=list( list(
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
) <, list(...)>),
computedVarsProgram="string",
dataSourceOptions=list(key-1=list(any-list-or-data-type-1) <, key-2=list(any-list-or-data-type-2), ...>),
groupBy=list( list(
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
) <, list(...)>),
groupByMode="NOSORT" | "REDISTRIBUTE",
importOptions=list(fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters),
required parameter name="table-name",
orderBy=list( list(
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
) <, list(...)>),
singlePass=TRUE | FALSE,
vars=list( list(
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
) <, list(...)>),
where="where-expression",
whereTable=list(
casLib="string"
dataSourceOptions=list(adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters)
importOptions=list(fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters)
required parameter name="table-name"
vars=list( list(
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
) <, list(...)>)
where="where-expression"
)
),
varDef="DF" | "N" | "WDF" | "WEIGHT" | "WGT"
)
indicates a required parameter

Summary: Input and Output Tables

If a row includes a subparameter, you can specify the name, caslib, and so on in the subparameter. Otherwise, you can specify the name, caslib, and so on in the parameter.

Parameters for Reading Input Tables

Parameter

Subparameter

Description

required parametertable

specifies the settings for an input table.

Parameters for Creating Output Tables

Parameter

Subparameter

Description

 code

casOut

writes SAS DATA step code for computing predicted values of the fitted model.

 output

required parametercasOut

specifies the output table to be created to contain observationwise statistics. If you do not specify any statistic, then only the principal component scores are included.

 outputTables

names

lists the names of results tables to save as CAS tables on the server.

 store

specifies the output table to be created to save model fit information that you can use for scoring.

Parameter Descriptions

attributes=list( list(casinvardesc-1) <, list(casinvardesc-2), ...>)

changes the attributes of variables used in this action. Currently, attributes specified on the inputs and nominals parameter are ignored.

For more information about specifying the attributes parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

Aliases attribute
attr

class=list( list(classStatement-1) <, list(classStatement-2), ...>)

specifies the classification variables to be used as explanatory variables in the analysis.

For more information about specifying the class parameter, see the common classStatement parameter (Appendix A: Common Parameters).

Alias classvars

classGlobalOptions=list(classopts)

specifies options that apply to all classification variables.

For more information about specifying the classGlobalOptions parameter, see the common classopts parameter (Appendix A: Common Parameters).

Alias classGlobalOpts

classLevelsPrint=TRUE | FALSE

when set to False, suppresses the display of class levels.

Default TRUE

code=list(aircodegen)

writes SAS DATA step code for computing predicted values of the fitted model.

For more information about specifying the code parameter, see the common aircodegen parameter (Appendix A: Common Parameters).

display=list(displayTables)

specifies a list of results tables to send to the client for display.

For more information about specifying the display parameter, see the common displayTables parameter (Appendix A: Common Parameters).

gpu=list(pca_gpu)

specifies the settings for graphics processing units (GPUs). If you specify the groupBy subparameter in the table parameter, the gpu parameter is ignored. If no GPU is available, the CPU is used to perform model computation.

enable=TRUE | FALSE

when set to True, enables the action to use GPUs to perform model computation on GPU-equipped machines (one GPU is used on each machine).

Default FALSE

groupbyLimit=64-bit-integer

suppresses the analysis if the number of BY groups exceeds the specified value.

Minimum value 1

inputs=list( list(casinvardesc-1) <, list(casinvardesc-2), ...>)

specifies the variables to be analyzed. For the NIPALS, ITERGS, and EIG methods, you can analyze only numeric variables. If you omit the parameter, all numeric variables that are not specified in other parameters are analyzed. You must specify either INPUTS or MODEL for the RANDOMPCA method, but you can use both numeric and categorical variables.

For more information about specifying the inputs parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

Aliases input
vars
var

model=list(modelStatement)

specifies the variables to use in the principal component analysis for the RANDOMPCA method.

The modelStatement value can be one or more of the following:

depVars=list( list(responsevar-1) <, list(responsevar-2), ...>)

specifies one or more variables to use as response variables in the model. Not all models support more than one response variable.

Aliases depVar
target
name="variable-name"

names the response variable.

effects=list( list(effect-1) <, list(effect-2), ...>)

specifies a list of effects that define the model. Each term in this list is made up of variables specified in the vars parameter and their interaction (which can be NONE, CROSS, or BAR). When the interaction is BAR, it can be limited by the maxInteract parameter.

The effect value can be one or more of the following:

interaction="BAR" | "CROSS" | "NONE"

specifies the type of interaction for the variables.

Alias interact
Default NONE
maxInteract=integer

eliminates interaction effects whose order is higher than the specified integer value when used in conjunction with the BAR interaction.

nest=list("string-1" <, "string-2", ...>)

specifies the variables to be nested within the term that is defined by the vars parameter. For terms with a BAR or CROSS interaction, the nest corresponds to the last variable in the vars parameter. For terms with no interaction, the nest is distributed across all variables that are listed in the vars parameter.

* vars=list("string-1" <, "string-2", ...>)

specifies the variables to use in defining a term of the effect. You must specify at least one variable.

n=integer

specifies the number of principal components to compute for the RANDOMPCA method. If the value is 0, one principal component is computed.

Default 1
Minimum value 0

nClassLevelsPrint=integer

limits the display of class levels. The value 0 suppresses all levels.

Minimum value 0

nIter=integer

specifies the number of iterations for the RANDOMPCA method.

Default 1
Minimum value 0

noCenter=TRUE | FALSE

when set to True, suppresses centering of the numeric variables to be analyzed.

Default FALSE

nominals=list( list(casinvardesc-1) <, list(casinvardesc-2), ...>)

specifies nominal variables to use for analysis.

For more information about specifying the nominals parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

Alias nominal

noScale=TRUE | FALSE

when set to True, suppresses scaling of the numeric variables to be analyzed.

Default FALSE

output=list(iterOutput)

specifies the output table to be created to contain observationwise statistics. If you do not specify any statistic, then only the principal component scores are included.

The iterOutput value can be one or more of the following:

* casOut=list(casouttable)

specifies the output table.

For more information about specifying the casOut parameter, see the common casouttable (Form 1) parameter (Appendix A: Common Parameters).

copyVars=list("variable-name-1" <, "variable-name-2", ...>)

copies one or more variables from the input table to the output table.

Alias copyVar
h="string"

specifies the approximate leverage. If the value is an empty string, the prefix H is used to name the output variables.

residual="string"

specifies residuals for each analysis variable. If the value is an empty string, the prefix R is used to name the output variables.

Aliases r
resid
score="string"

specifies principal component scores for each principal component. If the value is an empty string, the prefix Score is used to name the output variables.

std="string"

specifies standardized (centered and scaled) analysis variable values for each analysis variable. If the value is an empty string, the prefix Std is used to name the output variables.

stdsse="string"

specifies the sum of squares of residuals for standardized analysis variables. If the value is an empty string, the prefix StdSSE is used to name the output variables.

t2="string"

specifies a scaled sum of squares of score values. If the value is an empty string, the prefix TSquare is used to name the output variables.

Alias tSquare

outputTables=list(outputTables)

lists the names of results tables to save as CAS tables on the server.

For more information about specifying the outputTables parameter, see the common outputTables parameter (Appendix A: Common Parameters).

Alias displayOut

prefix="string"

specifies a prefix for naming the principal components.

Default "Prin"

seed=integer

specifies the seed to use for generating the random projection matrix for the RANDOMPCA method.

Default 0

store=list(casouttable)

specifies the output table to be created to save model fit information that you can use for scoring.

For more information about specifying the store parameter, see the common casouttable (Form 1) parameter (Appendix A: Common Parameters).

Alias saveState

* table=list(castable)

specifies the settings for an input table.

For more information about specifying the table parameter, see the common castable (Form 1) parameter (Appendix A: Common Parameters).

varDef="DF" | "N" | "WDF" | "WEIGHT" | "WGT"

specifies the divisor to use in calculating variances and standard deviations.

Default DF
Last updated: March 05, 2026