Simple Analytics Action Set: Syntax

Provides actions for performing basic analytic functions

distinct Action

Computes the distinct number of values of the variables in the variable list.

See: Results
Get the Distinct Value Count for Multiple Variables
simple.distinct <result=results> <status=rc> /
attributes
={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
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", ...>}
},
groupByLimit=64-bit-integer,
groupbyTable
={
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",
where="where-expression"
},
includeMissing=TRUE | FALSE,
inputs
={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
maxNVals=64-bit-integer,
orderBy={"variable-name-1" <, "variable-name-2", ...>},
orderByAgg={"NDIST", "NMISS", "TRUNC"},
orderByDesc={"variable-name-1" <, "variable-name-2", ...>},
orderByGbyRaw=TRUE | FALSE,
raw=TRUE | FALSE,
resultLimit=integer,
sql=TRUE | FALSE,
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"
}
}
;
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

 groupbyTable

specifies an input table that contains the groups to use in a group-by analysis.

required parametertable

specifies the table name, caslib, and other common parameters.

Parameters for Creating Output Tables

Parameter

Subparameter

Description

 casOut

specifies the settings for an output table.

Parameter Descriptions

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

specifies the variable attributes.

For more information about specifying the attributes parameter, see the common casinvardesc parameter.

Aliasesattribute
attrs
attr
varAttrs

casOut={casouttable}

specifies the settings for an output table.

For more information about specifying the casOut parameter, see the common casouttable parameter.

groupByLimit=64-bit-integer

specifies the maximum number of levels in a group-by set. When the server determines this number of levels, the server stops and does not return a result. Specify this parameter if you want to avoid creating large result sets in group-by operations.

Minimum value1

groupbyTable={groupbytable}

specifies an input table that contains the groups to use in a group-by analysis.

Long formgroupbyTable={name="table-name"}
Shortcut formgroupbyTable="table-name"

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

casLib="string"

specifies the caslib for the filter table. By default, the active caslib is used.

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}

specifies data source options.

Aliasesoptions
dataSource

For more information about specifying the dataSourceOptions parameter, see the common dataSourceOptions parameter.

importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}

specifies the settings for reading a table from a data source.

Aliasimport

For more information about specifying the importOptions parameter, see the common importOptions parameter.

* name="table-name"

specifies the name of the filter table.

where="where-expression"

specifies an expression for subsetting the data from the filter table.

includeMissing=TRUE | FALSE

when set to True, missing values are included in the determination of distinct values.

DefaultTRUE

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

specifies the input variables for the analysis.

For more information about specifying the inputs parameter, see the common casinvardesc parameter.

Aliasinput

maxNVals=64-bit-integer

specifies the largest number of distinct values on any variable in the variable list.

Minimum value1

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

specifies one or more variables by which the group values in the result set are to be sorted. The group values are sorted in ascending order of the specified variable values.

RestrictionThis parameter affects result tables only. It has no effect when parameter CASOUT= is used to store the results in a caslib.
RequirementYou must specify parameter groupBy in the table parameter. Otherwise, orderBy is ignored.

orderByAgg={"NDIST", "NMISS", "TRUNC"}

specifies the aggregator on which the ordering of the result set is based if orderBy is specified.

RestrictionThis parameter affects result tables only. It has no effect when parameter CASOUT= is used to store the results in a caslib.
RequirementFor orderByAgg to have any effect, you must also specify parameter groupBy in the table parameter and parameter orderBy.

NDIST

specifies the number of distinct values.

NMISS

specifies the number of missing values.

TRUNC

specifies the number of truncated values.

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

specifies one or more variables by which the group values in the result set are to be sorted. The group values are sorted in descending order of the specified variable values.

RestrictionsThis parameter affects result tables only. It has no effect when parameter CASOUT= is used to store the results in a caslib.
For orderByDesc to have any effect, you must also specify parameter orderBy.
RequirementYou must specify one more of the variables that are specified in orderBy in the order in which they are specified in orderBy. For example, when using CASL, to sort the group values in ascending order of variables Origin and Type and descending order of variable Cylinders, specify the following:
orderBy={"cylinders", "origin", "type"}, orderByDesc={"cylinders"}
SeeGet the Distinct Value Count for Multiple Variables

