Compare deux tables en calculant l'index et la fréquence de chaque groupe, la fréquence cumulée, et l'index de chaque enregistrement au sein de son groupe.
| Paramètre | Description |
|---|---|
| attributes | Spécifie les attributs des variables. |
| casOut | Spécifie les paramètres pour une table de sortie. |
| casOut2 | Spécifie la table de sortie casOut2. |
| copyVars | Spécifie les colonnes à copier de la table d'entrée vers la table de sortie casOut. Les variables spécifiées dans le paramètre inputs sont automatiquement copiées. |
| cumFreq2Name | Spécifie le nom de la colonne pour la fréquence cumulée dans les tables de sortie. La colonne montre la fréquence cumulée du groupe auquel l'enregistrement appartient, par rapport à la table de comparaison. Le nom de colonne par défaut est _CumFreq2_. |
| cumFreqName | Spécifie le nom de la colonne pour la fréquence cumulée dans les tables de sortie. La colonne montre la fréquence cumulée du groupe auquel l'enregistrement appartient, par rapport à la table d'entrée. Le nom de colonne par défaut est _CumFreq_. |
| details | Spécifie que des messages tels que le nombre de groupes et d'autres détails sont écrits dans le journal SAS. |
| divider | Spécifie le caractère utilisé pour diviser les valeurs de type caractère des variables d'entrée. Spécifiez un caractère qui n'est pas présent dans ces variables. |
| freqOut | Spécifie les paramètres pour la table de fréquences. |
| frequency2Name | Spécifie le nom de la colonne pour les fréquences de groupe dans les tables de sortie. Le nom de colonne par défaut est _Frequency2_. |
| frequencyName | Spécifie le nom de la colonne pour les fréquences de groupe dans les tables de sortie. Le nom de colonne par défaut est _Frequency_. |
| generatedColumns | Spécifie les colonnes générées à inclure dans les tables de sortie. |
| groupID2Name | Spécifie le nom de la colonne pour les ID de groupe dans les tables de sortie. Le nom de colonne par défaut est _Groupid2_. |
| groupIDBothName | Spécifie le nom de la colonne pour les ID de groupe dans les tables de sortie. Le nom de colonne par défaut est _GroupIDBoth_. |
| groupIDName | Spécifie le nom de la colonne pour les ID de groupe dans les tables de sortie. Le nom de colonne par défaut est _GroupID_. |
| includeDuplicates | Spécifie s'il faut inclure les groupes uniques ou tous les enregistrements dans les tables de sortie. |
| includeMissing | Spécifie que les groupes ayant une valeur manquante dans une variable groupBy sont inclus dans la table casOut. |
| inputRegEx | Spécifie une liste d'expressions régulières, une pour chaque variable dans la liste des entrées. |
| inputs | Spécifie les variables d'entrée pour l'analyse. |
| journalTrace | Lorsque défini sur True, l'action écrit des informations de traçage détaillées dans le journal SAS. |
| keyModify | Spécifie si vous souhaitez que les valeurs de caractères dans les variables d'entrée soient justifiées à gauche (L), à droite (R), converties en majuscules (U), et que les espaces consécutifs soient condensés en un seul (C). |
| maxFrequency | Spécifie que la table de sortie contient des enregistrements avec _Frequency_ inférieur ou égal à ce nombre. |
| maxPosition | Spécifie que la table de sortie contient des enregistrements avec _Position_ inférieur ou égal à ce nombre. |
| minFrequency | Spécifie que la table de sortie contient des enregistrements avec _Frequency_ supérieur ou égal à ce nombre. |
| minGroupsLL | Spécifie le nombre minimum de groupes requis pour utiliser les algorithmes parallèles post-lecture. |
| minPosition | Spécifie que la table de sortie contient des enregistrements avec _Position_ supérieur ou égal à ce nombre. |
| noVars | Lorsque défini sur True, aucune variable n'est automatiquement copiée de la table d'entrée vers la table de sortie. |
| noVars2 | Lorsque défini sur True, aucune variable n'est automatiquement copiée de la table de comparaison vers la table de sortie de comparaison. |
| outputNamedTables | Lorsque défini sur True, les tables casOut, casOut2 et de fréquence sont créées uniquement si le paramètre de la table de sortie est spécifié. |
| position | Spécifie de filtrer les enregistrements pour la table de sortie. Seuls les enregistrements qui correspondent à la valeur spécifiée dans la colonne _Position_ sont inclus. |
| position2Name | Spécifie le nom de la colonne pour la position d'un enregistrement au sein de son groupe dans les tables de sortie. Le nom de colonne par défaut est _Position2_. |
| positionName | Spécifie le nom de la colonne pour la position de l'enregistrement au sein de son groupe dans les tables de sortie. Le nom de colonne par défaut est _Position_. |
| sparse | Lorsque défini sur True et que l'action s'exécute sur un serveur distribué, chaque thread lit des données qui n'appartiennent qu'à quelques groupes. Améliore les performances lorsqu'il y a beaucoup de threads, de groupes, ou les deux. |
| table | Spécifie la table de base, sa caslib et d'autres paramètres communs. |
| table2 | Spécifie la table de comparaison. Les enregistrements et les groupes de cette table sont comparés à ceux de la table de base. |
| table2Attributes | Spécifie les attributs des colonnes spécifiées dans le paramètre table2Inputs. |
| table2CopyVars | Spécifie les colonnes de la table de comparaison à copier vers la sortie de la table de comparaison. |
| table2Inputs | Spécifie les colonnes de la table de comparaison à inclure dans l'analyse. |
Ce bloc de code crée deux tables CAS, `CARS_TABLE1` et `CARS_TABLE2`. Ces tables contiennent des informations sur différents modèles de voitures et seront utilisées pour illustrer comment l'action `compare` identifie les différences et les similitudes entre elles.
| 1 | DATA casuser.cars_table1; |
| 2 | LENGTH make $ 20 model $ 20; |
| 3 | INFILE DATALINES; |
| 4 | INPUT make $ model $; |
| 5 | DATALINES; |
| 6 | Ford Mustang |
| 7 | Ford F-150 |
| 8 | Toyota Camry |
| 9 | Toyota RAV4 |
| 10 | Honda Civic |
| 11 | Honda CR-V |
| 12 | ; |
| 13 | RUN; |
| 14 | |
| 15 | DATA casuser.cars_table2; |
| 16 | LENGTH make $ 20 model $ 20; |
| 17 | INFILE DATALINES; |
| 18 | INPUT make $ model $; |
| 19 | DATALINES; |
| 20 | Ford Mustang |
| 21 | Ford Explorer |
| 22 | Toyota Camry |
| 23 | Toyota Highlander |
| 24 | Chevrolet Silverado |
| 25 | Honda Accord |
| 26 | ; |
| 27 | RUN; |
Cet exemple compare les enregistrements des tables `cars_table1` et `cars_table2` en se basant sur la colonne `make`. Il identifie les groupes (marques) qui sont uniques à chaque table.
| 1 | PROC CAS; |
| 2 | SIMPLE.compare / |
| 3 | TABLE={name='cars_table1', groupBy={'make'}}, |
| 4 | table2={name='cars_table2', groupBy={'make'}}, |
| 5 | casOut={name='unique_to_table1', replace=true}, |
| 6 | casOut2={name='unique_to_table2', replace=true}; |
| 7 | RUN; |
Cet exemple effectue une comparaison plus approfondie entre `cars_table1` et `cars_table2`. Il utilise le paramètre `freqOut` pour créer une table (`comparison_freq`) qui montre les différences de fréquence pour chaque marque entre les deux tables. Le paramètre `includeDuplicates` est utilisé pour s'assurer que la table de fréquence inclut tous les groupes, pas seulement ceux avec des fréquences différentes. De plus, `generatedColumns` est défini sur 'ALL' pour inclure toutes les colonnes d'analyse possibles dans les tables de sortie, telles que les ID de groupe et les fréquences cumulées.
| 1 | PROC CAS; |
| 2 | SIMPLE.compare / |
| 3 | TABLE={name='cars_table1', groupBy={'make'}}, |
| 4 | table2={name='cars_table2', groupBy={'make'}}, |
| 5 | freqOut={name='comparison_freq', replace=true}, |
| 6 | includeDuplicates={'FREQOUT'}, |
| 7 | generatedColumns={'ALL'}; |
| 8 | RUN; |