?>
L'action `alterTable` dans SAS Viya est un outil puissant pour la gestion des tables en mémoire. Elle permet de modifier les métadonnées d'une table CAS sans avoir à la recréer. Vous pouvez l'utiliser pour renommer la table elle-même, ajouter ou modifier son libellé, réorganiser, renommer, formater ou supprimer des colonnes, et même changer le type de certaines colonnes. C'est une action essentielle pour nettoyer et préparer les données directement sur le serveur CAS, optimisant ainsi les performances en évitant des transferts de données inutiles.
| Paramètre | Description |
|---|---|
| caslib | Spécifie la caslib où se trouve la table à modifier. Si omis, la caslib active de la session est utilisée. |
| name | Nom de la table en mémoire que vous souhaitez modifier. |
| rename | Spécifie le nouveau nom pour la table. |
| label | Assigne ou modifie le libellé de la table. |
| columns | Liste d'objets, chacun spécifiant les modifications à apporter à une colonne (renommer, changer de libellé, de format, de type ou supprimer). |
| drop | Liste de noms de colonnes à supprimer de la table. |
| keep | Liste de noms de colonnes à conserver, toutes les autres étant supprimées. |
| columnOrder | Spécifie le nouvel ordre des colonnes dans la table. |
| lifetime | Définit une durée de vie (en secondes) pour la table. La table sera supprimée de la mémoire si elle n'est pas accédée pendant cette durée. |
| tableRedistUpPolicy | Définit la politique de redistribution des données de la table si le nombre de nœuds de travail du serveur CAS augmente. |
Ce bloc de code SAS crée une table nommée 'CARS' dans la caslib de l'utilisateur (CASUSER). Cette table contient des informations sur différents modèles de voitures, incluant la marque, le modèle, le type, l'année et le prix. Elle servira de base pour les exemples suivants qui illustrent comment modifier ses propriétés avec l'action `alterTable`.
1 DATA casuser.cars; 2 LENGTH Make $ 12 Model $ 20 Type $ 8; 3 INFILE DATALINES delimiter=','; 4 INPUT Make Model Type Year MSRP; 5 DATALINES; 6 Toyota,Camry,Sedan,2023,26000 7 Ford,F-150,Truck,2024,45000 8 Honda,Civic,Sedan,2023,24000 9 Chevrolet,Tahoe,SUV,2024,60000 10 Nissan,Leaf,Electric,2023,35000 11 ; 12 RUN;
Cet exemple montre comment utiliser `alterTable` pour simplement changer le nom d'une table en mémoire de 'CARS' à 'AUTOMOBILES'.
| 1 | PROC CAS; |
| 2 | TABLE.alterTable / |
| 3 | caslib="casuser", |
| 4 | name="CARS", |
| 5 | rename="AUTOMOBILES"; |
| 6 | RUN; |
| 7 | QUIT; |
Cet exemple illustre comment supprimer la colonne 'Type' de la table 'CARS'.
| 1 | PROC CAS; |
| 2 | TABLE.alterTable / |
| 3 | caslib="casuser", |
| 4 | name="CARS", |
| 5 | drop={"Type"}; |
| 6 | RUN; |
| 7 | QUIT; |
Cet exemple détaillé montre comment enchaîner plusieurs modifications en un seul appel à `alterTable`. On renomme la table, on lui ajoute un libellé, on renomme la colonne 'MSRP' en 'Price' tout en lui appliquant un format monétaire et un nouveau libellé, et on supprime la colonne 'Year'.
| 1 | PROC CAS; |
| 2 | TABLE.alterTable / |
| 3 | caslib="casuser", |
| 4 | name="CARS", |
| 5 | rename="VEHICLE_SALES", |
| 6 | label="Données de vente de véhicules 2023-2024", |
| 7 | drop={"Year"}, |
| 8 | columns={{ |
| 9 | name="MSRP", |
| 10 | rename="Price", |
| 11 | label="Prix de Vente au Détail Suggéré", |
| 12 | FORMAT="DOLLAR12.2" |
| 13 | }}; |
| 14 | RUN; |
| 15 | QUIT; |
Cet exemple se concentre sur la modification des colonnes. Il change le libellé de 'Make', applique un format à 'Year', et surtout, définit un nouvel ordre pour les colonnes de la table 'CARS'.
| 1 | PROC CAS; |
| 2 | TABLE.alterTable / |
| 3 | caslib="casuser", |
| 4 | name="CARS", |
| 5 | columns={{ |
| 6 | name="Make", |
| 7 | label="Constructeur Automobile" |
| 8 | }, |
| 9 | { |
| 10 | name="Year", |
| 11 | FORMAT="4." |
| 12 | }}, |
| 13 | columnOrder={"Model", "Make", "Year", "Type", "MSRP"}; |
| 14 | RUN; |
| 15 | QUIT; |