orderByGbyRaw=TRUE | FALSE

when set to True, the ordering of the group-by variables is based on the raw values of the variables, not the formatted values.

AliasorderByRaw
DefaultFALSE

raw=TRUE | FALSE

when set to True, the raw values are used for the variables.

DefaultFALSE

resultLimit=integer

limits the number of items in the result set that is returned to the client. The limit is the product of the specified value and the number of analysis variables when groupBy or orderBy is specified.

Aliaslimit
Range0–MACINT

sql=TRUE | FALSE

when set to True, the program directly executes SQL queries to retrieve the calculation results.

DefaultFALSE

* table={castable}

specifies the table name, caslib, and other common parameters.

For more information about specifying the table parameter, see the common castable parameter.

distinct Action

Computes the distinct number of values of the variables in the variable list.

See: Results
Get the Distinct Value Count for Multiple Variables
results, info = s:simple_distinct{
attributes
={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
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", ...>}
},
groupByLimit=64-bit-integer,
groupbyTable
={
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",
where="where-expression"
},
includeMissing=true | false,
inputs
={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
maxNVals=64-bit-integer,
orderBy={"variable-name-1" <, "variable-name-2", ...>},
orderByAgg={"NDIST", "NMISS", "TRUNC"},
orderByDesc={"variable-name-1" <, "variable-name-2", ...>},
orderByGbyRaw=true | false,
raw=true | false,
resultLimit=integer,
sql=true | false,
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"
}
}
}
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

 groupbyTable

specifies an input table that contains the groups to use in a group-by analysis.

required parametertable

specifies the table name, caslib, and other common parameters.

Parameters for Creating Output Tables

Parameter

Subparameter

Description

 casOut

specifies the settings for an output table.

Parameter Descriptions

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

specifies the variable attributes.

For more information about specifying the attributes parameter, see the common casinvardesc parameter.

Aliasesattribute
attrs
attr
varAttrs

casOut={casouttable}

specifies the settings for an output table.

For more information about specifying the casOut parameter, see the common casouttable parameter.

groupByLimit=64-bit-integer

specifies the maximum number of levels in a group-by set. When the server determines this number of levels, the server stops and does not return a result. Specify this parameter if you want to avoid creating large result sets in group-by operations.

Minimum value1

groupbyTable={groupbytable}

specifies an input table that contains the groups to use in a group-by analysis.

Long formgroupbyTable={name="table-name"}
Shortcut formgroupbyTable="table-name"

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

casLib="string"

specifies the caslib for the filter table. By default, the active caslib is used.

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}

specifies data source options.

Aliasesoptions
dataSource

For more information about specifying the dataSourceOptions parameter, see the common dataSourceOptions parameter.

importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}

specifies the settings for reading a table from a data source.

Aliasimport

For more information about specifying the importOptions parameter, see the common importOptions parameter.

* name="table-name"

specifies the name of the filter table.

where="where-expression"

specifies an expression for subsetting the data from the filter table.

includeMissing=true | false

when set to True, missing values are included in the determination of distinct values.

Defaulttrue

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

specifies the input variables for the analysis.

For more information about specifying the inputs parameter, see the common casinvardesc parameter.

Aliasinput

maxNVals=64-bit-integer

specifies the largest number of distinct values on any variable in the variable list.

Minimum value1

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

specifies one or more variables by which the group values in the result set are to be sorted. The group values are sorted in ascending order of the specified variable values.

RestrictionThis parameter affects result tables only. It has no effect when parameter CASOUT= is used to store the results in a caslib.
RequirementYou must specify parameter groupBy in the table parameter. Otherwise, orderBy is ignored.

orderByAgg={"NDIST", "NMISS", "TRUNC"}

specifies the aggregator on which the ordering of the result set is based if orderBy is specified.

