table

append

Description

Ajoute les lignes d'une table source à la fin d'une table cible en mémoire. Cette action est particulièrement utile pour consolider des données provenant de différentes sources ou pour agréger des lots de données dans une table principale sans avoir à recréer entièrement la table.

table.append <result=results> <status=rc> / source={ caslib="string", dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>}, name="table-name", singlePass=TRUE | FALSE, where="where-expression" }, target={ caslib="string", name="table-name" };
Paramètres
ParamètreDescription
sourceSpécifie la table contenant les lignes à ajouter.
targetSpécifie la table en mémoire à laquelle les lignes de la table source seront ajoutées.
caslibSpécifie la caslib de la table. Si omis, la caslib active est utilisée.
dataSourceOptionsSpécifie les options de la source de données, utiles pour les types de fichiers qui ne sont pas au format natif SASHDAT.
nameSpécifie le nom de la table.
singlePassSi TRUE, la table source n'est pas chargée comme une table transitoire sur le serveur. Cela peut améliorer les performances pour les sources de données de base de données, mais l'ordre des données peut ne pas être stable entre les exécutions.
whereSpécifie une expression pour filtrer les lignes de la table source avant de les ajouter à la table cible.
Préparation des Données Voir la fiche de ce code dataprep
Création des tables pour l'exemple

Ce bloc de code crée deux tables en mémoire dans la caslib 'casuser'. La table 'my_table_target' est la table de destination initiale, et 'my_table_source' contient les nouvelles données à ajouter.

Copié !
1DATA casuser.my_table_target(promote=true);
2 id=1; value='A';
3 OUTPUT;
4 id=2; value='B';
5 OUTPUT;
6RUN;
7 
8DATA casuser.my_table_source(promote=true);
9 id=3; value='C';
10 OUTPUT;
11 id=4; value='D';
12 OUTPUT;
13RUN;

Exemples

Cet exemple montre comment ajouter toutes les lignes de la table 'my_table_source' à la fin de la table 'my_table_target'.

Code SAS® / CAS Validé
Copié !
1PROC CAS;
2 TABLE.append /
3 SOURCE={name='my_table_source', caslib='casuser'},
4 target={name='my_table_target', caslib='casuser'};
5RUN;
6QUIT;
Résultat :

L'opération réussit. La table 'my_table_target' contient maintenant 4 lignes : les 2 lignes originales plus les 2 lignes de 'my_table_source'.

Cet exemple illustre comment ajouter un sous-ensemble de données. Seules les lignes de 'my_table_source' où la colonne 'id' est égale à 4 sont ajoutées à 'my_table_target'.

Code SAS® / CAS Validé
Copié !
1PROC CAS;
2 TABLE.append /
3 SOURCE={name='my_table_source', caslib='casuser', where='id=4'},
4 target={name='my_table_target', caslib='casuser'};
5RUN;
6QUIT;
Résultat :

L'opération réussit. La table 'my_table_target' contient maintenant 3 lignes : les 2 lignes originales plus la ligne de 'my_table_source' qui satisfait la condition 'id=4'.

FAQ

Quel est l'objectif de l'action `append` dans SAS Viya?
Quelle est la principale exigence pour la table cible lors de l'utilisation de l'action `append`?
Quels sont les deux paramètres obligatoires pour l'action `append`?
Peut-on ajouter seulement une partie d'une table source à une table cible?
Que fait le paramètre `singlePass` lorsqu'il est défini sur Vrai (True)?
Quels sont les alias pour les paramètres `source` et `target`?

Scénarios associés

Cas d'usage
Consolidation des interactions d'une campagne marketing spécifique

Une équipe marketing souhaite enrichir sa table d'analyse centrale avec les interactions clients quotidiennes. Cependant, seules les interactions appartenant à la 'Campagne Hive...

Cas d'usage
Ingestion à haute performance de données de capteurs IoT avec 'singlePass'

Une usine de fabrication doit agréger de grands volumes de données provenant de capteurs de machines dans une table historique centrale. L'opération doit être la plus rapide pos...

Cas d'usage
Test de robustesse : la table source filtrée ne contient aucune ligne à ajouter

Un processus automatisé de détection de fraude tente chaque nuit d'ajouter les transactions jugées 'critiques' (score > 95) à une table de suivi pour investigation manuelle. Le ...