Scénario de test & Cas d'usage
Chargement, sauvegarde et gestion des tables en mémoire.
Découvrir toutes les actions de tableCrée une table cible 'investigations_fraude' et une table source 'transactions_nuit' qui ne contient que des transactions avec un score de fraude inférieur au seuil critique.
| 1 | DATA casuser.investigations_fraude(promote=true); |
| 2 | LENGTH id_transaction $15 score_fraude 8.; |
| 3 | id_transaction = 'TXN_FRAUDE_001'; score_fraude = 98.2; OUTPUT; |
| 4 | RUN; |
| 5 | |
| 6 | DATA casuser.transactions_nuit(promote=true); |
| 7 | LENGTH id_transaction $15 score_fraude 8.; |
| 8 | id_transaction = 'TXN_NUIT_5823'; score_fraude = 45.1; OUTPUT; |
| 9 | id_transaction = 'TXN_NUIT_5824'; score_fraude = 78.9; OUTPUT; |
| 10 | id_transaction = 'TXN_NUIT_5825'; score_fraude = 12.3; OUTPUT; |
| 11 | RUN; |
| 1 | PROC CAS; |
| 2 | TABLE.fetch / TABLE={caslib='casuser', name='investigations_fraude'}; |
| 3 | RUN; |
| 4 | QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.append / |
| 3 | SOURCE={name='transactions_nuit', caslib='casuser', where='score_fraude > 95'}, |
| 4 | target={name='investigations_fraude', caslib='casuser'}; |
| 5 | RUN; |
| 6 | QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.numRows / TABLE={caslib='casuser', name='investigations_fraude'}; |
| 3 | TABLE.fetch / TABLE={caslib='casuser', name='investigations_fraude'}; |
| 4 | RUN; |
| 5 | QUIT; |
L'action 'append' doit s'exécuter sans erreur, même si aucune ligne de la source ne correspond au critère du 'where'. La table 'investigations_fraude' doit conserver son état initial, avec exactement 1 ligne. Cela valide la robustesse du processus automatisé.