RestrictionThis parameter affects result tables only. It has no effect when parameter CASOUT= is used to store the results in a caslib.
RequirementFor orderByAgg to have any effect, you must also specify parameter groupBy in the table parameter and parameter orderBy.

NDIST

specifies the number of distinct values.

NMISS

specifies the number of missing values.

TRUNC

specifies the number of truncated values.

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

specifies one or more variables by which the group values in the result set are to be sorted. The group values are sorted in descending order of the specified variable values.

RestrictionsThis parameter affects result tables only. It has no effect when parameter CASOUT= is used to store the results in a caslib.
For orderByDesc to have any effect, you must also specify parameter orderBy.
RequirementYou must specify one more of the variables that are specified in orderBy in the order in which they are specified in orderBy. For example, when using CASL, to sort the group values in ascending order of variables Origin and Type and descending order of variable Cylinders, specify the following:
orderBy={"cylinders", "origin", "type"}, orderByDesc={"cylinders"}
SeeGet the Distinct Value Count for Multiple Variables

orderByGbyRaw=true | false

when set to True, the ordering of the group-by variables is based on the raw values of the variables, not the formatted values.

AliasorderByRaw
Defaultfalse

raw=true | false

when set to True, the raw values are used for the variables.

Defaultfalse

resultLimit=integer

limits the number of items in the result set that is returned to the client. The limit is the product of the specified value and the number of analysis variables when groupBy or orderBy is specified.

Aliaslimit
Range0–MACINT

sql=true | false

when set to True, the program directly executes SQL queries to retrieve the calculation results.

Defaultfalse

* table={castable}

specifies the table name, caslib, and other common parameters.

For more information about specifying the table parameter, see the common castable parameter.

distinct Action

Computes the distinct number of values of the variables in the variable list.

See: Results
Get the Distinct Value Count for Multiple Variables
results=s.simple.distinct(
attributes
=[{
"format":"string",
"formattedLength":integer,
"label":"string",
required parameter "name":"variable-name",
"nfd":integer,
"nfl":integer
}<, {...}>],
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", ...>]
},
groupByLimit=64-bit-integer,
groupbyTable
={
"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",
"where":"where-expression"
},
includeMissing=True | False,
inputs
=[{
"format":"string",
"formattedLength":integer,
"label":"string",
required parameter "name":"variable-name",
"nfd":integer,
"nfl":integer
}<, {...}>],
maxNVals=64-bit-integer,
orderBy=["variable-name-1" <, "variable-name-2", ...>],
orderByAgg=["NDIST", "NMISS", "TRUNC"],
orderByDesc=["variable-name-1" <, "variable-name-2", ...>],
orderByGbyRaw=True | False,
raw=True | False,
resultLimit=integer,
sql=True | False,
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"
}
}
)
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

 groupbyTable

specifies an input table that contains the groups to use in a group-by analysis.

required parametertable

specifies the table name, caslib, and other common parameters.

Parameters for Creating Output Tables

Parameter

Subparameter

Description

 casOut

specifies the settings for an output table.

Parameter Descriptions

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

specifies the variable attributes.

For more information about specifying the attributes parameter, see the common casinvardesc parameter.

Aliasesattribute
attrs
attr
varAttrs

casOut={casouttable}

specifies the settings for an output table.

For more information about specifying the casOut parameter, see the common casouttable parameter.

groupByLimit=64-bit-integer

specifies the maximum number of levels in a group-by set. When the server determines this number of levels, the server stops and does not return a result. Specify this parameter if you want to avoid creating large result sets in group-by operations.

Minimum value1

groupbyTable={groupbytable}

specifies an input table that contains the groups to use in a group-by analysis.

Long formgroupbyTable={"name":"table-name"}
Shortcut formgroupbyTable="table-name"

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

"casLib":"string"

specifies the caslib for the filter table. By default, the active caslib is used.

"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}

specifies data source options.

Aliasesoptions
dataSource

For more information about specifying the dataSourceOptions parameter, see the common dataSourceOptions parameter.

