table

alterTable

##set_table ##data_management

Description

L'action alterTable est le couteau suisse par excellence pour le relooking de vos tables en mémoire CAS. Elle permet de renommer des tables, modifier leurs labels, ajuster le format des colonnes ou même faire un petit ménage de printemps en supprimant celles qui ne servent à rien. Le tout s'effectue 'in-place', ce qui évite de recharger ou de dupliquer la donnée ! Pour plus d'exemples de manipulation , consultez la documentation détaillée.

Syntaxe Officielle
proc cas;
table.alterTable /
caslib="string"
columnOrder={"variable-name-1", "variable-name-2"}
columns={
{name="variable-name-1", drop=true, format="string", label="string", newType="VARCHAR", rename="string"}
}
drop={"variable-name-1"}
keep={"variable-name-1"}
label="string"
lifetime=64-bit-integer
name="table-name"
rename="string"
tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE"
;
run;

Paramètres Clés

Nom du paramètre Description
caslib Spécifie la caslib de la table en entrée. Par défaut, c'est la caslib active.
columnOrder Définit l'ordre d'affichage des colonnes dans les métadonnées de la table (Alias: order).
columns Liste contenant les modifications ciblées pour des colonnes spécifiques (suppression, format, label, renommage, ou changement de type).
drop Liste globale des colonnes à supprimer définitivement de la table.
keep Liste globale des colonnes à conserver (toutes les autres non spécifiées passeront à la trappe).
label Spécifie un tout nouveau label pour votre table.
lifetime Temps (en secondes) pendant lequel la table est gardée en mémoire après son dernier accès (Time-To-Live).
name Le nom de la table à modifier. C'est le seul paramètre obligatoire, logique !
rename Le nouveau nom que vous souhaitez donner à votre table.
tableRedistUpPolicy Stratégie de redistribution de la table lors de l'ajout de nouveaux pods sur le serveur CAS (DEFER, NOREDIST, REBALANCE).

Préparation des données

Création d'une table de test

Nous allons créer une table CAS factice pour jouer avec nos options de renommage et de nettoyage.

1PROC CAS;
2 datastep.runCode / code="data casuser.voitures_test; Make='Toyota'; Model='Corolla'; MSRP=20000; Weight=2500; run;";
3RUN;

Exemples d'utilisation

Renommer une table et lui donner un label

Un petit coup de pinceau pour changer le nom et la description globale de notre table.

1PROC CAS;
2 TABLE.alterTable /
3 name="voitures_test"
4 caslib="casuser"
5 rename="belles_voitures"
6 label="Table des véhicules avec un nouveau nom stylé";
7RUN;
Résultat Attendu :
La table s'appelle désormais 'belles_voitures' dans la caslib 'casuser' et possède un nouveau label descriptif.
Modification lourde des colonnes

On réordonne les colonnes, on supprime le poids et on modifie le format et le label du prix de vente. Une vraie révision technique !

1PROC CAS;
2 TABLE.alterTable /
3 name="belles_voitures"
4 caslib="casuser"
5 columns={
6 {name="MSRP", FORMAT="DOLLAR12.2", label="Prix de vente conseillé", rename="Prix"},
7 {name="Weight", drop=true}
8 }
9 columnOrder={"Make", "Model", "Prix"};
10RUN;
Résultat Attendu :
La table est modifiée directement en mémoire : la colonne 'MSRP' devient 'Prix' avec un joli format monétaire, la colonne 'Weight' est purgée, et l'ordre des variables est forcé sur Make, Model puis Prix.