simple

compare

Descripción

Compara dos tablas calculando el índice y la frecuencia de cada grupo, la frecuencia acumulada y el índice de cada registro dentro de su grupo.

simple.compare { attributes={{name="variable-name"}, ...}, casOut={caslib="string", compress=TRUE|FALSE, indexVars={"variable-name-1", ...}, 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", ...}}, casOut2={caslib="string", compress=TRUE|FALSE, indexVars={"variable-name-1", ...}, 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", ...}}, copyVars={"variable-name-1", ...}, cumFreq2Name="variable-name", cumFreqName="variable-name", details=TRUE|FALSE, divider="string", freqOut={caslib="string", compress=TRUE|FALSE, indexVars={"variable-name-1", ...}, 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", ...}}, frequency2Name="variable-name", frequencyName="variable-name", generatedColumns={"ALL", "CUMFREQ", "F", "FREQUENCY", "GROUPID", "NONE", "POSITION"}, groupID2Name="variable-name", groupIDBothName="variable-name", groupIDName="variable-name", includeDuplicates={"CASOUT", "CASOUT2", "FREQOUT"}, includeMissing=TRUE|FALSE, inputRegEx={"string-1", ...}, inputs={{name="variable-name"}, ...}, journalTrace=TRUE|FALSE, keyModify={"string-1", ...}, maxFrequency=64-bit-integer, maxPosition=64-bit-integer, minFrequency=64-bit-integer, minGroupsLL=64-bit-integer, minPosition=64-bit-integer, noVars=TRUE|FALSE, noVars2=TRUE|FALSE, outputNamedTables=TRUE|FALSE, position=64-bit-integer, position2Name="variable-name", positionName="variable-name", sparse=TRUE|FALSE, table={caslib="string", computedOnDemand=TRUE|FALSE, computedVars={{name="variable-name"}, ...}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1, ...}, 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}, name="table-name", singlePass=TRUE|FALSE, vars={{name="variable-name"}, ...}, 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}, name="table-name", vars={{name="variable-name"}, ...}, where="where-expression"}}, table2={caslib="string", computedOnDemand=TRUE|FALSE, computedVars={{name="variable-name"}, ...}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1, ...}, 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}, name="table-name", singlePass=TRUE|FALSE, vars={{name="variable-name"}, ...}, 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}, name="table-name", vars={{name="variable-name"}, ...}, where="where-expression"}}, table2Attributes={{name="variable-name"}, ...}, table2CopyVars={"variable-name-1", ...}, table2Inputs={{name="variable-name"}, ...} }
Parámetros
ParámetroDescripción
attributesEspecifica los atributos de las variables.
casOutEspecifica la configuración para una tabla de salida.
casOut2Especifica la tabla de salida casOut2.
copyVarsEspecifica las columnas a copiar de la tabla de entrada a la tabla de salida casOut.
cumFreq2NameEspecifica el nombre de la columna para la frecuencia acumulada en las tablas de salida para la tabla de comparación.
cumFreqNameEspecifica el nombre de la columna para la frecuencia acumulada en las tablas de salida para la tabla base.
detailsEspecifica que los mensajes como el número de grupos y otros detalles se escriban en el registro de SAS.
dividerEspecifica el carácter que se utiliza para dividir los valores de caracteres de las variables de entrada.
freqOutEspecifica la configuración de la tabla de frecuencias.
frequency2NameEspecifica el nombre de la columna para las frecuencias de grupo en las tablas de salida.
frequencyNameEspecifica el nombre de la columna para las frecuencias de grupo en las tablas de salida.
generatedColumnsEspecifica las columnas generadas que se incluirán en las tablas de salida.
groupID2NameEspecifica el nombre de la columna para los ID de grupo en las tablas de salida.
groupIDBothNameEspecifica el nombre de la columna para los ID de grupo en las tablas de salida.
groupIDNameEspecifica el nombre de la columna para los ID de grupo en las tablas de salida.
includeDuplicatesEspecifica si se deben incluir grupos únicos o todos los registros en las tablas de salida.
includeMissingEspecifica que los grupos que tienen un valor faltante en una variable groupBy se incluyen en la tabla casOut.
inputRegExEspecifica una lista de expresiones regulares, una para cada variable en la lista de entradas.
inputsEspecifica las variables de entrada para el análisis.
journalTraceCuando se establece en True, la acción escribe información de seguimiento detallada en el registro de SAS.
keyModifyEspecifica si desea que los valores de caracteres en las variables de entrada se justifiquen a la izquierda (L), a la derecha (R), se conviertan a mayúsculas (U) y que los espacios en blanco consecutivos se condensen en uno solo (C).
maxFrequencyEspecifica que la tabla de salida contiene registros con una _Frecuencia_ menor o igual a este número.
maxPositionEspecifica que la tabla de salida contiene registros con una _Posición_ menor o igual a este número.
minFrequencyEspecifica que la tabla de salida contiene registros con una _Frecuencia_ mayor o igual a este número.
minGroupsLLEspecifica el número mínimo de grupos necesarios para utilizar algoritmos paralelos post-lectura.
minPositionEspecifica que la tabla de salida contiene registros con una _Posición_ mayor o igual a este número.
noVarsCuando se establece en True, no se copian automáticamente variables de la tabla de entrada a la tabla de salida.
noVars2Cuando se establece en True, no se copian automáticamente variables de la tabla de comparación a la tabla de salida de comparación.
outputNamedTablesCuando se establece en True, las tablas casOut, casOut2 y de frecuencia solo se crean si se especifica el parámetro para la tabla de salida.
positionEspecifica filtrar los registros para la tabla de salida. Solo los registros que coinciden con el valor especificado en la columna _Posición_ se incluyen en la tabla de salida.
position2NameEspecifica el nombre de la columna para la posición de un registro dentro de su grupo en las tablas de salida.
positionNameEspecifica el nombre de la columna para la posición del registro dentro de su grupo en las tablas de salida.
sparseCuando se establece en True y la acción se ejecuta en un servidor distribuido, cada hilo lee datos que pertenecen solo a unos pocos grupos.
tableEspecifica el nombre de la tabla, la caslib y otros parámetros comunes.
table2Especifica la tabla de comparación. Los registros y grupos de esta tabla se comparan con los de la tabla base.
table2AttributesEspecifica los atributos para las columnas que se especifican en el parámetro table2Inputs.
table2CopyVarsEspecifica las columnas de la tabla de comparación que se copiarán a la tabla de salida de comparación.
table2InputsEspecifica las columnas de la tabla de comparación que se incluirán en el análisis.
Creación de Datos de Ejemplo

Este ejemplo asume que la tabla `Hmeq` ya ha sido cargada en su caslib. `Hmeq` es una tabla de ejemplo comúnmente utilizada en la documentación de SAS Viya.

¡Copiado!
1/* Este paso no es necesario si Hmeq ya está en su caslib */
2PROC CASUTIL;
3 load DATA=sashelp.hmeq outcaslib=casuser casout="hmeq" replace;
4QUIT;

Ejemplos

Este ejemplo compara los grupos en dos tablas y guarda los resultados en tablas de salida.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 SIMPLE.compare /
3 TABLE={name='hmeq', where='delinq > 1'},
4 table2={name='hmeq', where='delinq < 2'},
5 inputs={'job', 'reason'},
6 casOut={name='compare', replace=true},
7 casOut2={name='compare2', replace=true},
8 freqOut={name='freq', replace=true};
9RUN;
10QUIT;
Resultado :
Se crean tres tablas de salida: 'compare', 'compare2' y 'freq', que contienen los resultados de la comparación de las dos subconsultas de la tabla 'hmeq'.

Este ejemplo realiza una comparación entre dos subconjuntos de la tabla `Hmeq`. Se utilizan nombres de columna personalizados para las columnas generadas y se especifica que se incluyan todos los registros en las tablas de salida.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 SIMPLE.compare /
3 TABLE={name='hmeq', where='delinq > 1'},
4 table2={name='hmeq', where='delinq < 2'},
5 inputs={'job', 'reason'},
6 casOut={name='compare_all', replace=true},
7 casOut2={name='compare2_all', replace=true},
8 freqOut={name='freq_all', replace=true},
9 includeDuplicates={'CASOUT', 'CASOUT2', 'FREQOUT'},
10 groupIDName='IDGrupoBase',
11 frequencyName='FrecuenciaBase',
12 cumFreqName='FrecuenciaAcumuladaBase',
13 positionName='PosicionBase',
14 groupID2Name='IDGrupoComp',
15 frequency2Name='FrecuenciaComp',
16 cumFreq2Name='FrecuenciaAcumuladaComp',
17 position2Name='PosicionComp',
18 groupIDBothName='IDGrupoAmbos';
19RUN;
20QUIT;
Resultado :
Se crean tres tablas de salida ('compare_all', 'compare2_all', 'freq_all') con todos los registros. Las tablas de salida contendrán columnas generadas con los nombres personalizados especificados, como 'IDGrupoBase', 'FrecuenciaComp', etc., facilitando la interpretación de los resultados.

FAQ

¿Cuál es el propósito principal de la acción `compare`?
¿Cómo se especifican las tablas a comparar?
¿Qué hace el parámetro `includeDuplicates`?
¿Puedo incluir valores faltantes (missing) en el análisis de grupo?
¿Es posible personalizar los nombres de las columnas generadas en la salida?