"importOptions":{"fileType":"ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}

specifies the settings for reading a table from a data source.

Aliasimport_

For more information about specifying the importOptions parameter, see the common importOptions parameter.

* "name":"table-name"

specifies the name of the filter table.

"where":"where-expression"

specifies an expression for subsetting the data from the filter table.

includeMissing=True | False

when set to True, missing values are included in the determination of distinct values.

DefaultTrue

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

specifies the input variables for the analysis.

For more information about specifying the inputs parameter, see the common casinvardesc parameter.

Aliasinput

maxNVals=64-bit-integer

specifies the largest number of distinct values on any variable in the variable list.

Minimum value1

orderBy=["variable-name-1" <, "variable-name-2", ...>]

specifies one or more variables by which the group values in the result set are to be sorted. The group values are sorted in ascending order of the specified variable values.

RestrictionThis parameter affects result tables only. It has no effect when parameter CASOUT= is used to store the results in a caslib.
RequirementYou must specify parameter groupBy in the table parameter. Otherwise, orderBy is ignored.

orderByAgg=["NDIST", "NMISS", "TRUNC"]

specifies the aggregator on which the ordering of the result set is based if orderBy is specified.

RestrictionThis parameter affects result tables only. It has no effect when parameter CASOUT= is used to store the results in a caslib.
RequirementFor orderByAgg to have any effect, you must also specify parameter groupBy in the table parameter and parameter orderBy.

NDIST

specifies the number of distinct values.

NMISS

specifies the number of missing values.

TRUNC

specifies the number of truncated values.

orderByDesc=["variable-name-1" <, "variable-name-2", ...>]

specifies one or more variables by which the group values in the result set are to be sorted. The group values are sorted in descending order of the specified variable values.

RestrictionsThis parameter affects result tables only. It has no effect when parameter CASOUT= is used to store the results in a caslib.
For orderByDesc to have any effect, you must also specify parameter orderBy.
RequirementYou must specify one more of the variables that are specified in orderBy in the order in which they are specified in orderBy. For example, when using CASL, to sort the group values in ascending order of variables Origin and Type and descending order of variable Cylinders, specify the following:
orderBy={"cylinders", "origin", "type"}, orderByDesc={"cylinders"}
SeeGet the Distinct Value Count for Multiple Variables

orderByGbyRaw=True | False

when set to True, the ordering of the group-by variables is based on the raw values of the variables, not the formatted values.

AliasorderByRaw
DefaultFalse

raw=True | False

when set to True, the raw values are used for the variables.

DefaultFalse

resultLimit=integer

limits the number of items in the result set that is returned to the client. The limit is the product of the specified value and the number of analysis variables when groupBy or orderBy is specified.

Aliaslimit
Range0–MACINT

sql=True | False

when set to True, the program directly executes SQL queries to retrieve the calculation results.

DefaultFalse

* table={castable}

specifies the table name, caslib, and other common parameters.

For more information about specifying the table parameter, see the common castable parameter.

distinct Action

Computes the distinct number of values of the variables in the variable list.

See: Results
Get the Distinct Value Count for Multiple Variables
results <– cas.simple.distinct(s,
attributes
=list( list(
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
) <, 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",
promote=TRUE | FALSE,
replace=TRUE | FALSE,
replication=integer,
tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE",
threadBlockSize=64-bit-integer,
timeStamp="string",
where=list("string-1" <, "string-2", ...>)
),
groupByLimit=64-bit-integer,
groupbyTable
=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",
where="where-expression"
),
includeMissing=TRUE | FALSE,
inputs
=list( list(
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
) <, list(...)>),
maxNVals=64-bit-integer,
orderBy=list("variable-name-1" <, "variable-name-2", ...>),
orderByAgg=list("NDIST", "NMISS", "TRUNC"),
orderByDesc=list("variable-name-1" <, "variable-name-2", ...>),
orderByGbyRaw=TRUE | FALSE,
raw=TRUE | FALSE,
resultLimit=integer,
sql=TRUE | FALSE,
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"
)
)
)
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

 groupbyTable

specifies an input table that contains the groups to use in a group-by analysis.

required parametertable

