table

fetch

##set_table ##data_management

Description

L'action `table.fetch` est le couteau suisse pour visualiser vos données dans l'environnement SAS Viya. Elle permet de récupérer des lignes spécifiques d'une table ou d'une vue chargée en mémoireGemini said

Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
(CAS) .

Imaginez-la comme une commande 'SELECT *' sous stéroïdes : elle ne se contente pas de ramener des données, elle peut les trier, appliquer des formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. SAS permanents et même gérer des variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage. calculées à la volée. C'est l'outil indispensable quand vous voulez vérifier que vos données n'ont pas décidé de prendre des vacances imprévues avant de lancer une analyse complexe. Un petit conseil d'ami : par défaut, elle ne ramène que les 20 premières lignes, histoire de ne pas saturer votre écran (ou votre patience) !

Syntaxe Officielle
proc cas;
table.fetch /
table={name="nom_table", caslib="nom_caslib", where="expression"}
fetchVars={"var1", "var2"}
from=1
to=20
sortBy={{name="var1", order="DESCENDING"}}
format=true
index=true;
run;

Paramètres Clés

Nom du paramètre Description
table Indique la table cible (nom, caslib, filtres 'where', variables calculées). C'est le paramètre racine obligatoire.
fetchVars La liste des colonnes à ramener. Si vous l'oubliez, CAS ramènera tout, un peu comme un buffet à volonté.
from La position de la première ligne à retourner (par défaut 1). Pratique pour la pagination.
to La position de la dernière ligne. Par défaut, c'est 20. Ne soyez pas trop gourmand sur ce chiffre !
sortBy Définit l'ordre de tri des résultats. Vous pouvez trier sur les valeurs brutes ou formatées.
format Booléen. Si 'true', CAS applique les formats SAS associés aux colonnes pour que les dates et les monnaies soient lisibles par un humain normalement constitué.
index Ajoute une colonne 'Index' dans le résultat pour numéroter les lignes.
maxRows Nombre maximum de lignes par table de résultat. Utile si vous segmentez de gros volumes.

Préparation des données

Création d'une table de test 'Ventes'

Ce code crée une table simple dans la caslib 'casuser' pour illustrer l'action fetch.

1DATA casuser.ventes;
2 INPUT Produit $ Region $ Montant Date :date9.;
3 FORMAT Date ddmmyy10. Montant dollar12.2;
4 DATALINES;
5Auto Nord 5000 01JAN2024
6Moto Sud 3000 15FEB2024
7Velo Est 1200 10MAR2024
8Auto Ouest 4500 20APR2024
9Moto Nord 3200 05MAY2024
10;
11RUN;

Exemples d'utilisation

Récupération standard (Top 20)

Récupère les 20 premières lignes par défaut avec toutes les colonnes.

1PROC CAS; TABLE.fetch / TABLE={name="ventes", caslib="casuser"}; RUN;
Résultat Attendu :
Un tableau affichant les lignes de la table 'ventes' avec une colonne Index.
Filtrage et sélection de colonnes

Affiche uniquement le Produit et le Montant pour la région 'Nord'.

1PROC CAS; TABLE.fetch / TABLE={name="ventes", where="Region='Nord'"} fetchVars={"Produit", "Montant"}; RUN;
Résultat Attendu :
Seules les colonnes demandées pour les lignes filtrées apparaissent.
Tri complexe et formatage

Récupère les lignes 2 à 4, triées par Montant décroissant, en appliquant les formats SAS.

1PROC CAS; TABLE.fetch / TABLE={name="ventes"} from=2 to=4 sortBy={{name="Montant", order="DESCENDING"}} FORMAT=true; RUN;
Résultat Attendu :
Les données sont formatées (ex: $5,000.00) et l'ordre respecte le montant.
Utilisation de variables calculées à la volée

Ajoute une colonne de taxe (20%) calculée directement lors de la récupération sans modifier la table physique.

1PROC CAS; TABLE.fetch / TABLE={name="ventes", computedVars={{name="Taxe"}}, computedVarsProgram="Taxe = Montant * 0.20;"} FORMAT=true; RUN;
Résultat Attendu :
Le résultat contient la colonne calculée 'Taxe' en plus des colonnes d'origine.