specifies the table name, caslib, and other common parameters.

Parameters for Creating Output Tables

Parameter

Subparameter

Description

 casOut

specifies the settings for an output table.

Parameter Descriptions

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

specifies the variable attributes.

For more information about specifying the attributes parameter, see the common casinvardesc parameter.

Aliasesattribute
attrs
attr
varAttrs

casOut=list(casouttable)

specifies the settings for an output table.

For more information about specifying the casOut parameter, see the common casouttable parameter.

groupByLimit=64-bit-integer

specifies the maximum number of levels in a group-by set. When the server determines this number of levels, the server stops and does not return a result. Specify this parameter if you want to avoid creating large result sets in group-by operations.

Minimum value1

groupbyTable=list(groupbytable)

specifies an input table that contains the groups to use in a group-by analysis.

Long formgroupbyTable=list(name="table-name")
Shortcut formgroupbyTable="table-name"

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

casLib="string"

specifies the caslib for the filter table. By default, the active caslib is used.

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)

specifies data source options.

Aliasesoptions
dataSource

For more information about specifying the dataSourceOptions parameter, see the common dataSourceOptions parameter.

importOptions=list(fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters)

specifies the settings for reading a table from a data source.

Aliasimport

For more information about specifying the importOptions parameter, see the common importOptions parameter.

* name="table-name"

specifies the name of the filter table.

where="where-expression"

specifies an expression for subsetting the data from the filter table.

includeMissing=TRUE | FALSE

when set to True, missing values are included in the determination of distinct values.

DefaultTRUE

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

specifies the input variables for the analysis.

For more information about specifying the inputs parameter, see the common casinvardesc parameter.

Aliasinput

maxNVals=64-bit-integer

specifies the largest number of distinct values on any variable in the variable list.

Minimum value1

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

specifies one or more variables by which the group values in the result set are to be sorted. The group values are sorted in ascending order of the specified variable values.

RestrictionThis parameter affects result tables only. It has no effect when parameter CASOUT= is used to store the results in a caslib.
RequirementYou must specify parameter groupBy in the table parameter. Otherwise, orderBy is ignored.

orderByAgg=list("NDIST", "NMISS", "TRUNC")

specifies the aggregator on which the ordering of the result set is based if orderBy is specified.

RestrictionThis parameter affects result tables only. It has no effect when parameter CASOUT= is used to store the results in a caslib.
RequirementFor orderByAgg to have any effect, you must also specify parameter groupBy in the table parameter and parameter orderBy.

NDIST

specifies the number of distinct values.

NMISS

specifies the number of missing values.

TRUNC

specifies the number of truncated values.

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

specifies one or more variables by which the group values in the result set are to be sorted. The group values are sorted in descending order of the specified variable values.

RestrictionsThis parameter affects result tables only. It has no effect when parameter CASOUT= is used to store the results in a caslib.
For orderByDesc to have any effect, you must also specify parameter orderBy.
RequirementYou must specify one more of the variables that are specified in orderBy in the order in which they are specified in orderBy. For example, when using CASL, to sort the group values in ascending order of variables Origin and Type and descending order of variable Cylinders, specify the following:
orderBy={"cylinders", "origin", "type"}, orderByDesc={"cylinders"}
SeeGet the Distinct Value Count for Multiple Variables

orderByGbyRaw=TRUE | FALSE

when set to True, the ordering of the group-by variables is based on the raw values of the variables, not the formatted values.

AliasorderByRaw
DefaultFALSE

raw=TRUE | FALSE

when set to True, the raw values are used for the variables.

DefaultFALSE

resultLimit=integer

limits the number of items in the result set that is returned to the client. The limit is the product of the specified value and the number of analysis variables when groupBy or orderBy is specified.

Aliaslimit
Range0–MACINT

sql=TRUE | FALSE

when set to True, the program directly executes SQL queries to retrieve the calculation results.

DefaultFALSE

* table=list(castable)

specifies the table name, caslib, and other common parameters.

For more information about specifying the table parameter, see the common castable parameter.

Last updated: July 15, 2026